SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Repl_DropArticlePeer]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Repl_DropArticlePeer]
GO
/*对等复制删除Article
EXEC LS_DropArticlePeer 'testrepl'
*/
CREATE PROCEDURE Repl_DropArticlePeer
@article AS sysname
AS
BEGIN
IF ISNULL(@article,'') = ''
BEGIN
RETURN
END
DECLARE @publication AS sysname;
SET @publication =DB_NAME();
--SET @article = N'testRepl'
--删除对应订阅
IF @@SERVERNAME = 'DataBaseC' --在哪台机器上运行,就不删除自己
BEGIN
--exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'databasec'
exec sp_dropsubscription @publication =@publication, @article =@article, @subscriber = 'DataBaseD'
exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'sqlcluster'
END
ELSE IF @@SERVERNAME = 'DataBaseD'
BEGIN
exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'databasec'
--exec sp_dropsubscription @publication =@publication, @article =@article, @subscriber = 'DataBaseD'
exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'sqlcluster'
END
ELSE IF @@SERVERNAME = 'SQLCLUSTER'
BEGIN
exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'databasec'
exec sp_dropsubscription @publication =@publication, @article =@article, @subscriber = 'DataBaseD'
--exec sp_dropsubscription @publication = @publication, @article = @article, @subscriber = 'sqlcluster'
END
EXEC sp_droparticle
@publication = @publication,
@article = @article,
@force_invalidate_snapshot = 1;
END
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。