2008-08-21 22 views
2

トランザクションに含まれないトリガーを作成することはできますか?トランザクションのないトリガー?

私はリンクサーバーのデータをトリガーで更新したいが、ファイアウォールの問題により、2つのサーバー間で分散トランザクションを作成することはできません。

答えて

2

おそらく、リンクサーバーの更新を含むキューと、キューからデータを読み取り、リモートサーバーを更新するプロセスの組み合わせが必要です。トリガは、通常のトランザクションの一部としてメッセージをキューに挿入します。このデータは別のプロセスで読み取られ、リモートサーバーの更新に使用されます。ロジックは、プロセスハンドルエラー(および場合によっては再試行)に必要となります。

キューは、1つ以上のテーブルで実装できます。

2

私はそれが役に立たないと知っているので、私はおそらくこれについてdownvotedになるだろうが、実際には、解決策は、ファイアウォールの問題を修正することです。

リモートの(リンクされていない)サーバー(最近の優先オプションではありません)を使用すると、SET REMOTE_PROC_TRANSACTIONS OFFを使用してリモートトランザクションにDTCを使用できないようにすることができます。しかし、それはおそらくリンクされたサーバーであなたを助けてくれないでしょう。

関連する問題