- 締切済み
リンクサーバー間のトランザクション
SQL Server2008のトランザクションについてお伺いします。 リンクサーバーのSQL Server2008へデータを登録したのですが、 ロールバックしても元に戻りません。 リンクサーバーのSQL Server2008へのトランザクションは 皆さまどのようにされているのでしょうか SQL Server2008のトランザクションについてお伺いします。 リンクサーバーのSQL Server2008へデータを登録したのですが、 ロールバックしても元に戻りません。 リンクサーバーのSQL Server2008へのトランザクションは 皆さまどのようにされているのでしょうか
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- jamshid6
- ベストアンサー率88% (591/669)
回答No.1
エラーにならず、登録されるケースを実は想定できていないのですが、一般的にはこうやると思います。 (MSDTCサービスが上がっていること) SET XACT_ABORT ON GO BEGIN TRAN BEGIN TRY INSERT INTO [SERVER1].DB1.dbo.TABLE1 VALUES ('A') INSERT INTO DB2.dbo.TABLE2 VALUES (1/0) --Error COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN SELECT ERROR_MESSAGE() END CATCH ただ、デザインとしては、可能な限り分散トランザクションによる更新は回避したいですね。