SQL Server 2000 - Depuração de Deadlocks
-
09-06-2019 - |
Pergunta
Eu estou procurando sugestões sobre como depurar e perseguir problemas de bloqueio no SQL Server 2000 banco de dados.Eu tinha-me recomendado usar sinalizadores de rastreamento de 1024 e 3605, que eu encontrei de me dar a seguinte:
1024 - este sinalizador de rastreio retorna o tipo de bloqueios que participam o bloqueio e o atual comando afetados.
3605 - este sinalizador de rastreio envia a saída de rastreamento para o log de erro.
Específicas, procedimentos armazenados, índices e tabelas ainda precisa ser descoberto, de modo que o objetivo é usar esses sinalizadores de rastreamento para fazê-lo.E então a partir daí eu vou saber melhor o que os índices de necessidade de ajuste, fecho dicas para optimização de consultas e potencial sproc bugs para corrigir.
Qualquer outra sugestão ou final feliz histórias de guerra em perseguir tudo isso para problemas comuns?
Solução
Aqui está a bíblia no bloqueio de solução de problemas: http://blogs.msdn.com/bartd/archive/2006/09/09/Deadlock-Troubleshooting_2C00_-Part-1.aspx
Outras dicas
Muito útil script para analisar deadlocks: http://www.sommarskog.se/sqlutil/aba_lockinfo.html
Uma vez que você sabe o sql instruções envolvidas, um código de análise certamente irá ajudar.Alguns polegar regras são verificando a ordem em que as linhas são acessados e verificando o nível de isolamento utilizados para as instruções SQL.Um rastreamento do profiler pode ajudar muito.
Na maioria das vezes, é por causa de um leitor de tentar para obter um bloqueio compartilhado em um recurso bloqueado exclusivamente por um escritor.