sp_removedbreplication (Transact-SQL)
このストアド プロシージャにより、SQL Server のパブリッシャー インスタンス側のパブリケーション データベース、または SQL Server のサブスクライバー インスタンス側のサブスクリプション データベースから、すべてのレプリケーション オブジェクトが削除されます。適切なデータベースで実行するか、または同じインスタンスにある別のデータベースのコンテキストで実行する場合は、レプリケーション オブジェクトを削除するデータベースを指定します。このプロシージャでは、ディストリビューション データベースなどその他のデータベースからオブジェクトが削除されることはありません。
注意
このプロシージャは、他の方法でレプリケーション オブジェクトを削除できなかった場合にのみ使用してください。
構文
sp_removedbreplication [ [ @dbname = ] 'dbname' ]
[ , [ @type = ] type ]
引数
[ @dbname=] 'dbname'
データベースの名前です。dbname のデータ型は sysname で、既定値は NULL です。NULL の場合は、現在のデータベースが使用されます。[ @type = ] type
データベース オブジェクトを削除するレプリケーションの種類を指定します。type のデータ型は nvarchar(5) で、次のいずれかの値を指定できます。tran
トランザクション レプリケーション パブリッシング オブジェクトを削除。
merge
マージ レプリケーション パブリッシング オブジェクトを削除。
both (既定値)
すべてのレプリケーション パブリッシング オブジェクトを削除。
リターン コードの値
0 (成功) または 1 (失敗)
解説
sp_removedbreplication は、すべての種類のレプリケーションで使用できます。
sp_removedbreplication は、レプリケートされたデータベースを復元するとき、復元が必要なレプリケーション オブジェクトがない場合に利用できます。
sp_removedbreplication は、読み取り専用とマークされているデータベースには使用できません。
権限
sp_removedbreplication を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。
例
次の例では、レプリケーション オブジェクトを削除します。
-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorksReplica'
-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO