9

数百万行のテーブルがあります。

誤って、where句のないテーブルに更新クエリを記述し、[実行]をクリックしました。

実行を開始しました。2秒後、クエリが間違っていることに気付き、の' Stop'ボタンをクリックしましたSql Server Management Studio。クエリの実行が停止しました。これはすべて7秒以内に発生しました。

影響を受ける行があるかどうかを知りたいと思います。もしあれば、それらはどれですか?それを見つける方法は?

4

1 に答える 1

12

単一の更新ステートメントは、一部の行を更新しません。すべての行またはなし

これは、SQLサーバーがよく尊重するACIDプロパティのアトミック性です。

Atomicityでは、各トランザクションが「オールオアナッシング」である必要があります。トランザクションの一部が失敗すると、トランザクション全体が失敗し、データベースの状態は変更されません。アトミックシステムは、停電、エラー、クラッシュなど、あらゆる状況で原子性を保証する必要があります。

次に、コミットはステートメントの最後にあるため、キャンセルしてもコミットはありません

于 2012-11-23T15:24:24.690 に答える