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_helpmergearticleconflicts(nvarchar @publication, nvarchar @publisher
, nvarchar @publisher_db)
MetaData:
create procedure sys.sp_helpmergearticleconflicts(
@publication sysname = '%',
@publisher sysname = NULL,
@publisher_db sysname = NULL
)
as
set nocount on
declare @pubid uniqueidentifier
declare @cmd nvarchar(4000)
declare @retcode int
declare @nickname int
declare @retcode2 int
declare @name sysname
declare @source_owner sysname
declare @source_object sysname
declare @conflict_table sysname
declare @guidcolname sysname
declare @centralized_conflicts int
declare @objid int
declare @command nvarchar(2000)
-- Security check: dbo and sysadmin only
select @retcode = 0
exec @retcode = sys.sp_MSreplcheck_publish
if @@error <> 0 or @retcode <> 0
begin
return 1
end
if @publisher IS NULL
select @publisher = publishingservername()
if @publisher_db IS NULL
select @publisher_db = db_name()
if @publication <> '%'
begin
--
-- Parameter Check: @publication.
-- Make sure that the publication exists.
--
select @pubid = pubid from dbo.sysmergepublications
where name = @publication and
LOWER(publisher) = LOWER(@publisher) and
publisher_db = @publisher_db
if @pubid IS NULL
BEGIN
RAISERROR (20026, 16, -1, @publication)
RETURN (1)
END
end
create table #temp_conflict(article sysname collate database_default,
source_owner sysname collate database_default,
source_object sysname collate database_default,
conflict_table sysname collate database_default,
guidcolname sysname collate database_default,
centralized_conflicts int)
declare #cur_conflict cursor local for
select name, objid, conflict_table, pubid, nickname from dbo.sysmergearticles
where conflict_table is not NULL and pubid in (select pubid from dbo.sysmergepublications where name like @publication)
for read only
open #cur_conflict
fetch #cur_conflict into @name, @objid, @conflict_table, @pubid, @nickname
while (@@fetch_status <> -1)
begin
select @source_owner = SCHEMA_NAME(schema_id) from sys.objects where object_id = @objid
select @source_object = object_name (@objid)
select @guidcolname = name from sys.columns where object_id = @objid and is_rowguidcol = 1
select @centralized_conflicts = centralized_conflicts from dbo.sysmergepublications where pubid = @pubid
select @command = 'if exists (select * from ' + QUOTENAME(@conflict_table) + ') select @retcode2 = 1
else select @retcode2 = 0'
EXEC @retcode = sys.sp_executesql @command, N'@retcode2 int output', @retcode2 output
if @retcode <>0
return (1)
if @retcode2 = 1
begin
insert into #temp_conflict
values (@name, @source_owner, @source_object, @conflict_table, @guidcolname, @centralized_conflicts)
end
-- return delete conflicts to be compatible with old conflict structure
if EXISTS (select * from MSmerge_conflicts_info where tablenick = @nickname and conflict_type in (4,7,8,12))
begin
insert into #temp_conflict
values (@name, @source_owner, @source_object, 'MSmerge_conflicts_info', @guidcolname, @centralized_conflicts)
end
fetch #cur_conflict into @name, @objid, @conflict_table, @pubid, @nickname
end
select * from #temp_conflict order by article, conflict_table
drop table #temp_conflict
close #cur_conflict
deallocate #cur_conflict
return(0)
No comments:
Post a Comment