238
Chapitre 7. Transactions et verrous
soit à l’aide de DBCC TRACEON, en indiquant -1 en second paramètre, ce qui indique
l’activation d’un drapeau global :
DBCC TRACEON(1204, -1)
Après activation, le moniteur de deadlocks inscrira des informations sur la chaîne
de deadlocks dans le journal d’erreurs de SQL Server (le fichier ERRORLOG, situé dans
le sous-répertoire LOG du répertoire où SQL Server stocke ses données). Voici le
résultat d’une journalisation réalisée après activation du drapeau 1204 :
Deadlock encountered .... Printing deadlock information
Wait-for graph
Node:1
KEY: 5:72057594044153856 (07005a186c43) CleanCnt:3 Mode:X Flags: 0x0
Grant List 0:
Owner:0x1016D080 Mode: X
Flg:0x0 Ref:0 Life:02000000
SPID:52 ECID:0 XactLockInfo: 0x11EBAF64
SPID: 52 ECID: 0 Statement Type: UPDATE Line #: 1
Input Buf: Language Event: UPDATE c
SET Title = 'Miss'
FROM Person.Contact c
JOIN HumanResources.Employee e WITH (READUNCOMMITTED)
ON c.ContactID = e.ContactID
WHERE e.Gender = 'F'
Requested By:
ResType:LockOwner Stype:'OR'Xdes:0x10687A80 Mode: U SPID:51 BatchID:0
ECID:0 TaskProxy:(0x1090A378) Value:0x1016b6c0 Cost:(0/19956)
Node:2
KEY: 5:72057594043236352 (2e0032505f99) CleanCnt:2 Mode:X Flags: 0x0
Grant List 0:
Owner:0x1016B420 Mode: X
Flg:0x0 Ref:0 Life:02000000
SPID:51 ECID:0 XactLockInfo: 0x10687AA4
SPID: 51 ECID: 0 Statement Type: UPDATE Line #: 1
Input Buf: Language Event: UPDATE HumanResources.Employee
SET MaritalStatus = 'M'
WHERE Gender = 'F'
Requested By:
ResType:LockOwner Stype:'OR'Xdes:0x11EBAF40 Mode: U SPID:52 BatchID:0
ECID:0 TaskProxy:(0x11BEA378) Value:0x1016b480 Cost:(0/13864)
Victim Resource Owner:
ResType:LockOwner Stype:'OR'Xdes:0x11EBAF40 Mode: U SPID:52 BatchID:0
ECID:0 TaskProxy:(0x11BEA378) Value:0x1016b480 Cost:(0/13864)
Comme vous le voyez, vous avez les informations de base nécessaire à comprendre la source du deadlock : les spids, et la dernière commande exécutée dans chaque
spid (l’inputbuffer). La section « Victim Resource Owner » indique qui a été choisi
Précédent

- 250/334

Suivant