sp_removedbreplication (Transact-SQL)

適用対象: SQL ServerAzure SQL Managed Instance

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

Note

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

Transact-SQL 構文表記規則

構文

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

引数

[ @dbname = ] 'dbname' データベースの名前を指定します。 dbname のデータ型は sysnameで、既定値は NULL です。 NULL の場合は、現在のデータベースが使用されます。

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

Value 説明
トラン トランザクション レプリケーション パブリッシング オブジェクトを削除。
merge マージ レプリケーション パブリッシング オブジェクトを削除。
両方 (既定値) すべてのレプリケーション パブリッシング オブジェクトを削除。

リターン コードの値

0 (成功) または 1 (失敗)

解説

sp_removedbreplicationは、すべての種類のレプリケーションで使用されます。

sp_removedbreplicationは、レプリケーション オブジェクトを復元する必要がないレプリケートされたデータベースを復元する場合に便利です。

sp_removedbreplicationは、読み取り専用としてマークされているデータベースに対して使用することはできません。

アクセス許可

sp_removedbreplicationを実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。

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  
  

参照

パブリッシングおよびディストリビューションの無効化
システム ストアド プロシージャ (Transact-SQL)