トランザクション ステートメント (Transact-SQL)

トランザクションは、1 つの作業を表す単位です。トランザクションが成功すると、トランザクションの実行中に行われたすべてのデータ変更がコミットされ、データベースの変更が確定します。エラーが発生したため、トランザクションを取り消すか、またはロールバックする必要がある場合、すべてのデータ変更は消去されます。

SQL Server は、次のトランザクション モードで動作します。

  • 自動コミット トランザクション
    各ステートメントは 1 つのトランザクションです。

  • 明示的なトランザクション
    各トランザクションは、BEGIN TRANSACTION ステートメントで明示的に開始し、COMMIT または ROLLBACK ステートメントで明示的に終了します。

  • 暗黙のトランザクション
    新しいトランザクションは、前のトランザクションが終了すると暗黙的に開始しますが、各トランザクションは COMMIT または ROLLBACK ステートメントで明示的に終了します。

  • バッチスコープのトランザクション
    複数のアクティブな結果セット (MARS) にのみ該当します。MARS セッションで開始された Transact-SQL の明示的または暗黙的なトランザクションは、バッチスコープのトランザクションになります。バッチの完了時にコミットまたはロールバックされていないバッチスコープのトランザクションは、SQL Server により自動的にロールバックされます。

詳細については、「トランザクション (データベース エンジン)」を参照してください。