Ich versuche, einen Deadlock zu verfolgen, der in unserer SQL 2005-Datenbank (64-Bit) auftritt. Derzeit ist die Snapshot-Isolierung nicht aktiviert.
Ich habe den tf-1204 eingeschaltet und die folgende Ausgabe erhalten.
Anhand dieser Ausgabe kann ich feststellen, dass Knoten 1 eine gespeicherte Prozedur ist, die Daten auswählt und nur Werte in #temp-Tabellen ändert.
Knoten 2 ist eine weitere gespeicherte Prozedur, die eine einfache primärschlüsselbasierte Aktualisierung einer einzelnen Datenzeile vornimmt.
Was ich nicht feststellen kann, ist die tatsächliche Ressource, um die hier gestritten wurde. Mit den Schlüsseln 10:72057594060734464 und 10:72057594038910976 kann ich die Datenbank ermitteln, aber diese Objekt-IDs können nicht mit object_name aufgelöst werden. Eigentlich sollten es int-Werte sein, daher bin ich mir nicht sicher, woher diese großen Zahlen kommen.
Bei der Untersuchung des Problems konnte ich ähnliche Werte aus dem Activity Monitor für die Objekt-ID ermitteln.
Wie kann ich diese Objektbezeichner auflösen?
Hier ist die Ausgabe des Deadlock tf-1204:
2008-12-05 07:48:28.19 spid4s ----------------------------------
2008-12-05 07:48:28.19 spid4s Starting deadlock search 634
2008-12-05 07:48:28.19 spid4s Target Resource Owner:
2008-12-05 07:48:28.19 spid4s ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980
2008-12-05 07:48:28.19 spid4s 0:Insert new node: Node:1 ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980
2008-12-05 07:48:28.19 spid4s 1:SearchOR Considering new blocker - task: 0000000000EC5198, Worker 00000000C89881C0
2008-12-05 07:48:28.19 spid4s 2:Insert new node: Node:2 ResType:LockOwner Stype:'OR'Xdes:0x00000000808F1A80 Mode: S SPID:79 BatchID:0 ECID:0 TaskProxy:(0x0000000129E82598) Value:0x1063d000
2008-12-05 07:48:28.19 spid4s 3:SearchOR Considering new blocker - task: 0000000000C3FC18, Worker 00000000F847C1C0
2008-12-05 07:48:28.19 spid4s 4:InsertKnown Cycle found between old res owner: \[ ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980\] and new res owner \[ ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980\]
2008-12-05 07:48:28.19 spid4s 4:InsertKnown search result: Deadlock found (blocking owner is on a stack)
2008-12-05 07:48:28.19 spid4s 3:SearchOR search result: Deadlock found (cycle on this level or before)
2008-12-05 07:48:28.19 spid4s 1:SearchOR search result: Deadlock found (cycle on this level or before)
2008-12-05 07:48:28.19 spid4s
2008-12-05 07:48:28.19 spid4s Deadlock cycle was encountered .... verifying cycle
2008-12-05 07:48:28.19 spid4s 0:Insert new node: Node:1 ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980 Cost:(0/1544)
2008-12-05 07:48:28.19 spid4s 1:SearchOR Considering new blocker - task: 0000000000EC5198, Worker 00000000C89881C0
2008-12-05 07:48:28.19 spid4s 2:Insert new node: Node:2 ResType:LockOwner Stype:'OR'Xdes:0x00000000808F1A80 Mode: S SPID:79 BatchID:0 ECID:0 TaskProxy:(0x0000000129E82598) Value:0x1063d000 Cost:(0/0)
2008-12-05 07:48:28.19 spid4s 3:SearchOR Considering new blocker - task: 0000000000C3FC18, Worker 00000000F847C1C0
2008-12-05 07:48:28.19 spid4s 4:InsertKnown Cycle found between old res owner: \[ ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980 Cost:(0/1544)\] and new res owner \[ ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980 Cost:(0/1544)\]
2008-12-05 07:48:28.19 spid4s 4:InsertKnown search result: Deadlock found (blocking owner is on a stack)
2008-12-05 07:48:28.19 spid4s 3:SearchOR search result: Deadlock found (cycle on this level or before)
2008-12-05 07:48:28.19 spid4s 1:SearchOR search result: Deadlock found (cycle on this level or before)
2008-12-05 07:48:28.19 spid4s Deadlock encountered .... Printing deadlock information
2008-12-05 07:48:28.19 spid4s Wait-for graph
2008-12-05 07:48:28.19 spid4s
2008-12-05 07:48:28.19 spid4s Node:1
2008-12-05 07:48:28.19 spid4s KEY: 10:72057594060734464 (c80089667602) CleanCnt:3 Mode:S Flags: 0x0
2008-12-05 07:48:28.19 spid4s Grant List 1:
2008-12-05 07:48:28.19 spid4s Owner:0x000000011063CDC0 Mode: S Flg:0x0 Ref:1 Life:00000000 SPID:79 ECID:0 XactLockInfo: 0x00000000808F1AB8
2008-12-05 07:48:28.19 spid4s SPID: 79 ECID: 0 Statement Type: INSERT Line #: 220
2008-12-05 07:48:28.19 spid4s Input Buf: RPC Event: Proc \[Database Id = 10 Object Id = 1751794144\]
2008-12-05 07:48:28.19 spid4s Requested By:
2008-12-05 07:48:28.19 spid4s ResType:LockOwner Stype:'OR'Xdes:0x00000000813B8700 Mode: X SPID:77 BatchID:0 ECID:0 TaskProxy:(0x00000000CE6D8598) Value:0x1043f980 Cost:(0/1544)
2008-12-05 07:48:28.19 spid4s
2008-12-05 07:48:28.19 spid4s Node:2
2008-12-05 07:48:28.19 spid4s KEY: 10:72057594038910976 (0c0092f62b82) CleanCnt:2 Mode:X Flags: 0x0
2008-12-05 07:48:28.19 spid4s Grant List 0:
2008-12-05 07:48:28.19 spid4s Owner:0x000000011043F300 Mode: X Flg:0x0 Ref:0 Life:02000000 SPID:77 ECID:0 XactLockInfo: 0x00000000813B8738
2008-12-05 07:48:28.19 spid4s SPID: 77 ECID: 0 Statement Type: UPDATE Line #: 23
2008-12-05 07:48:28.19 spid4s Input Buf: RPC Event: Proc \[Database Id = 10 Object Id = 1791462302\]
2008-12-05 07:48:28.19 spid4s Requested By:
2008-12-05 07:48:28.19 spid4s ResType:LockOwner Stype:'OR'Xdes:0x00000000808F1A80 Mode: S SPID:79 BatchID:0 ECID:0 TaskProxy:(0x0000000129E82598) Value:0x1063d000 Cost:(0/0)
2008-12-05 07:48:28.19 spid4s
2008-12-05 07:48:28.19 spid4s Victim Resource Owner:
2008-12-05 07:48:28.19 spid4s ResType:LockOwner Stype:'OR'Xdes:0x00000000808F1A80 Mode: S SPID:79 BatchID:0 ECID:0 TaskProxy:(0x0000000129E82598) Value:0x1063d000 Cost:(0/0)
2008-12-05 07:48:28.19 spid4s End deadlock search 634 ... a deadlock was found.
2008-12-05 07:48:28.19 spid4s ----------------------------------