create procedure sys.sp_MSreplcheck_permission(
@objid int,
@type int,
@permissions int)
AS
declare @tablename sysname
declare @ownername sysname
select @ownername=SCHEMA_NAME(schema_id) from sys.objects where object_id=@objid
select @tablename=object_name(@objid)
-- bypass this checking for dbo or member of db_owner.
if is_srvrolemember('sysadmin') = 1 or is_member ('db_owner') = 1
return (0)
if @permissions=0
return (0)
--insert
if @type=1 and @permissions & 1 = 1 and permissions(@objid) & 0x8=0
return (1)
--update
if @type=2 and @permissions & 2 = 2 and permissions(@objid) & 0x2=0
return (1)
--delete
if @type=3 and @permissions & 4 = 4 and permissions(@objid) & 0x10=0
return (1)
return (0)