sp_removedbreplication (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL Managed Instance

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

注意

このプロシージャは、他の方法でレプリケーション オブジェクトを削除できなかった場合にのみ使用してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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

引数

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

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

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

リターン コードの値

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

解説

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

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

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

アクセス許可

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

A. レプリケーションオブジェクトの削除、AdventureWorks2012Replica subscription database

-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorks2012Replica'

-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO

B. レプリケーションオブジェクトの削除、AdventureWorksReplica subscription database

-- 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)