Eu tenho discutido com um DBA e alguns caras de hardware sobre problemas de desempenho em nosso servidor SQL. Normalmente está tudo bem, no entanto, nas últimas semanas, temos tido grandes picos de atraso no servidor sql. É claro que o SQL Server está aguardando na E / S do disco. Mas eu continuo sendo informado de que é porque o SQL Server está solicitando uma E / S anormalmente alta. O que não é o caso. Percebo pelo que está sendo executado que não há nada fora do normal, e tudo o que o DBA se importa é o que está causando o bloqueio e assim por diante, o que é inútil. Por exemplo, a principal coisa que vemos como backup é a operação no banco de dados ASPState, que estamos usando para gerenciar o estado da sessão ASP nos servidores da web. Essas operações normalmente nunca são vistas nos resultados ativos do Sp_who2 porque ocorrem muito rapidamente. O banco de dados está no modo de recuperação simples e o log é miminal. No entanto, durante esses picos de atraso, podemos ver muitas operações de seleção e atualização no banco de dados bloqueadas ou em espera. Tenho certeza de que o que está acontecendo é que alguém ou algum trabalho está executando algo que está causando o uso de disco heavey nas matrizes de ataque usadas para o log e os arquivos de dados dos bancos de dados. O problema está provando isso, já que ninguém quer admitir que está fazendo algo que está matando nosso site.
Minha pergunta é: quais contadores de desempenho ou o que eu posso registrar, ajudará a mostrar que o SQL Server está aguardando E / S, mas não porque está pedindo mais do que normalmente, em vez disso, porque o disco está ocupado para responder às solicitações do sql server tão rapidamente quanto normalmente?