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_deletemergeconflictrow(nvarchar @conflict_table, nvarchar @source_object
, uniqueidentifier @rowguid
, varchar @origin_datasource
, varchar @drop_table_if_empty)
MetaData:
create procedure sys.sp_deletemergeconflictrow( @conflict_table sysname = '%', @source_object nvarchar(386) = NULL, @rowguid uniqueidentifier, @origin_datasource varchar(255), @drop_table_if_empty varchar(10) = 'false') as declare @retcode int declare @cmd nvarchar(4000) declare @rowguidstr nvarchar(40) declare @object sysname declare @owner sysname declare @tablenick int declare @tablenickstr nvarchar(11) declare @escaped_origin_datasource varchar(511) -- Security check: dbo and sysadmin only exec @retcode = sys.sp_MSreplcheck_publish if @@error <> 0 or @retcode <> 0 begin return 1 end set @rowguidstr = convert(nchar(36), @rowguid) set @escaped_origin_datasource = replace(@origin_datasource, '''', '''''') -- Delete conflict from Conflict_<Table> -- if @conflict_table <> '%' begin select @cmd = 'delete ' select @cmd = @cmd + quotename(@conflict_table) select @cmd = @cmd + ' from ' + quotename(@conflict_table) + ' ct , MSmerge_conflicts_info info ' select @cmd = @cmd + ' where info.origin_datasource = ''' select @cmd = @cmd + @escaped_origin_datasource select @cmd = @cmd + ''' and ct.rowguidcol = ''' select @cmd = @cmd + @rowguidstr select @cmd = @cmd + ''' and info.rowguidcol = ''' select @cmd = @cmd + @rowguidstr select @cmd = @cmd + 'ct.origin_datasource_id=info.origin_datasource_id ' select @cmd = @cmd + '''' exec (@cmd) if @@ERROR<>0 return (1) select @cmd = 'delete from MSmerge_conflicts_info where origin_datasource = ''' + @escaped_origin_datasource + ''' and rowguid = ''' + @rowguidstr + '''' exec (@cmd) if @@ERROR<>0 return (1) if LOWER(@drop_table_if_empty collate SQL_Latin1_General_CP1_CS_AS) = 'true' begin select @cmd = 'if not exists (select 1 from ' select @cmd = @cmd + quotename(@conflict_table) select @cmd = @cmd + ')' select @cmd = @cmd + ' update dbo.sysmergearticles set ins_conflict_proc = NULL, conflict_table = NULL where conflict_table = ''' + quotename(@conflict_table) + '''' exec (@cmd) if @@ERROR<>0 return (1) select @cmd = 'if not exists (select 1 from ' select @cmd = @cmd + quotename(@conflict_table) select @cmd = @cmd + ')' select @cmd = @cmd + ' drop table ' select @cmd = @cmd + quotename(@conflict_table) select @cmd = @cmd + '' exec (@cmd) if @@ERROR<>0 return (1) end end -- Delete conflict from MSmerge_conflicts_info -- else begin if @source_object is NULL begin raiserror(14043, 16, -1, '@source_object', 'sp_deletemergeconflictrow') return (1) end select @object = PARSENAME(@source_object, 1) select @owner = PARSENAME(@source_object, 2) execute @retcode=sys.sp_MStablenickname @owner, @object, @tablenick output if @tablenick IS NULL or @@ERROR<>0 or @retcode<>0 BEGIN raiserror (20003, 11, -1, @object) RETURN (1) END set @tablenickstr = convert(nchar, @tablenick) select @cmd = 'delete from MSmerge_conflicts_info' select @cmd = @cmd + ' where origin_datasource = ''' select @cmd = @cmd + @escaped_origin_datasource select @cmd = @cmd + ''' and tablenick = ' select @cmd = @cmd + @tablenickstr select @cmd = @cmd + ' and rowguid = ''' select @cmd = @cmd + @rowguidstr select @cmd = @cmd + '''' exec (@cmd) if @@ERROR<>0 return (1) end
No comments:
Post a Comment