June 13, 2012

sp_validatemergepublication (Transact-SQL MetaData) Definition

Please note: that the following source code is provided and copyrighted by Microsoft and is for educational purpose only.
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_validatemergepublication(nvarchar @publication
, tinyint @level)

MetaData:

   
create procedure sys.sp_validatemergepublication
(@publication sysname,
@level tinyint
) AS

set nocount on
declare @artid uniqueidentifier
declare @schematype int
declare @schemaversion int
declare @schemaguid uniqueidentifier
declare @schematext nvarchar
declare @retcode int
declare @pubid uniqueidentifier
declare @compatlevel int

--
-- Security Check
--
EXEC @retcode = sys.sp_MSreplcheck_publish
IF @@ERROR <> 0 or @retcode <> 0
return (1)

-- make sure current database is enabled for merge replication --
exec @retcode=sys.sp_MSCheckmergereplication
if @@ERROR<>0 or @retcode<>0
return (1)

select @pubid = pubid, @compatlevel = backward_comp_level from dbo.sysmergepublications where name = @publication and UPPER(publisher)=UPPER(publishingservername()) and publisher_db=db_name()
if @pubid is NULL
begin
raiserror (20026, 16, -1, @publication)
return (1)
end
if @level <1 or @level > 3
begin
raiserror(21184, 16, -1, '@level', '1', '2','3')
return (1)
end

if @compatlevel < 30
begin
raiserror(21356, 10, -1, @publication)
exec @retcode=sys.sp_MSBumpupCompLevel @pubid, 30
if @@ERROR<>0 or @retcode<>0
return (1)
end

select @schemaversion = schemaversion from dbo.sysmergeschemachange
if (@schemaversion is NULL)
set @schemaversion = 1
else
select @schemaversion = 1 + max(schemaversion) from dbo.sysmergeschemachange
set @schemaguid = newid()
set @artid = newid()
set @schematype = 66 -- publication wide validation --
select @schematext = convert(nvarchar, @level)
exec @retcode=sys.sp_MSinsertschemachange @pubid, @artid, @schemaversion, @schemaguid, @schematype, @schematext
if @@ERROR<>0 or @retcode<>0
return (1)
return (0)

No comments:

Post a Comment

Total Pageviews