sp_dropsubscription (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
パブリッシャー上の特定のアーティクル、パブリケーション、またはサブスクリプションの集合へのサブスクリプションを削除します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
sp_dropsubscription
[ [ @publication = ] N'publication' ]
[ , [ @article = ] N'article' ]
, [ @subscriber = ] N'subscriber'
[ , [ @destination_db = ] N'destination_db' ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] N'reserved' ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
引数
[ @publication = ] N'publication'
関連付けられているパブリケーションの名前。 @publication は sysname で、既定値は NULL
です。 all
場合、指定したサブスクライバーのすべてのパブリケーションのすべてのサブスクリプションが取り消されます。 publication は必須のパラメーターです。
[ @article = ] N'article'
アーティクルの名前。 @article は sysname で、既定値は NULL
です。 all
場合、指定されたパブリケーションとサブスクライバーごとにすべてのアーティクルのサブスクリプションが削除されます。 即時更新が可能なパブリケーションには、 all
を使用します。
[ @subscriber = ] N'subscriber'
サブスクリプションが削除されるサブスクライバーの名前。 @subscriber は sysname で、既定値はありません。 all
場合、すべてのサブスクライバーのすべてのサブスクリプションが削除されます。
[ @destination_db = ] N'destination_db'
転送先データベースの名前。 @destination_db は sysname で、既定値は NULL
です。 NULL
場合、そのサブスクライバーのすべてのサブスクリプションが削除されます。
[ @ignore_distributor = ] ignore_distributor
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
[ @reserved = ] N'reserved'
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
[ @publisher = ] N'publisher'
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_dropsubscription
は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。
即時同期パブリケーション内のアーティクルのサブスクリプションを削除した場合、パブリケーション内のすべてのアーティクルのサブスクリプションを削除して一度にすべて追加し直さない限り、サブスクリプションを追加し直すことはできません。
例
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
-- This batch is executed at the Publisher to remove
-- a pull or push subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);
USE [AdventureWorks2022]
EXEC sp_dropsubscription
@publication = @publication,
@article = N'all',
@subscriber = @subscriber;
GO
アクセス許可
sysadmin固定サーバー ロール、db_owner固定データベース ロール、またはサブスクリプションを作成したユーザーのメンバーのみが、sp_dropsubscription
実行できます。