SQL Server 2000 - Debug Deadlock
-
09-06-2019 - |
Domanda
Sto cercando suggerimenti su come eseguire il debug e inseguire deadlock problemi in un database di SQL Server 2000.Ho lo avevano consigliato anche a me di utilizzare il flag di traccia 1024 e 3605, che ho trovato mi danno il seguente:
1024 - questo flag di traccia restituisce il tipo di blocchi che fanno parte di stallo e la corrente di comando interessato.
3605 - questo flag di traccia invia l'output della traccia nel log degli errori.
La stored procedure specifiche, tabelle e indici devono ancora essere scoperti, quindi l'obiettivo è quello di utilizzare questi flag di traccia per farlo.E da lì poi ti faccio sapere meglio cosa gli indici hanno bisogno di regolazioni, chiusura suggerimenti per l'ottimizzazione delle query, e il potenziale di stored procedure bug da correggere.
Qualsiasi suggerimento o lieto fine storie di guerra sul inseguire tutto questo per problema comune?
Soluzione
Qui è la bibbia su deadlock risoluzione dei problemi: http://blogs.msdn.com/bartd/archive/2006/09/09/Deadlock-Troubleshooting_2C00_-Part-1.aspx
Altri suggerimenti
Molto utile script per l'analisi dei deadlock: http://www.sommarskog.se/sqlutil/aba_lockinfo.html
Una volta che sai le istruzioni sql coinvolti, un'analisi del codice sarà sicuramente di aiuto.Alcuni pollice regole di controllo per l'ordine in cui le righe sono accessibili e di controllo per il livello di isolamento utilizzati per le istruzioni SQL.Una traccia di profiler può aiutare molto.
La maggior parte del tempo, è a causa di un lettore cercando di ottenere un blocco condiviso una risorsa bloccata esclusivamente da uno scrittore.