logear deadlocks

08/06/2005 - 18:41 por Mauro | Informe spam
hay alguna forma de indicarle al sqlserver que escriba en su log los
deadlocks cuando se produzcan??

Preguntas similare

Leer las respuestas

#11 Guillermo Roldán
08/06/2005 - 22:45 | Informe spam
algo fácil... que los programadores siempre accedan a los objetos/tablas en
el mismo orden !!

en muchos casos, con esto suficiente... bastará que identifiques las bases
de datos, tablas y procedimientos almacenados para comunicárselo a
desarrollo.


"Mauro" escribió en el mensaje
news:u5nC$
ESPEcTACULARRRRRR!!!!!

gracias a TODOS.
mas adelante vemos como mejorar las consultas que estan produciendo los
deadlocks jeje!!!

"Gustavo Larriera [MVP]" wrote in message
news:
> La salida del trace queda en los logs de SQL Server. Por ejemplo, abre


dos
> ventanas en el Query Analyzer y ejecuta en ellas estos comandos:
>
> dbcc traceon(3605)
> dbcc traceon(1204)
> begin tran
> update authors set contract = contract
>
> begin tran
> update titles set ytd_sales = ytd_sales
>
> update titles set ytd_sales = ytd_sales
>
> update authors set contract = contract
>
> Esto provocará un deadlock y recibirás el mensaje de error:
>
> Server: Msg 1205, Level 13, State 50, Line 1
> Transaction (Process ID 54) was deadlocked on lock resources with


another
> process and has been chosen as the deadlock victim. Rerun the


transaction.
>
> Revisa el log de errores de SQL Server (C:\Program Files\Microsoft SQL
> Server\MSSQL\LOG\errorlog) y encontrarás el grafo wait-for del deadlock.
En
> mi ejemplo luce así (observa que aparecen las sentencias UPDATE que
> participaron):
>
> 2005-06-08 16:57:59.18 spid53 DBCC TRACEON 3605, server process ID
(SPID)
> 53.
> 2005-06-08 16:57:59.20 spid53 DBCC TRACEON 1204, server process ID
(SPID)
> 53.
> 2005-06-08 16:58:24.16 spid4
> Deadlock encountered Printing deadlock information
> 2005-06-08 16:58:24.16 spid4
> 2005-06-08 16:58:24.16 spid4 Wait-for graph
> 2005-06-08 16:58:24.16 spid4
> 2005-06-08 16:58:24.16 spid4 Node:1
> 2005-06-08 16:58:24.16 spid4 KEY: 6:2121058592:1 (a70064fb1eac)
> CleanCnt:2 Mode: X Flags: 0x0
> 2005-06-08 16:58:24.16 spid4 Grant List 0::
> 2005-06-08 16:58:24.18 spid4 Owner:0x1a1bfa80 Mode: X
Flg:0x0
> Ref:0 Life:02000000 SPID:54 ECID:0
> 2005-06-08 16:58:24.18 spid4 SPID: 54 ECID: 0 Statement Type:
UPDATE
> Line #: 1
> 2005-06-08 16:58:24.18 spid4 Input Buf: Language Event: --Ventana
2:
> update authors set contract = contract
>
> 2005-06-08 16:58:24.18 spid4 Requested By:
> 2005-06-08 16:58:24.18 spid4 ResType:LockOwner Stype:'OR' Mode: U
> SPID:53 ECID:0 Ec:(0x1F36B590) Value:0x1a1bf7e0 Cost:(0/54)
> 2005-06-08 16:58:24.18 spid4
> 2005-06-08 16:58:24.18 spid4 Node:2
> 2005-06-08 16:58:24.18 spid4 KEY: 6:1977058079:1 (02014f0bec4e)
> CleanCnt:2 Mode: X Flags: 0x0
> 2005-06-08 16:58:24.18 spid4 Grant List 0::
> 2005-06-08 16:58:24.18 spid4 Owner:0x1a03bd60 Mode: X
Flg:0x0
> Ref:0 Life:02000000 SPID:53 ECID:0
> 2005-06-08 16:58:24.18 spid4 SPID: 53 ECID: 0 Statement Type:
UPDATE
> Line #: 1
> 2005-06-08 16:58:24.18 spid4 Input Buf: Language Event: --Ventana
1:
> update titles set ytd_sales = ytd_sales
>
>
> 2005-06-08 16:58:24.18 spid4 Requested By:
> 2005-06-08 16:58:24.18 spid4 ResType:LockOwner Stype:'OR' Mode: U
> SPID:54 ECID:0 Ec:(0x1F367590) Value:0x1a1bf780 Cost:(0/54)
> 2005-06-08 16:58:24.18 spid4 Victim Resource Owner:
> 2005-06-08 16:58:24.18 spid4 ResType:LockOwner Stype:'OR' Mode: U
> SPID:54 ECID:0 Ec:(0x1F367590) Value:0x1a1bf780 Cost:(0/54)
>
>
> Gustavo Larriera
> Uruguay LatAm
> Blog: http://sqljunkies.com/weblog/gux/
> MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
> Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
> derecho / This posting is provided "AS IS" with no warranties, and


confers
> no rights.
> "Mauro" wrote in message
> news:%
> > donde leo los resultados del traceflag?
> > "Gustavo Larriera [MVP]" wrote in message
> > news:
> >> Tal vez te sea útil usar el Trace Flag 1205 (no documentado). Mira


este
> >> artículo (en inglés):
> >>
> >> http://www.sql-server-performance.c..._flags.asp
> >>
> >> Gustavo Larriera
> >> Uruguay LatAm
> >> Blog: http://sqljunkies.com/weblog/gux/
> >> MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
> >> Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga
ningun
> >> derecho / This posting is provided "AS IS" with no warranties, and
> >> confers
> >> no rights.
> >> "Mauro" wrote in message
> >> news:u$
> >> > hay alguna forma de indicarle al sqlserver que escriba en su log


los
> >> > deadlocks cuando se produzcan??
> >> >
> >> >
> >>
> >>
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida