1

SQL Server 2014 を使用して、(マージ レプリケーションを使用して) 2 つのサーバー間でデータベースをレプリケートすることをテストしています。すでにレプリケーションを正常にセットアップしており、現在、データベースに変更を適用する方法をテストしています。

このデータベースは、新しい機能がシステムに追加されたときに更新が必要になる可能性のあるいくつかの XML スキーマ コレクションを使用します。Web を検索した結果、XML スキーマ コレクションへの変更をレプリケートできる唯一の方法は、サブスクライバーを再初期化することであるという結論に達しました。

サブスクライバーを再初期化するように設定すると、更新された XML スキーマ コレクションで新しいスナップショットが作成されます。ただし、マージ エージェントが常にこの変更の適用に失敗する場合、既に削除されている元のスナップショットからスキーマへの変更を含むファイルを常に読み取ろうとします。表示されるエラー メッセージは次のとおりです。

The schema script 'XXXXXXSchema_92.sch' could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001)
Get help: http://help/MSSQL_REPL-2147201001
The process could not read file '\\SERVER\Path\unc\Publication\20140613183751\XXXXXXSchema_92.sch' due to OS error 3. (Source: MSSQL_REPL, Error number: MSSQL_REPL20216)
Get help: http://help/MSSQL_REPL20216

この場合、エージェントは元のスナップショット 20140613183751 から読み取ろうとしますが、使用可能なスナップショットは 20140613185435 です。

サブクリピトンを再初期化してスキーマを複製することは可能ですか? 私は何か間違ったことをしていますか?

4

0 に答える 0