1

データベースへのテーブルの挿入に対するトリガーを作成したいと考えています。たとえば、company_nameテーブルがある場合は、次のようにします。

  1. company_nameサーバー A のテーブルに新しい行を挿入する
  2. company_nameサーバー Aに新しく挿入された行の ID を取得するトリガーを呼び出します。
  3. Set identity_insert ONcompany_nameサーバーBのテーブル上
  4. サーバー A に挿入されたのとまったく同じ行を、company_nameサーバー B のテーブルに挿入します。

リンクされたサーバーは として参照できます[ServerB].[ServerB-Database].dbo.company_name

これは、さまざまな国のクライアントのデータ ホスティング制限による要件です。

4

1 に答える 1

4

問題の 1 つは、A 国と B 国の間のラグと接続です。

リモート挿入が行われている間、ローカル トランザクションは引き続き実行されます。これにより、パフォーマンスが低下し、ブロッキングが増加します。

リモートサーバーも利用できない可能性があります。または、応答に時間がかかりすぎます。失敗しないようにトリガーをコーディングできますが、データに一貫性がありません。

最後に、リモート サーバーに挿入がある場合は、マルチマスターの問題があります。

データを別のサーバーに公開するためのレプリケーションのようなソリューションを本当に検討します。または、Service Broker を使用して、ローカルとリモートの挿入を分離することを検討してください。

于 2013-05-21T15:22:31.657 に答える