いくつかの SQL 2008 R2 サーバーで動作する MS NAV データベースのトランザクション レプリケーションを取得しようとしています。
レプリケーションを機能させることができましたが、inexed ビューで何らかの種類の CREATE または ALTER 操作を実行すると、NAV アプリケーションが失敗します (以下のエラー)。インデックス付きビューはメジャー バージョン リリース間で静的であるため、実際に複製する必要はありません。
今回はインデックス付きビューを含めずにレプリケーションを再度セットアップしましたが、次のエラーが発生しています。
「レプリケーション - レプリケーション ディストリビューション サブシステム: エージェント [SQLSRV01\NAV SQLSRV02\NAV] が失敗しました。テーブル '[テーブル]' は、オブジェクト '[インデックス付きビュー参照テーブル]' によって参照されているため、削除できません。"
だから、少し痛い。サブスクリプション サーバー上のデータベース全体を再構築しない限り、レプリケーション システムがテーブルを削除しようとする理由が少しわかりません。ここからの提案は大歓迎です-すべてのテーブルを複製したいのは明らかですが、インデックス付きフィールドのこれらの参照は多くの問題を引き起こしています(ただし、維持する必要があります)。
興味深いことに、インデックス付きビューに対して 'ALTER VIEW' を実行しても何も変更しない場合、Dynamics NAV クライアント経由でそのテーブルにアクセスしようとすると、次のようなエラーが発生します。