2008-12-09 12 views
6

मैं अपने SQL 2005 डेटाबेस (64-बिट) में होने वाली एक डेडलॉक का पता लगाने की कोशिश कर रहा हूं। वर्तमान में हमारे पास स्नैपशॉट अलगाव सक्षम नहीं है।एसक्यूएल सर्वर डेडलॉक ऑब्जेक्ट आईडी बहुत बड़े हैं

मैंने टीएफ -204 चालू कर दिया और नीचे आउटपुट प्राप्त किया।

इस आउटपुट से मैं यह निर्धारित करने में सक्षम हूं कि नोड 1 एक संग्रहित प्रक्रिया है जो डेटा का चयन करती है और केवल #temp टेबल में मानों को संशोधित करती है।

नोड 2 एक और संग्रहीत प्रक्रिया डेटा की एक पंक्ति पर एक साधारण प्राथमिक कुंजी आधारित अद्यतन करता है।

जो मैं निर्धारित नहीं कर सकता वह वास्तविक संसाधन है जो यहां विवाद में था। 10 की कुंजी: 72057594060734464 और 10: 72057594038910976 मुझे डेटाबेस निर्धारित करने की अनुमति देता है, लेकिन इन ऑब्जेक्ट आईडी को object_name के साथ हल नहीं किया जा सकता है। वास्तव में, वे int मूल्य होना चाहिए, इसलिए मुझे यकीन नहीं है कि ये बड़ी संख्या कहां से आ रही हैं।

समस्या का शोध करने में मैं ऑब्जेक्ट आईडी के लिए गतिविधि मॉनीटर से समान मान प्राप्त करने में सक्षम था।

मैं इन ऑब्जेक्ट पहचानकर्ताओं को कैसे हल करूं?

 
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  ---------------------------------- 

उत्तर

10

ये ID वास्तव में hobts ​​का उल्लेख (ढेर या बाइनरी ट्री), sys.partitions में पाया:

यहाँ गतिरोध tf-1204 उत्पादन होता है। डेटाबेस 10 के अंदर निम्न क्वेरी आज़माएं, और आप पाएंगे कि कौन सी ऑब्जेक्ट और कौन सी अनुक्रमणिका प्रभावित है।

SELECT hobt_id, object_name(p.[object_id]), index_id 
FROM sys.partitions p 
WHERE hobt_id = 72057594060734464 
संबंधित मुद्दे