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_MSset_sub_guid(nvarchar @publisher, nvarchar @publisher_db
, nvarchar @publication
, int @subscription_type
, binary @subscription_guid
, nvarchar @queue_id
, nvarchar @queue_server)
MetaData:
create procedure sys.sp_MSset_sub_guid ( @publisher sysname, -- publishing server name @publisher_db sysname, -- publishing database name. If NULL then same as current db @publication sysname, -- publication name, @subscription_type int, @subscription_guid binary(16), @queue_id sysname, @queue_server sysname = NULL ) AS BEGIN set nocount on declare @retcode int ,@independent_agent bit ,@subqueue_id sysname -- Security Check EXEC @retcode = sys.sp_MSreplcheck_subscribe IF @@ERROR <> 0 or @retcode <> 0 RETURN(1) -- For non independent agent publications if @publication is null or @publication = '' begin select @publication = 'ALL' ,@independent_agent = 0 end else select @independent_agent = 1 if @queue_id = N'' select @queue_id = NULL if @queue_server = N'' select @queue_server = NULL -- -- Special processing when we are dealing with pull SQL queue updating subscription -- if ((@subscription_type = 1) and substring(@queue_id, 1, 10) = N'mssqlqueue') begin -- -- For SQL Queue case - Check the current queue_id on the table -- select @subqueue_id = queue_id from dbo.MSsubscription_agents where UPPER(publisher) = UPPER(@publisher) and publisher_db = @publisher_db and publication = @publication and subscription_type = @subscription_type if (@subqueue_id is not NULL and substring(@subqueue_id, 1, 10) = N'mssqlqueue') begin -- -- Use the local Queue ID on subscriber as this contains the queue version. -- We are attaching an initialized subscription and do not want to change the -- queue version stored in queue_id for SQL Queues. The value passed by Distribution -- Agent is from the distributor metadata and does not contain the queue version information. -- This is specific to SQL Queues only. -- select @queue_id = @subqueue_id end end -- -- Update metadata in MSsubscription_agents -- update MSsubscription_agents set queue_id = @queue_id ,queue_server = @queue_server where UPPER(publisher) = UPPER(@publisher) and publisher_db = @publisher_db and publication = @publication and subscription_type = @subscription_type update MSreplication_subscriptions set [time] = getdate(), subscription_guid = @subscription_guid where UPPER(publisher) = UPPER(@publisher) and publisher_db = @publisher_db and (@independent_agent = 0 or publication = @publication) and subscription_type = @subscription_type and independent_agent = @independent_agent END
No comments:
Post a Comment