Come monitorare i deadlock


11

Quando si inizia a risolvere i deadlock di SQL Server 2005/2008 e come? L'avviso viene attivato su SSMS tramite avviso condizione prestazioni SQL Server, oggetti-> SQL Server: blocchi, contatore-> blocco attese / sec, istanza: _Totale, avviso se contatore: supera il valore 3. È un modo proattivo di monitorarlo? Qual è il valore accettabile? Apprezzerei molto il tuo aiuto. Grazie!!!

Risposte:



3

La prima cosa da fare è guardare il grafico del deadlock e vedere esattamente cosa sta succedendo. Quindi puoi considerare le tue opzioni, che di solito si riducono a a) modificare l'applicazione per standardizzare su un ordine di oggetti bloccati (ad es. Se possibile data la logica dell'applicazione, fare una convenzione con i tuoi sviluppatori per bloccare sempre le tabelle in ordine alfabetico) oppure b ) verifica se stai effettivamente operando al livello di isolamento appropriato in ciascuna transazione.


Secondo stackoverflow.com/a/112256/14731 un ordine di blocco coerente non impedisce i deadlock.
Gili,

3

Vorrei andare con la traccia automatica lato server di 2 problemi principali:

  • query lunghe (stabilisci una durata lunga per il tuo ambiente)

  • deadlock: controlla il grafico dei deadlock e Lock: catena deadlock

Riceverai i file di traccia ogni giorno e potrai monitorare l'azione - vedi se alcuni eventi pianificati stanno causando problemi. Puoi vedere maggiori dettagli sulla profilazione della produzione in questa domanda: Utilizzo di SQL Profiler su un database in produzione .



1

System Center Operations Manager (SCOM) con il Management Pack di SQL Server può avvisare su situazioni di stallo, se si attiva la registrazione per il messaggio 1205. È possibile attivare con la seguente query SQL: EXEC sp_altermessage 1205, 'WITH_LOG', 'true'.

Inoltre, vedi la mia risposta a "Perché il nome oggetto e il nome indice non sono popolati nel grafico deadlock?" per uno script di PowerShell ho scritto che estrarrà le informazioni di deadlock dal buffer degli eventi e scriverà i grafici di deadlock come file xdl che possono essere aperti in SQL Management Studio 2012 o versione successiva o visualizzati nel blocco note per visualizzare ulteriori dettagli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.