3
SQL Serverは、コミットされていない操作を記録しますか?
私は頻繁にSQLサーバーのログレコードのようなステートメントがすべてのtransctionとopeationを見ます。 しかし、トランザクションが最終的にロール バックされるときに何が起こるかについて私は混乱しています。 :明示的なトランザクションは3文があると言うstatement A、statement B、statement C、そして最後にrollback statement D。 ここで、実行がに達していない場合、SQLサーバーログに記録されrollback statement Dた変更statements A through Cは記録されますか? 理解1: ステートメントAからDはすべて記録されます。SQL Serverは、何があってもすべてを記録します。 理解2:変更はメモリのどこかにのみ保存され、SQL Serverがcommitステートメントを認識したときにのみログに記録されます。rollbackステートメントであることが判明した場合、SQL Serverは単純にトランザクションを無視します。目的を果たさないため、ログへの書き込みは発生しません。ある場合、他の言葉では、SQL Serverがログに記録し、正味の結果の前と後の取引が。 少なくとも私には両方とも論理的に思えますが、両方とも正しいとは言えません。助けてくれてありがとう。
12
sql-server