sp_removedbreplication (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

このストアド プロシージャは、SQL Server のパブリッシャー インスタンス上のパブリケーション データベース、または SQL Server のサブスクライバー インスタンス上のサブスクリプション データベース上のすべてのレプリケーション オブジェクトを削除します。 適切なデータベースで sp_removedbreplication 実行するか、実行が同じインスタンス上の別のデータベースのコンテキストにある場合は、レプリケーション オブジェクトを削除するデータベースを指定します。 この手順では、ディストリビューション データベースなどの他のデータベースからオブジェクトを削除しません。

この手順は、レプリケーション オブジェクトを削除する他の方法が失敗した場合にのみ使用してください。

Transact-SQL 構文表記規則

構文

sp_removedbreplication
    [ [ @dbname = ] N'dbname' ]
    [ , [ @type = ] N'type' ]
[ ; ]

引数

[ @dbname = ] N'dbname'

データベースの名前。 @dbnamesysname で、既定値は NULL です。 NULLすると、現在のデータベースが使用されます。

[ @type = ] N'type'

データベース オブジェクトを削除するレプリケーションの種類。 @typenvarchar(5)であり、次のいずれかの値を指定できます。

Value 説明
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