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_MSdeletepeerconflictrow(nvarchar @originator_id, nvarchar @origin_datasource
, nvarchar @tran_id
, nvarchar @row_id
, nvarchar @conflict_table)
MetaData:
create procedure sys.sp_MSdeletepeerconflictrow ( @originator_id nvarchar(32) = '%' ,-- int @origin_datasource nvarchar(255) = '%', -- int @tran_id nvarchar(40) = '%', -- varbinary(16) @row_id nvarchar(19) = '%', -- timestamp @conflict_table nvarchar(270) ) as begin set nocount on declare @retcode int ,@cmd nvarchar(4000) ,@startoffset int ,@table sysname ,@schema sysname ,@whcmd nvarchar(4000) = N'(__$row_id is not null) ' -- -- Security check. restrict to 'sysadmin' and member of db_owner role -- exec @retcode = sys.sp_MSreplcheck_publish if @@ERROR <> 0 or @retcode <> 0 return (1) if (@conflict_table is NULL) begin raiserror(14043, 16, 1, '@conflict_table', 'sp_MSdeletepeerconflictrow') return (1) end -- -- check if the conflict table is owner qualified -- and build the delete string as necessary -- select @table = PARSENAME(@conflict_table, 1), @schema = PARSENAME(@conflict_table, 2) begin tran save tran tr_deletepeerconflictrow if (@row_id != N'%') -- delete the corresponding winner or loser record begin select @cmd = N'delete ' + ISNULL(NULLIF(QUOTENAME(@schema) + N'.', N'.'), N'') + QUOTENAME(@table) + N' where __$row_id in ( select __$row_id from ' + ISNULL(NULLIF(QUOTENAME(@schema) + N'.', N'.'), N'') + QUOTENAME(@table) + N' where __$change_id = ' + @row_id + N' union select __$change_id from ' + ISNULL(NULLIF(QUOTENAME(@schema) + N'.', N'.'), N'') + QUOTENAME(@table) + N' where __$row_id = ' + @row_id + N' and __$change_id is not null)' execute (@cmd) if @@error <> 0 goto UNDO end select @cmd = 'delete ' + ISNULL(NULLIF(QUOTENAME(@schema) + N'.', N'.'), N'') + QUOTENAME(@table) if (@originator_id != N'%') begin select @whcmd = @whcmd + N' and __$originator_id = ' + QUOTENAME(@originator_id, '''') end if (@origin_datasource != N'%') begin select @whcmd = @whcmd + N' and __$origin_datasource = ' + QUOTENAME(@origin_datasource, '''') end if (@tran_id != N'%') begin select @whcmd = @whcmd + N' and __$tranid = ' + QUOTENAME(@tran_id, '''') end if (@row_id != N'%') begin select @whcmd = @whcmd + N' and __$row_id = ' + @row_id -- delete the specified record: either loser or winner end select @cmd = @cmd + N' where ' + @whcmd execute (@cmd) if @@error <> 0 goto UNDO commit tran return (0) UNDO: rollback tran tr_deletepeerconflictrow commit tran raiserror(21542, 16, 1, @@error, 'sp_MSdeletepeerconflictrow') return (1) end
No comments:
Post a Comment