おそらく古い公開記事のため、購読を解除できません

おそらく古い公開記事のため、購読を解除できません

レプリケーション セットアップからサブスクリプションを削除するときに問題が発生しています。サブスクリプションはサブスクライバーには表示されません (少なくとも SSMS では) が、パブリッシャーには表示されます。SSMS または のいずれかを使用してサブスクリプションを削除しようとするとsp_dropsubscription、次のエラー メッセージが表示されます。

メッセージ 14068、レベル 16、状態 1、プロシージャ sp_MSrepl_changesubstatus、行 1353

オブジェクトのサブスクリプション ステータスを変更できませんでした。

SSMS のサブスクリプションからすべての記事を削除し、再実行しましたsp_dropsubscriptionが、それでも同じメッセージを受け取りました。ただし、sp_helpsubscription報告されている記事は、もう存在しないテーブル値関数のみであるようです。ただし、同じ名前のテーブルは存在します。

テーブルの名前を変更して関数を再度追加してみましたが、うまくいきませんでした。関数は公開された記事のリストにチェック済みとして表示されず、手動で削除してもまだ機能せず、同じエラー メッセージが表示されました。

何かアイデアはありますか? 当社のパブリッシャーは SQL Server 2008 を実行しており、2 人のサブスクライバーは 2005 を実行しています。

答え1

配布全体を中止して最初からやり直しました。それが私が理解できたすべてです。

答え2

私も同じ問題を抱えていました。パブリッシャー データベースで、syssubscriptions と sysschemaarticles から不足している記事を削除しました。また、ディストリビューション データベースの MSsubscriptions と MSArticles からも削除しました。その後、パブリケーションを削除して再作成することができました。

関連情報