Ferramentas para monitoramento e ajuste de desempenho

Aplica-se a:SQL Server

O Microsoft SQL Server oferece um conjunto abrangente de ferramentas para monitorar eventos no SQL Server e ajustar o design do banco de dados físico. A escolha da ferramenta depende do tipo de monitoramento ou de ajuste a ser feito e dos eventos em particular a monitorar.

A seguir, veja as ferramentas de monitoramento e ajuste do SQL Server:

Ferramenta Descrição
Funções internas (Transact-SQL) Funções internas exibem estatísticas instantâneas sobre a atividade do SQL Server desde o momento em que o servidor foi iniciado; essas estatísticas são armazenadas em contadores predefinidos do SQL Server. Por exemplo, @@CPU_BUSY contém a quantidade de tempo de execução do código do SQL Server pela CPU; @@CONNECTIONS contém o número de conexões ou tentativas de conexão do SQL Server; e @@PACKET_ERRORS contém o número de pacotes de rede que ocorrem em conexões do SQL Server.
DBCC (Transact-SQL) Instruções DBCC (Database Console Command) lhe permitem examinar as estatísticas de desempenho e a consistência lógica e física de um banco de dados.
Orientador de Otimização do Mecanismo de Banco de Dados (DTA) O Orientador de Otimização do Mecanismo de Banco de Dados analisa os efeitos sobre o desempenho das instruções Transact-SQL executadas em relação aos bancos de dados que se deseja ajustar. O Orientador de Otimização do Mecanismo de Banco de Dados dá recomendações sobre adição, remoção ou modificações de índices, exibições e partições.
DEA (Assistente para Experimentos de Banco de Dados) O DEA (Assistente para Experimentos de Banco de Dados) é uma nova solução de teste A/B para o SQL Server. Ele ajuda na avaliação de uma versão direcionada do Mecanismo de Banco de Dados do SQL Server para uma determinada carga de trabalho. Ao atualizar de versões do SQL Server anteriores (SQL Server 2005 (versão 9.x e superiores)) para qualquer versão mais recente do SQL Server, o DEA poderá fornecer as métricas de análise comparativa.
Logs de Erros O log de eventos do aplicativo Windows fornece um panorama dos eventos que ocorrem nos sistemas operacionais Windows Server e Windows como um todo, bem como dos eventos no SQL Server, no SQL Server Agent, e em pesquisas de texto completo. Ele contém informações sobre eventos no SQL Server que não se encontram em nenhum outro lugar. Você pode usar as informações do log de erros para solucionar problemas relacionados ao SQL Server.
Eventos estendidos Eventos Estendidos são um sistema de monitoramento de desempenho de peso leve que usa poucos recursos de desempenho. Os Eventos Estendidos fornecem três interfaces gráficas do usuário (Assistente de Nova Sessão, Nova Sessão e XE Profiler) para criar, modificar, exibir e analisar os dados da sessão.
Funções e exibições de gerenciamento dinâmico relacionadas à execução (Transact-SQL) DMVs relacionadas à execução permitem a você verificar informações relacionadas à execução.
Estatísticas de Consulta Dinâmica (LQS) Exibe estatísticas em tempo real sobre as etapas de execução da consulta. Como esses dados estão disponíveis durante a execução da consulta, essas estatísticas de execução são extremamente úteis para depurar problemas de desempenho de consulta.
Monitorar o uso de recursos (Monitor do Sistema) O Monitor do Sistema rastreia, principalmente, o uso de recursos, como o número de solicitações de páginas do gerenciador de buffers em uso, o que permite monitorar o desempenho e a atividade do servidor por meio de objetos e contadores ou de contadores definidos pelo usuário para monitorar eventos. O Monitor do Sistema (Monitor de Desempenho, no Microsoft Windows NT 4.0) coleta contagens e taxas, e não dados, acerca dos eventos (por exemplo, uso de memória, número de transações ativas, números de bloqueios ou atividade de CPU). Você pode definir limites em contadores específicos para gerar alertas que notificam operadores.

O Monitor do Sistema funciona nos sistemas operacionais Microsoft Windows Server e Windows. Pode monitorar (remota ou localmente) uma instância do SQL Server no Windows NT 4.0 ou posterior.

A principal diferença entre o SQL Server Profiler e o Monitor do Sistema é que o SQL Server Profiler monitora eventos do Mecanismo de Banco de Dados, enquanto o Monitor do Sistema monitora o uso de recursos associado a processos de servidor.
Abrir o Monitor de Atividade (SQL Server Management Studio) O Monitor de Atividade no SQL Server Management Studio é útil para exibições ad hoc da atividade atual, além disso, exibe graficamente informações sobre:

