Bonjour,
depuis peu ayant des deadlock sous sql server 2000, j'ai activé le suivi détaillé des deadlock via DBCC TRACEON (3605,1204,-1) mais savez vous comment interpréter ces logs par contre ?
Bonjour,
depuis peu ayant des deadlock sous sql server 2000, j'ai activé le suivi détaillé des deadlock via DBCC TRACEON (3605,1204,-1) mais savez vous comment interpréter ces logs par contre ?
par exemple celui ci :
spid4 Node:1
spid4 PAG: 7:1:198648 CleanCnt:3 Mode: SIU Flags: 0x2
spid4 Grant List 0::
spid4 Owner:0x445d4160 Mode: S Flg:0x0 Ref:0 Life:00000001 SPID:110 ECID:0
spid4 SPID: 110 ECID: 0 Statement Type: UPDATE Line #: 1
spid4 Input Buf: RPC Event: sp_executesql;1
spid4 Grant List 1::
spid4 Requested By:
spid4 ResType:LockOwner Stype:'OR' Mode: IX SPID:109 ECID:0 Ec0x32385518) Value:0x68f94080 Cost
0/0)
spid4
spid4 Node:2
spid4 PAG: 7:1:198648 CleanCnt:3 Mode: SIU Flags: 0x2
spid4 Grant List 0::
spid4 Grant List 1::
spid4 Owner:0x67d7bd60 Mode: S Flg:0x0 Ref:0 Life:00000001 SPID:109 ECID:0
spid4 SPID: 109 ECID: 0 Statement Type: UPDATE Line #: 1
spid4 Input Buf: RPC Event: sp_executesql;1
spid4 Requested By:
spid4 ResType:LockOwner Stype:'OR' Mode: IX SPID:110 ECID:0 Ec0x2D20F518) Value:0x77b076a0 Cost
0/0)
spid4 Victim Resource Owner:
spid4 ResType:LockOwner Stype:'OR' Mode: IX SPID:110 ECID:0 Ec0x2D20F518) Value:0x77b076a0 Cost
0/0)
SIU = Shared Intent Update (verrou d'intention de modif)
IX = Intent eXclusif (verrou d'intention d'exclusivité)
Les verrous d'intention sont des verrous transitoites pour passer d'un mode à l'autre (Shared vers eXclusif par exemple)
PAG = adresse de la page (n°base, N° fichier, N° page dans le fichier) 7:1:198648
SPID = n° de processus 109 et 110 se sont bloqués.
Le Victim Resource Owner: est celui qui a été tué.
Un DBCC PAGE sur 1:198648 dans la base considérée devrait vous donner l'objet (table ou index) puis si c'est un index, la table...
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
Un peu plus de détails : pour voir les résultats s'afficher dans la console d'Enterprise Manager, exécutez DBCC TRACEON (3604).
Une fois ce drapeau de trace activé, vous pouvez exécuter DBCC PAGE (7, 1, 198648, 3)
Dans le résultat que vous allez voir apparaitre, il devrait y avoir un objectid et un indexid, que vous devriez pouvoir retrouver dans la table système sys.sysindexes (respectivement colonnes id and indid).
Si vous ne les trouvez pas, donnez nous la sortie de l'exécution de l'instruction DBCC PAGE.
@++![]()
Ok merci je vais essayer ça et vous tenir au courant, j'ai pu exécuter le DBCC TRACEON (3604) mais je n'ai pas les droits pour le DBCC PAGE, je vais demander à notre prestataire.
Les résultats du DBCC TRACEON (3604) apportent plus de détails ?
Par contre ce qui risque d'être compliqué à résoudre, c'est que dans logs, les noeuds diffèrent, ce n'est pas toujours PAG: 7:1:198648![]()
Autre petite question, dans le DBCC PAGE (7, 1, 198648, 3) ; le 3 fait référence à CleanCnt:3 dans le log ou pas du tout ?
Partager