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_MScreate_logical_record_views(uniqueidentifier @pubid)MetaData:
create procedure sys.sp_MScreate_logical_record_views(@pubid uniqueidentifier) AS declare @publication sysname, @artid uniqueidentifier, @art_nick int, @art_index int, @article_level int, @progress int, @retcode int declare @articles table (indexcol int identity NOT NULL, art_nick int NOT NULL, article_level int NOT NULL) -- Security check -- This proc can be called by both publisher and subscriber. -- On publisher side, it is called by sp_MSpublicationview. -- On subscriber side, it is called by the agent and by DDL trigger (sp_MSResetTriggerProcs) -- Necessary rights for sp_MSpublicationview is db_owner; necessary rights on subscriber -- is db_owner as well. Thus, we now also test for db_owner. if 1 <> is_member ('db_owner') begin raiserror(15247,-1,-1) return 1 end select @publication = name from dbo.sysmergepublications where pubid = @pubid if @publication is null begin return (1) end if not exists (select * from dbo.sysmergesubsetfilters where (filter_type & 2) = 2 and pubid = @pubid) begin if not exists (select * from dbo.sysmergesubsetfilters where (filter_type & 2) = 2) begin IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'nc6MSmerge_contents' AND object_id = OBJECT_ID('MSmerge_contents')) drop index dbo.MSmerge_contents.nc6MSmerge_contents IF EXISTS (SELECT * FROM sys.indexes WHERE name = 'nc3MSmerge_tombstone' AND object_id = OBJECT_ID('MSmerge_tombstone')) drop index dbo.MSmerge_tombstone.nc3MSmerge_tombstone end return 0 end IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'nc6MSmerge_contents' AND object_id = OBJECT_ID('MSmerge_contents')) create index nc6MSmerge_contents on dbo.MSmerge_contents(logical_record_parent_rowguid) IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'nc3MSmerge_tombstone' AND object_id = OBJECT_ID('MSmerge_tombstone')) create index nc3MSmerge_tombstone on dbo.MSmerge_tombstone(logical_record_parent_rowguid) exec @retcode = sys.sp_MSdetermine_logical_record_parents @pubid if @@ERROR <>0 OR @retcode <>0 return (1) set @progress = 1 set @article_level = 0 while @progress > 0 BEGIN -- -- Select articles that have either a boolean_filter or at least one join filter -- into a temp table in an optimized order. -- -- This inserts into @articles the article levels of all articles. insert into @articles(art_nick, article_level) select nickname, @article_level from dbo.sysmergearticles where pubid=@pubid and nickname not in (select art_nick from @articles) and nickname not in (select art_nickname from dbo.sysmergesubsetfilters where pubid=@pubid and join_nickname not in (select art_nick from @articles)) set @progress = @@rowcount select @article_level = @article_level + 1 END set @art_index = 0 select @art_index = min(indexcol) from @articles where indexcol > @art_index while (@art_index is not null) begin select @art_nick=art_nick, @article_level = article_level from @articles where indexcol = @art_index if exists (select * from dbo.sysmergesubsetfilters where (filter_type & 2) = 2 and (join_nickname = @art_nick or art_nickname = @art_nick)) begin exec @retcode = sys.sp_MScreate_article_logical_record_views @art_nick if @retcode <> 0 or @@error <> 0 return 1 end select @art_index = min(indexcol) from @articles where indexcol > @art_index end return (0)
No comments:
Post a Comment