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