1

あるSQLServer2008インスタンスから別のインスタンスにテーブルを複製します。これはすでに正常に機能しています。また、SQL Serverのターゲットインスタンスのレプリケートされたテーブルにフィールドを設定したいのですが、これが許可されているかどうかはよくわかりません(機能しているように見えますが)。

この背後にある理由:サーバーAからBへのレプリケーション、サーバーBでの行の処理、および行が処理されたときに設定(たとえば、「処理済み」などのフラグ)。この情報はサーバーAでは利用できず、サーバーBでのみ設定できます。

より厄介な方法は、サーバーBに別のテーブルがあり、既に処理された複製テーブルのIDのエントリを保持する必要がありますが、これは必要ないのではないでしょうか。

4

1 に答える 1

2

トランザクションレプリケーションでは、デフォルトでサブスクライバーは読み取り専用として扱われる必要があります。これは、サブスクライバーでデータが変更された場合(挿入、更新、削除のいずれであっても)、データ整合性エラーが発生するだけでなく、記事@pre_creation_cmdがデフォルトでドロップするように設定されているため、再初期化によってサブスクライバーデータが消去される可能性があるためです。 。

サブスクライバーでデータを更新する場合は、トランザクションレプリケーションピアツーピアレプリケーション、またはマージレプリケーションに更新可能なサブスクリプションを使用することをお勧めします。

于 2012-05-12T15:51:36.503 に答える