1

セットアップ:既存の SQL2008 マージ レプリケーション シナリオ。クライアント マシンにレプリケートされる、ビューやストアド プロシージャを含む大規模なサーバー データベース。

私がやっていること:

  • データベースに新しいテーブルを追加する
  • レプリケーション用の新しいテーブルをマークします (を使用SP_AddMergeArticle)
  • alter a view (すでにレプリケートされたコンテンツの一部です) は、この新しいテーブル (既存のビューのテーブルに結合されている) のフィールドを含めるように更新されます。ストアド プロシージャも同様に更新されます。

問題:テーブルはクライアント マシンに複製されますが、ビューは更新されません。ストアド プロシージャも更新されません。

役に立たない回避策:SP_AddMergeArticleビュー/SP を呼び出した後、更新する前にスナップショット エージェントを実行すると、ビューとストアド プロシージャの両方の変更がクライアントに正しくレプリケートされます。

より大きな問題:より大きなプロセスの一部として、トランザクションでデータベース スクリプトのリストを実行しています。トランザクション中にスナップショット エージェントを実行することはできず、トランザクションを中断すると (複数のトランザクションでスクリプトを実行するなど)、何かが失敗した場合に変更をロールバックできなくなります。

誰か提案はありますか?新しいテーブルで何が起こっているかに関係なく、ビュー/sprocへの変更がとにかく複製されない理由がわからないため、明らかな何かが欠けているに違いないようです。

4

2 に答える 2

1

ALTER VIEW | を使用してスキーマを変更していますか? 手順を変更しますか? 「パブリケーション データベースでスキーマを変更する」という記事では、これが必要であり、Management Studio を使用できないことを暗示しています。

この記事では、スキーマの変更について詳しく説明します。特に、マージ レプリケーションに関するセクションと、互換性レベルに関するスキーマの変更について説明します。

于 2010-06-03T10:27:41.400 に答える
0

私が去るときのちょっとしたヒント:

Books Onlineヘルプでトラブルシューティング(レプリケーション)を確認してください...

各システムのセキュリティを確認する

いくつかのツールを使用して、何が起こっているかを確認します

各ボックスでプロファイラートレースをオンにします

于 2010-06-03T00:37:07.983 に答える