MSSQLSERVER_1205

Details

Produktname

SQL Server

Produktversion

10.0

Buildnummer des Produkts

10.00.0000.00

Ereignis-ID

1205

Ereignisquelle

MSSQLSERVER

Komponente

SQLEngine

Symbolischer Name

LK_VICTIM

Meldungstext

Die Transaktion (Prozess-ID %d) befand sich auf %.*ls Ressourcen aufgrund eines anderen Prozesses in einer Deadlocksituation und wurde als Deadlockopfer ausgewählt. Führen Sie die Transaktion erneut aus.

Erklärung

Durch separate Transaktionen wird in einer zu Konflikten führenden Reihenfolge auf Ressourcen zugegriffen, was zu einem Deadlock führt. Beispiel:

  • Von Transaction1 wird Table1.Row1 aktualisiert, während von Transaction2 Table2.Row2 aktualisiert wird.

  • Von Transaction1 wird versucht, Table2.Row2 zu aktualisieren. Transaction1 wird jedoch blockiert, weil für Transaction2 noch kein Commit ausgeführt wurde.

  • Nun wird von Transaction2 versucht, Table1.Row1 zu aktualisieren. Transaction2 wird jedoch blockiert, weil für Transaction1 noch kein Commit ausgeführt wurde.

  • Es kommt zu einem Deadlock, weil von Transaction1 auf die Beendigung von Transaction2 gewartet wird, während gleichzeitig von Transaction2 auf die Beendigung von Transaction1 gewartet wird.

Dieser Deadlock wird vom System erkannt und eine der beteiligten Transaktionen als "Opfer" ausgewählt. Anschließend wird diese Meldung ausgegeben und für die Transaktion des Opfers ein Rollback ausgeführt. Weitere Informationen zu Deadlocks finden Sie unter Deadlocks.

Benutzeraktion

Führen Sie die Transaktion erneut aus. Sie können auch die Anwendung überarbeiten, um Deadlocks zu vermeiden. Die Transaktion, die als Opfer ausgewählt wurde, kann erneut ausgeführt werden und wird wahrscheinlich erfolgreich verlaufen, je nachdem, welche Vorgänge gleichzeitig ausgeführt werden.

Wenn Sie Deadlocks verhindern oder vermeiden möchten, sollten alle Transaktionszugriffszeilen in derselben Reihenfolge (Table1, dann Table2) vorliegen. Auf diese Weise kann es zwar zum Blockieren kommen, ein Deadlock tritt jedoch nicht auf. Weitere Informationen zu erforderlichen Aktionen finden Sie unter Erkennen und Beenden von Deadlocks.