– Processos em execução em uma instância do SQL Server
– Processos bloqueados
– Bloqueios
– Atividade de usuário
Painel de Desempenho O Painel de Desempenho no SQL Server Management Studio ajuda a identificar rapidamente se há qualquer gargalo de desempenho no SQL Server.
Assistente de Ajuste de Consulta (QTA) O recurso QTA (Assistente de Ajuste de Consulta) orientará os usuários pelo fluxo de trabalho recomendado para manter a estabilidade do desempenho durante as atualizações para as versões mais recentes do SQL Server, conforme documentado na seção Manter a estabilidade do desempenho durante a atualização para o SQL Server mais recente dos Cenários de uso do Repositório de Consultas.
Repositório de Consultas O recurso Repositório de Consultas fornece informações sobre escolha e desempenho do plano de consulta. Ele simplifica a solução de problemas, ajudando você a identificar rapidamente diferenças de desempenho causadas por alterações nos planos de consulta. O Repositório de Consultas captura automaticamente um histórico das consultas, dos planos e das estatísticas de runtime e os mantém para sua análise. Ele separa os dados por janelas por hora, permitindo que você veja os padrões de uso do banco de dados e entenda quando as alterações aos planos de consulta ocorreram no servidor.
Rastreamento do SQL Procedimentos armazenados no Transact-SQL que criam, filtram e definem rastreamentos:

sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
SQL Server Distributed Replay O Microsoft SQL Server Distributed Replay pode usar vários computadores para reproduzir dados de rastreamento, simulando uma carga de trabalho crítica.
sp_trace_setfilter (Transact-SQL) O SQL Server Profiler rastreia eventos de processos do mecanismo, como o início de um lote ou de uma transação, o que lhe permite monitorar a atividade de servidor e de banco de dados (por exemplo, deadlocks, erros fatais e atividade de logon). Você pode capturar dados do SQL Server Profiler em uma tabela do SQL Server ou em um arquivo para análise posterior, bem como reproduzir passo a passo os eventos capturados no SQL Server para determinar o que aconteceu exatamente.
Procedimentos armazenados do sistema (Transact-SQL) Os seguintes procedimentos armazenados do sistema do SQL Server constituem uma excelente alternativa para muitas tarefas de monitoramento:

sp_who (Transact-SQL):
Fornece informações instantâneas sobre usuários e processos atuais do SQL Server, inclusive a instrução executada atualmente e se ela está bloqueada.

sp_lock (Transact-SQL):
Fornece informações retratando bloqueios, inclusive a ID de objeto, ID de índice, tipo de bloqueio e tipo ou recurso ao qual se aplica o bloqueio.

sp_spaceused (Transact-SQL):
Exibe uma estimativa da quantidade atual de espaço em disco utilizada por uma tabela (ou pelo banco de dados inteiro).

sp_monitor (Transact-SQL):
Exibe estatísticas, incluindo o uso da CPU, uso de E/S e a quantidade de tempo ocioso desde a última execução de sp_monitor .
Sinalizadores de rastreamento (Transact-SQL) Sinalizadores de rastreamento exibem informações sobre uma atividade específica no servidor e são usados para diagnosticar problemas ou questões de desempenho (por exemplo, cadeias de deadlock).

Escolhendo uma ferramenta de monitoramento

A escolha de uma ferramenta de monitoramento depende do evento ou da atividade a ser monitorada.

Evento ou atividade Eventos estendidos SQL Server Profiler Distributed Replay Monitor do Sistema Monitor de Atividade Transact-SQL Logs de Erros Painel de Desempenho
Análise de tendência Sim Sim Sim
Reprodução dos eventos capturados Sim (de um único computador) Sim (de vários computadores)
Monitoramento ad hoc Sim1 Sim Sim Sim Sim Sim
Geração de alertas Sim
Interface gráfica Sim Sim Sim Sim Sim Sim
Uso em aplicativo personalizado Sim Sim2 Sim

1 Usando o SQL Server Management Studio XEvent Profiler
2 Usando procedimentos armazenados do sistema SQL Server Profiler.

Ferramentas de monitoramento do Windows

Os sistemas operacionais Windows e Windows Server 2003 também fornecem as seguintes ferramentas de monitoramento.

Ferramenta Descrição
Gerenciador de Tarefas Mostra uma sinopse dos processos e aplicativos em execução no sistema.
Agente do monitor da rede Monitora o tráfego da rede.

Para obter mais informações sobre ferramentas dos sistemas operacionais Windows ou Windows Server, consulte a documentação do Windows.