2009-06-25 9 views

答えて

8

何もない - 取引はまだ進行中です。接続を終了すると、ロールバックされます。

6

トランザクションによってデータベースの一部がロックされる可能性があるため、これらのコマンドのいずれかを発行するまで、他のトランザクション/クエリがブロックされることがあります。

ある点では、途中でトランザクションが完了する必要があります。何か「間違っている」(アプリケーションが終了したなど)場合は、最初にコミットしない限り、ロールバックされます。

1

アプリケーションが終了すると、接続は暗黙的に閉じられ、ロールバックされます。

アプリケーションがASPNET、Javaアプリケーションサーバーなどのアプリケーションサーバーで実行されている場合は、おそらく接続がプールに戻され、再度使用される前にリセットされ、トランザクションが最終的にロールバックされます(しかしすぐにはそうではないかもしれない)。

未使用の接続がプール内にある場合、最終的にはアプリケーションサーバーによって閉じられ、その時点でトランザクションは確実にロールバックされます。

オープントランザクションが長すぎることに注意してください。ロックを保持して(何かを変更した場合)、古い行のクリーンアップを停止します。これは、チャーン "。

0

トランザクションを開いたままにすると、予期しない動作が発生します。アプリがプールに接続を戻したときにロールバックされない場合、ブロックされたトランザクションが発生します。 ロールバックすると、作業が失われます。いずれにしても、これは運用環境での動作ではありません。

/HåkanWinther