2012-11-23 15 views
8

Ich habe eine Tabelle, die Millionen von Zeilen hat. Versehentlich habe ich eine Update-Abfrage über eine Tabelle ohne where-Klausel geschrieben und auf execute geklickt. Es begann mit der Ausführung. Nach zwei Sekunden erkannte ich, dass die Abfrage falsch war und ich im Sql Server Management Studio auf "Stop" geklickt habe. Die Ausführung der Abfrage wurde gestoppt, dies alles innerhalb von 7 Sekunden. Jetzt bin ich neugierig zu wissen, ob da irgendwelche Zeilen betroffen sind, die sie sind. Ho, es zu finden. Vielen Dank im Voraus.Update-Abfrage vom Benutzer abgebrochen

+0

möglich Duplikat begehen (http [Wie kann ich eine UPDATE-Abfrage in SQL Server 2005 Rollback?]: // Stackoverflow .com/questions/721471/Wie kann ich-Rollback-ein-Update-Abfrage-in-SQL-Server-2005) – Kermit

+0

Ich denke nicht, so njk. Ich möchte nicht zurücksetzen, ich möchte wissen, wie viele Zeilen betroffen sind. Danke – MaxRecursion

+2

@AkshayKulkarni Sie haben keinen Rollback zu tun, weil kein Commit gemacht wurde. SQL Server führt das Commit am Ende der Anweisung aus, Sie haben jedoch abgebrochen. Also keine Zeile betroffen – Marc

Antwort

9

Eine einzelne Update-Anweisung wird einige Zeilen nicht aktualisieren. Es ist alles Zeilen oder keine

Dies ist die atomicity in den ACID Eigenschaften, die SQL Server gut respektiert.

Atomarität erfordert, dass jede Transaktion "alles oder nichts" ist: Wenn ein Teil der Transaktion fehlschlägt, schlägt die gesamte Transaktion fehl, und der Datenbankstatus bleibt unverändert. Ein atomares System muss Atomizität in jeder Situation garantieren, einschließlich Stromausfällen, Fehlern und Abstürzen.

Dann begeht das ist am Ende der Anweisung, also wenn Sie es annullieren ist kein

+0

Wie beantwortet das die Frage? – Kermit

+0

Die Frage ist "Jetzt bin ich neugierig zu wissen, ob da irgendwelche Reihen betroffen sind, welche sie sind". Es ist nicht so – Marc

+0

Also nach meinem Verständnis wurden keine Zeilen geändert, richtig? Danke vielmals. Gibt es eine Möglichkeit, dies zu überprüfen? – MaxRecursion

Verwandte Themen