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_MSfixupbeforeimagetables(uniqueidentifier @pubid)MetaData:
create procedure sys.sp_MSfixupbeforeimagetables(@pubid uniqueidentifier) AS begin -- This procedure updates the generations in the existing rows in the before-image -- tables of all articles in the specified publication to the current gen_cur value for -- the respective article. -- This is done after the subscription has been reinitialized (at a republisher). The reason -- is that the genhistory rows at the subscriber no longer correspond to the values before -- the reinit. They are simply bcp-ed in from the bcp generated at the publisher. -- Setting the existing before image rows to gen_cur has the effect of avoiding the retention- -- based cleanup of these rows based on invalid coldate values (since they are in context of -- the publisher). The cleanup thus gets delayed to when the current gen_cur value expires retention. declare @before_image_tablename sysname, @gencur bigint, @gencur_str nvarchar(30), @cmd nvarchar(1000) declare @tablenick int if @pubid is null return 0 if ({ fn ISPALUSER(@pubid) } <> 1) begin RAISERROR (14126, 11, -1) return (1) end declare beforeimagetables_cursor CURSOR LOCAL FAST_FORWARD for select distinct object_name(before_image_objid), nickname from dbo.sysmergearticles where artid in (select artid from dbo.sysmergearticles where pubid = @pubid) and before_image_objid is not null FOR READ ONLY open beforeimagetables_cursor fetch next from beforeimagetables_cursor into @before_image_tablename, @tablenick while (@@fetch_status <> -1) begin begin transaction exec sys.sp_MSmerge_getgencur @tablenick, 0, @gencur output if @before_image_tablename is not null begin select @gencur_str = convert(nvarchar, @gencur) select @cmd = 'update ' + quotename(@before_image_tablename) + ' set generation = ' + @gencur_str exec (@cmd) end commit transaction fetch next from beforeimagetables_cursor into @before_image_tablename, @tablenick end close beforeimagetables_cursor deallocate beforeimagetables_cursor return 0 end
No comments:
Post a Comment