May 10, 2012

sp_MSdrop_anonymous_entry (Transact-SQL MetaData) Definition

Please note: that the following source code is provided and copyrighted by Microsoft and is for educational purpose only.
The meta data is from an SQL 2012 Server.

I have posted alot more, find the whole list here.

Goto Definition or MetaData

Definition:

sys.sp_MSdrop_anonymous_entry(uniqueidentifier @subid
, nvarchar @login
, int @type)

MetaData:

 CREATE PROCEDURE sys.sp_MSdrop_anonymous_entry  
(
@subid uniqueidentifier,
@login sysname,
@type int -- 1 tran sub, 2 merge sub
)
as
begin
declare @sid varbinary(85)
declare @agent_id int, @retcode int
set nocount on
--
-- security check
-- only db_owner can execute this
--
if (is_member ('db_owner') != 1)
begin
raiserror(14260, 16, -1)
return (1)
end
if @type not in (1,2)
begin
raiserror(20587, 16, -1, '@type', 'sp_MSdrop_anonymous_entry')
return (1)
end
-- If tran
if @type = 1
begin
select @sid = sid from MSdistribution_agents where
anonymous_subid = @subid
end
else
begin
select @sid = sid from dbo.MSmerge_agents where
anonymous_subid = @subid
end
if @sid is null
begin
RAISERROR (14055, 11, -1)
return(1)
end
-- null login means no security check needed
if @login is not null and suser_sid(@login, 0) <> @sid
begin
set @login = suser_sname(@sid)
RAISERROR (20596, 11, -1, @login)
RETURN (1)
end

if @type = 1
begin
select @agent_id = id from MSdistribution_agents where anonymous_subid = @subid
if @agent_id is not null
begin
exec @retcode = sys.sp_MSdrop_distribution_agentid @agent_id
if @retcode <> 0 or @@error <> 0
return 1
end
end
else
begin
select @agent_id = id from dbo.MSmerge_agents where anonymous_subid = @subid
if @agent_id is not null
begin
exec @retcode = sys.sp_MSdrop_merge_agentid @agent_id
if @retcode <> 0 or @@error <> 0
return 1
end
end
end

No comments:

Post a Comment

Total Pageviews