Gesperrte data nach Transaktion

Ich wollte etwas auf einem Tisch machen (welches wir nennen könnte "table1") und ich wollte eine Transaktion wegen unseres Produktionsservers verwenden.

Ich habe so ein Drehbuch geschrieben:

BEGIN TRANSACTION T1 UPDATE table1 SET ... SELECT * FROM table1 WHERE ... 

Und wie Sie sehen können, habe ich die Commit / Rollback-statement vergessen.

Danach wollte ich noch eine Auswahl auf diesem Tisch machen und ich bekam einen Abfrage-Timeout-Fehler.

Ich vermutete, dass meine Transaktion blockiert meine Tabelle, so dass ich ein anderes Mal die exakt gleiche Transaktion, aber dieses Mal mit einer Commit-statement.

Aber mein Tisch ist immer noch blockiert und ich weiß nicht, wie man die erste Warte-Transaktion begehen / rollen muss.

Ich habe auch versucht, eine neue Abfrage mit nur "COMMIT TRANSACTION T1" zu schreiben, aber ich habe einen Fehler, der mir mitteilt, dass die COMMIT-statement eine entsprechende BEGIN-statement benötigt.

Wie kann ich das machen ?

Die session, an der Sie die erste Abfrage ausgeführt haben, ist noch aktiv. Wenn Sie dies über SSMS lief, dann führen Sie die Commit \ Rollback von dort mit dieser session. Wenn Sie es nicht finden können, dann verwenden Sie die Activity Monitor oder sp_who2 oder andere Typ Methode, um die session zu finden und zu töten.

Sie können die Transaktion nicht auf einer anderen session ändern.