1. ホーム
  2. sql

[解決済み] ストアドプロシージャで「SET XACT_ABORT ON」を使用すると、どのようなメリットがありますか?

2022-02-09 16:20:18

質問

を使うメリットは何ですか? SET XACT_ABORT ON をストアドプロシージャで使用することはできますか?

どのように解決するのですか?

SET XACT_ABORT ON は、実行時エラーが発生した場合に、トランザクション全体をロールバックし、バッチを中止するように SQL Server に指示します。これは、SQL Server 自身ではなくクライアントアプリケーションで発生したコマンドタイムアウトのようなケースをカバーします(これは、デフォルトの XACT_ABORT OFF の設定です)。

クエリタイムアウトはトランザクションを開いたままにするため。 SET XACT_ABORT ON は、明示的なトランザクションを持つすべてのストアドプロシージャで推奨されます (そうしない特別な理由がある場合を除きます)。

には、とても素晴らしい概要があります。 Dan Guzmanのブログ ,