Monitorando deadlocks com Trace Flags por Paulo Ribeiro Essa matéria é uma continuação do assunto DeadLocks, iniciado em “Monitoramento de DeadLocks com o Profiler”. O que são trace flags Trace flags são utilizadas para alterar temporariamente o comportamento padrão de funcionamento do SQL Server (=customização) Como ativar uma trace flag Uma trace flag é identificada por um código numérico, e pode ser ativada de duas formas: · Na sessão com o comando DBCC TRACEON(<id-trace>) Como desativar uma trace flag Para desativar uma trace execute DBCC TRACEOFF(<id-trace>) . Observação: para ativar e/ou desativar uma trace flag, é necessário que o usuário pertença ao server role SysAdmin Monitorando DeadLocks com a trace flag 1204 A trace flag 1204 pode ser utilizada para que as conexões e respectivos comandos que ocasionaram o deadlock sejam detalhados no log de erros do SQL Server. O código presente na Listagem 1 irá ativar a trace flag e depois simular um deadlock. -- Executar na sessao-1 Figura 1. Analise do log de erros do SQL Server listado à partir da procedure SP_READERRORLOG Algumas observações: · No instante identificado pela marca (1) ocorreu um deadlock. Como a trace flag 1204 não estava ativa, o registro do log é superficial; ü Os spid´s envolvidos no deadlock estão identificados pela marca (4): 51 e 52; Conclusão Deadlocks degradam performance e precisam ser investigados. A trace flag 1204 é uma boa opção para mapeamento e identificação dos processos e comandos que desencadeiam o deadlock; sua ativação é simples e descomplicada o os resultados bastante proveitosos. Bem, a dica foi essa. Um grande abraço e até a próxima !
|
|
|||||||||||||
Todos
os direitos reservados: DevMedia Group |