XACT_ABORT
の有無にかかわらず、TRY-CATCHがキャプチャしないエラーがあることに注意してください。 。
ただし、SET XACT_ABORT ON
エラーのトラップには影響しません。ただし、トランザクションがロールバック/運命づけられることは保証されます。 「オフ」の場合でも、コミットまたはロールバックを選択できます(xact_stateの対象)。これは、XACT_ABORT
のSQL2005の動作の主な変更点です。
また、クライアントコマンドのタイムアウトが発生し、クライアントが「abort」ディレクティブを送信した場合に、ロックなどを削除します。 SET XACT_ABORT
なし 、接続が開いたままの場合、ロックが残る可能性があります。同僚(MVP)と私は、今年の初めにこれを徹底的にテストしました。