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