Maninupando Deadlocks

Deadlocks são situações transitórias basicamente causados por mau timing. Se queries que estão rodando em duas sessões forem concluídas ao mesmo tempo, o deadlock pode ser evitado.

Da mesma forma, se um processo tem iniciado uma pequena quantidade de tempo depois, o deadlock nunca irá acontecer. Um Deadlock é um estado transitório de bloqueio, as aplicações deveriam ser projetadas para detectar esses estados que retornam um erro 1205 e imediatamente bloqueia a transação já que há uma grande probabilidades de o deadlock ocorrer novamente.

No SQL Server 2008 podemos monitorar os deadlocks com o SQL Server Profiler, utilizando a opção de evento Locks e o Deadlock graph.

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe uma resposta