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