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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top