• 締切済み

リンクサーバー間のトランザクション

SQL Server2008のトランザクションについてお伺いします。 リンクサーバーのSQL Server2008へデータを登録したのですが、 ロールバックしても元に戻りません。 リンクサーバーのSQL Server2008へのトランザクションは 皆さまどのようにされているのでしょうか SQL Server2008のトランザクションについてお伺いします。 リンクサーバーのSQL Server2008へデータを登録したのですが、 ロールバックしても元に戻りません。 リンクサーバーのSQL Server2008へのトランザクションは 皆さまどのようにされているのでしょうか

みんなの回答

  • 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 ただ、デザインとしては、可能な限り分散トランザクションによる更新は回避したいですね。

関連するQ&A