目次

サブスクライバーの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'

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


著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-07
作成日: 2016-11-07
iPentec all rights reserverd.