Ferramentas para monitoramento e ajuste de desempenho

O MicrosoftSQL Server fornece um conjunto abrangente de ferramentas para monitorar eventos no SQL Server e ajustar o design de 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, encontra-se as ferramentas de monitoramento e ajuste do SQL Server:

Ferramenta

Descrição

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 os eventos capturados no SQL Server, etapa a etapa, para determinar o que aconteceu exatamente.

Monitorando 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 lhe permite monitorar o desempenho e a atividade de 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 que o Monitor do Sistema monitora o uso de recursos associado a processos de servidor.

Como abrir o Monitor de Atividade (SQL Server Management Studio)

O Monitor de Atividade do SQL Server Management Studio exibe informações graficamente sobre:

  • Processos em execução em uma instância do SQL Server.

  • Processos bloqueados.

  • Bloqueios.

  • Atividade de usuário.

Isto é útil para exibições ad hoc da atividade atual.

Apresentando o Rastreamento SQL

Procedimentos armazenados Transact-SQL que criam, filtram e definem rastreamentos:

Monitorando os logs de erros

O log de eventos dos aplicativos 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 do 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.

Procedimentos armazenados do sistema (Transact-SQL)

Os seguintes procedimentos armazenados do sistema do SQL Server constituem uma excelente alternativa para muitas tarefas de monitoramento:

Procedimento armazenadoDescrição
sp_who (Transact-SQL)Fornece informações retratando usuários e processos do SQL Server atuais, inclusive a instrução executada atualmente e se 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, inclusive uso de CPU, uso de E/S e a quantidade de tempo ocioso desde a última execução de sp_monitor.

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.

Funções [Transact-SQL]

Funções internas exibem estatísticas que retratam 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.

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).

Ajustando o design do banco de dados físico

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 ao banco 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 particionamentos.

Escolhendo uma ferramenta de monitoramento

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

Evento ou atividade

SQL Server Profiler

Monitor do Sistema

Monitor de Atividade

Transact-SQL

Logs de erros

Análise de tendência

Sim

Sim

 

 

 

Reprodução dos dados capturados

Sim

 

 

 

 

Monitoramento ad hoc

Sim

 

Sim

Sim

Sim

Geração de alertas

 

Sim

 

 

 

Interface gráfica

Sim

Sim

Sim

 

Sim

Uso em aplicativo personalizado

Sim 1

 

 

Sim

 

1 Usando procedimentos armazenados do sistema do 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.