Aktualisierungsabfrage, die vom Benutzer abgebrochen wurde

8

Ich habe eine Tabelle mit Millionen von Zeilen. Ich habe versehentlich 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 Reihen betroffen sind, welche sie sind. Ich finde es. Vielen Dank im Voraus.

    
MaxRecursion 23.11.2012, 15:20
quelle

1 Antwort

9

Eine einzelne Update-Anweisung wird einige Zeilen nicht aktualisieren. Es sind alle Zeilen oder keine

Dies ist die Atomarität in der 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 befindet sich das Commit am Ende der Anweisung. Wenn Sie also abbrechen, gibt es kein Commit

    
Marc 23.11.2012, 15:24
quelle

Tags und Links