トランザクションに含まれないトリガーを作成することはできますか?トランザクションのないトリガー?
私はリンクサーバーのデータをトリガーで更新したいが、ファイアウォールの問題により、2つのサーバー間で分散トランザクションを作成することはできません。
トランザクションに含まれないトリガーを作成することはできますか?トランザクションのないトリガー?
私はリンクサーバーのデータをトリガーで更新したいが、ファイアウォールの問題により、2つのサーバー間で分散トランザクションを作成することはできません。
おそらく、リンクサーバーの更新を含むキューと、キューからデータを読み取り、リモートサーバーを更新するプロセスの組み合わせが必要です。トリガは、通常のトランザクションの一部としてメッセージをキューに挿入します。このデータは別のプロセスで読み取られ、リモートサーバーの更新に使用されます。ロジックは、プロセスハンドルエラー(および場合によっては再試行)に必要となります。
キューは、1つ以上のテーブルで実装できます。
私はそれが役に立たないと知っているので、私はおそらくこれについてdownvotedになるだろうが、実際には、解決策は、ファイアウォールの問題を修正することです。
リモートの(リンクされていない)サーバー(最近の優先オプションではありません)を使用すると、SET REMOTE_PROC_TRANSACTIONS OFFを使用してリモートトランザクションにDTCを使用できないようにすることができます。しかし、それはおそらくリンクされたサーバーであなたを助けてくれないでしょう。