サブスクライバーのSQL Server と通信できない状況でパブリケーションを削除できない - パブリケーションを強制的に削除する

このページのタグ:[SQL Server]
サブスクライバーのSQL Server と通信できない状況でパブリケーションを削除する手順を紹介します。

概要

サブスクライバーのSQL Server と通信できない状況でパブリケーションを削除しようとすると、以下のエラー
Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.Rmo)
Named Pipes Provider: Could not open a connection to SQL Server [53]. (Microosoft SQL Server、エラー: 53)
が発生します。

原因

サブスクライバーのSQL Server と通信できないため、削除に失敗します。

対策

パブリケーションを強制的に削除する場合は、sp_removedbreplication ストアドプロシージャ-を利用します。

構文


sp_removedbreplication [ [ @dbname = ] 'dbname' ]
    [ , [ @type = ] type ] 
dbname = データベース名 type = データベース オブジェクトを削除するレプリケーションの種類 を指定します。

書式


sp_removedbreplication @dbname = '削除するレプリケーションのデータベース名', @type='レプリケーションの種類' 
typeには以下の値が指定できます。
意味
tranトランザクション レプリケーション パブリッシング オブジェクトを削除。
mergeマージ レプリケーション パブリッシング オブジェクトを削除。
both (既定値)すべてのレプリケーション パブリッシング オブジェクトを削除。

パブリケーションがある状態です。


下記のSQLを実行し、"iPentecC"データベースのトランザクション レプリケーションのパブリケーションを削除します。

sp_removedbreplication 
  @dbname  = 'iPentecC',
  @type  = 'tran'

実行に成功すると、下図のメッセージが表示されます。


"iPentecD"データベースのトランザクション レプリケーションのパブリケーションも削除します。

sp_removedbreplication 
  @dbname  = 'iPentecC',
  @type  = 'tran'

パブリケーションが削除できました。


登録日 :2016-11-07    最終更新日 :2016-11-07
このページのタグ:[SQL Server]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)