Compartilhe agora:
Conteúdo esconder

1. Introdução a SQL Server monitor de desempenho

1.1 O que é SQL Server Monitor de desempenho?

SQL Server O monitor de desempenho é o processo de rastrear, analisar e gerenciar o desempenho e a saúde do seu SQL Server bancos de dados. Envolve a coleta e a interpretação de dados sobre vários aspectos do seu sistema de banco de dados para garantir o desempenho ideal, prevenir problemas e manter a integridade do banco de dados.

O monitoramento de desempenho abrange o acompanhamento dos tempos de execução de consultas, utilização de recursos, desempenho de índices, bloqueios e deadlocks, e padrões de crescimento do banco de dados. Essa supervisão contínua ajuda os administradores a identificar potenciais problemas antes que eles afetem os usuários ou as operações comerciais.

1.2 Principais benefícios do monitoramento de desempenho

Eficaz SQL Server O monitor de desempenho oferece diversas vantagens críticas:

  • Detecção proativa de problemas: Identificar e resolver problemas potenciais antes que eles afetem os usuários ou as operações comerciais
  • Otimização de performance: Identifique gargalos e ineficiências para melhorar o desempenho geral do banco de dados
  • Planejamento de capacidade: Prever as necessidades de recursos e planejar o crescimento futuro com base em dados históricos
  • Conformidade e segurança: Garantir a adesão aos requisitos regulamentares e detectar atividades suspeitas

1.3 Desafios comuns de desempenho

Sem um monitor de desempenho de banco de dados SQL adequado, as organizações enfrentam vários riscos:

  • Tempo de inatividade inesperado que interrompe as operações comerciais
  • Baixo desempenho do aplicativo afetando a experiência do usuário
  • Perda ou corrupção de dados
  • Utilização ineficiente de recursos, resultando em custos desnecessários.
  • Usuários frustrados e potencial perda de receita

De acordo com um estudo da IDC de 2023, 65% dos problemas de desempenho de banco de dados decorrem de práticas inadequadas de monitoramento ou otimização.

2. Compreendendo o Monitor de Desempenho do Windows (PerfMon)

2.1 O que é o Monitor de Desempenho do Windows?

O Monitor de Desempenho do Windows (PerfMon) é uma ferramenta integrada do Windows que monitora os recursos do sistema e o desempenho dos aplicativos. SQL Server administradores, o PerfMon fornece insights valiosos sobre o sistema operacional e SQL Server métricas, tornando-as essenciais para uma análise abrangente de desempenho.

Monitor de desempenho do Windows (PerfMon)

O PerfMon mede estatísticas de desempenho em intervalos regulares e salva essas estatísticas em arquivos para análise posterior. Os administradores de banco de dados podem selecionar o intervalo de tempo, o formato do arquivo e quais estatísticas monitorar. A ferramenta não é SQL Server-específico — os administradores de sistema o usam para monitorar o próprio Windows, o Exchange, servidores de arquivos e qualquer aplicativo que possa apresentar gargalos.

2.2 Iniciando o Monitor de Desempenho

Você pode iniciar o Monitor de Desempenho usando vários métodos:

  1. Clique Começar, Tipo perfmon na caixa de pesquisa, clique em “Performand Monitor” no resultado da pesquisa:
    Pesquise e inicie o PerfMon na caixa de pesquisa do Windows.
  2. Imprensa Windows + R, Tipo perfmone pressione Entrar
    Inicie o PerfMon a partir da caixa de diálogo Executar do Windows.
  3. Acessar Painel de controle -> Sistema e Segurança -> Ferramentas administrativas -> monitor de desempenho
    Inicie o PerfMon em Painel de Controle -> Sistema e Segurança -> Ferramentas Administrativas -> Monitor de Desempenho.

3. essencial SQL Server Contadores de desempenho

3.1 Contadores de desempenho de memória

Os contadores de memória são essenciais para o monitoramento SQL Server desempenho, pois indicam se seu banco de dados tem recursos de memória suficientes.

MBytes disponíveis

Este contador mostra a quantidade de memória física imediatamente disponível para alocação. Ela deve permanecer relativamente constante e, idealmente, não cair abaixo de 4096 MB. Valores baixos podem indicar que SQL ServerA configuração de memória máxima é deixada como padrão ou nãoSQL Server os aplicativos estão consumindo memória.

Expectativa de vida da página

A Expectativa de Vida da Página mede quanto tempo (em segundos) uma página permanece no buffer pool sem ser referenciada. Um valor normal é 300 segundos ou mais. Valores mais baixos indicam pressão de memória e rotatividade excessiva do buffer, reduzindo a eficácia do cache.

Taxa de acerto do cache de buffer

Este contador indica a porcentagem de solicitações de dados respondidas usando o cache do buffer SQL (memória) em vez da leitura do disco. Geralmente, atinge ou excede 99%. Valores mais baixos sugerem que SQL Server Precisa de mais memória ou ainda está aquecendo após a reinicialização.

Concessões de memória pendentes

Isso mostra o número de processos aguardando memória dentro SQL Server. Em condições normais, esse valor deve ser consistentemente 0. Valores mais altos indicam alocação de memória insuficiente para SQL Server.

Memória alvo do servidor vs. Memória total do servidor

A memória de destino do servidor indica a quantidade ideal de memória. SQL Server quer usar. A memória total do servidor mostra o que SQL Server usa atualmente. A proporção entre esses valores deve ser de aproximadamente 1. Diferenças significativas podem indicar pressão de memória ou memória disponível insuficiente.

3.2 Contadores de desempenho do processador

Os contadores de CPU ajudam a identificar gargalos do processador e a entender como SQL Server utiliza recursos de computação.

% Tempo do Processador

Isso mede a porcentagem de tempo decorrido que o processador gasta executando threads não ociosas. Em servidores ativos, os valores podem chegar a 100%, mas o uso sustentado acima de 70-75% geralmente indica problemas de desempenho para os usuários. Índices ausentes ou inadequados costumam causar alto uso da CPU.

% Tempo Privilegiado

O tempo do processador é dividido entre o modo Usuário e o modo Privilegiado (Kernel). Todo o acesso ao disco e E/S ocorrem no modo Kernel. Se esse contador exceder 25%, o sistema provavelmente está executando E/S em excesso. Os valores normais variam entre 5% e 10%.

Comprimento da fila do processador

Este contador mostra threads aguardando recursos da CPU. Valores consistentemente acima de 1 (exceto durante SQL Server compressão de backup) indicam pressão da CPU. Isso geralmente significa que outros aplicativos estão instalados no SQL Server máquina, o que viola as melhores práticas.

Trocas de contexto/seg

Mede a frequência com que o processador alterna entre threads. A alternância excessiva de contexto pode afetar o desempenho e indica alta carga do sistema.

3.3 Contadores de desempenho de E/S de disco

Os contadores de disco são essenciais para o monitoramento de desempenho do SQL, pois a E/S de disco geralmente se torna o principal gargalo em sistemas de banco de dados.

% Tempo de Disco

Isso registra a porcentagem de tempo em que o disco esteve ocupado com operações de leitura/gravação. Valores consistentemente acima de 85% indicam um gargalo de E/S. Como o disco é muito mais lento que a memória, reduzir essa métrica melhora o desempenho.

Média de disco seg/leitura e média de disco seg/gravação

Esses contadores medem o tempo médio (em segundos) para operações de leitura e gravação. Se os valores médios excederem 10-20 ms, o disco demora muito para processar os dados. Unidades de log de transações exigem um desempenho de gravação especialmente rápido.

Comprimento da fila de disco

Isso mostra solicitações pendentes de leitura/gravação no disco. Valores consistentemente maiores que 2 (ou 2 por disco para matrizes RAID) indicam que o disco não consegue atender às solicitações de E/S.

Bytes de disco/s

Monitora a taxa de transferência de dados de/para o disco. Se exceder a capacidade nominal do disco, os dados começam a acumular, conforme indicado pelo aumento do Comprimento da Fila do Disco.

Transferências de disco/s

Isso rastreia o número de operações de leitura/gravação realizadas no disco. SQL Server O acesso aos dados normalmente é aleatório, o que torna o acesso mais lento devido ao movimento da cabeça do disco. Certifique-se de que esse valor permaneça abaixo da capacidade máxima do seu disco rígido (normalmente 100/seg para discos padrão).

3.4 SQL Server Contadores Específicos

3.4.1 Contadores do Gerenciador de Buffer

Monitor de contadores do Buffer Manager SQL ServerOperações de buffer de memória:

  • Leituras de páginas/seg: Contagem cumulativa de leituras de páginas de banco de dados físico
  • Páginas escritas/seg: Contagem cumulativa de gravações de páginas de banco de dados físico
  • Escrita preguiçosa/seg: Número de buffers gravados pelo escritor preguiçoso para liberar memória
  • Páginas de ponto de verificação/seg: Páginas liberadas por ponto de verificação ou outras operações que exigem que todas as páginas sujas sejam liberadas

3.4.2 Contadores de estatísticas SQL

Esses contadores fornecem informações sobre SQL Server processamento de consulta:

  • Solicitações em lote/seg: Número de solicitações em lote de SQL recebidas pelo servidor. Isso serve como referência para a atividade do servidor.
  • Compilações SQL/seg: Número de compilações SQL. Deve ser 10% ou menos do total de solicitações em lote/seg.
  • Recompilações SQL/seg: Número de recompilações de SQL. Também deve ser 10% ou menos do total de solicitações em lote/seg.

3.4.3 Contadores de Estatísticas Gerais

  • Conexões do usuário: Número de usuários conectados ao sistema. Usado como referência para monitorar o crescimento da conexão ao longo do tempo.
  • Processos bloqueados: Contagem atual de processos bloqueados. Idealmente, deve ser 0.

3.4.4 Contadores do Gerenciador de Memória

  • Concessões de memória pendentes: Número total de processos aguardando a concessão de memória do espaço de trabalho. Idealmente, deve ser 0.

4. Configurando o Monitor de Desempenho para SQL Server(Windows Vista / Server 2008 e posterior)

Primeiro, precisamos criar um contêiner para gerenciar os contadores com mais facilidade:

  • Para Windows Vista/Server 2008 e versões posteriores, você pode criar Conjuntos de Coletores de Dados nesta seção.
  • Para Windows XP / Server 2003 e versões anteriores, você pode criar Logs de Contador em a próxima seção.

4.1 O que são conjuntos de coletores de dados?

Os Conjuntos de Coletores de Dados organizam contadores de desempenho, dados de rastreamento de eventos e informações de configuração do sistema em uma única unidade de coleta. Eles oferecem mais flexibilidade do que simples registros de contadores e permitem a coleta de dados automatizada e programada para um monitoramento abrangente do desempenho do banco de dados SQL.

4.2 Criando um conjunto de coletores de dados

Crie um conjunto de coletores de dados personalizado para monitorar SQL Server contadores de desempenho:

  1. Monitor de desempenho aberto
  2. Expandir Conjuntos de coletores de dados
  3. Botão direito do mouse Usuário definido
  4. Selecionar New -> Conjunto de coletores de dados
    Crie um novo conjunto de coletores de dados no PerfMon
  5. Insira um nome descritivo (por exemplo, “SQL Server Métricas de Desempenho”)
  6. Selecionar Criar manualmente (avançado)
    Defina um nome de descrição para o Conjunto de Coletores de Dados
  7. Clique Seguinte
  8. Verifique Criar logs de dados -> Contador de desempenho
    Selecione Criar logs de dados -> Contador de desempenho no assistente Criar novo conjunto de coletores de dados.
  9. Clique Seguinte
  10. Clique Adicione para selecionar contadores
  11. Adicione desejado SQL Server e contadores do sistema.
    Adicione contadores de desempenho ao novo Conjunto de Coletores de Dados.
  12. Conjunto Intervalo de amostra
    • Para monitoramento de rotina, use 1 minuto (60 segundos)
    • Para solução de problemas ativa, use 15 a 30 segundos
    • Evite executar capturas de alta frequência a longo prazo, pois elas podem afetar o desempenho e gerar dados excessivos.

    Defina o intervalo de amostra no novo assistente do Conjunto de Coletores de Dados.

  13. Clique Seguinte
  14. Escolha o local para salvar os logs
    Defina o local para salvar os dados de desempenho no novo assistente do Conjunto de Coletores de Dados.
  15. Clique Acabamento, um novo Conjunto de Coletores de Dados será criado.
  16. Por padrão, o novo Conjunto de Coletores de Dados irá NÃO Pode ser iniciado automaticamente. Você precisa encontrá-lo no painel esquerdo, em Desempenho -> Conjuntos de coletores de dados -> Usuário definido -> Seu Coletor de Dados, clique com o botão direito e escolha Começar
    Inicie um novo conjunto de coletores de dados no PerfMon.

4.3 Contadores de teclas para adicionar

  • Memória -> MBytes disponíveis
  • Disco físico -> Média de disco s/leitura (todas as instâncias, exceto _Total)
  • Disco físico -> Média de disco s/gravação (todas as instâncias, exceto _Total)
  • Disco físico -> Leituras de disco/seg (todas as instâncias, exceto _Total)
  • Disco físico -> Gravações em disco/seg (todas as instâncias, exceto _Total)
  • Processador -> % Tempo do Processador (todas as instâncias, exceto _Total)
  • SQLServer: Estatísticas gerais -> Conexões do usuário
  • SQLServer: Gerenciador de Memória -> Concessões de Memória Pendentes
  • SQLServer: Estatísticas de SQL -> Solicitações em lote/seg
  • SQLServer: Estatísticas SQL -> Compilações SQL/seg
  • SQLServer: Estatísticas SQL -> Recompilações SQL/seg
  • Sistema -> Comprimento da fila do processador

4.4 Definindo condições de parada

Configure condições de parada para evitar o crescimento ilimitado de dados:

  1. Após criar o Conjunto de Coletores de Dados, clique com o botão direito e selecione Propriedades
  2. Clique na Condição de parada aba
  3. Permitir Duração geral
  4. Definir duração para 1 dia (24 horas)
  5. Clique OK para salvar

Defina a condição de parada para o Conjunto de Coletores de Dados

Isso garante que o registro não cresça demais e reinicie automaticamente se estiver agendado.

4.5 Agendamento da coleta de dados

Automatize a coleta de dados para garantir um monitoramento consistente:

  1. Clique com o botão direito do mouse no seu Conjunto de Coletores de Dados e selecione Propriedades
  2. Clique na Programação do dia aba
  3. Clique Adicione para criar uma nova programação
  4. Configure a data e hora de início.
  5. Definir padrão de recorrência (por exemplo, diariamente)
  6. Clique OK para salvar a programação

Defina a programação para o Conjunto de Coletores de Dados

Para inicialização automática, configure o Conjunto de Coletores de Dados para iniciar quando o servidor for inicializado, criando um gatilho de inicialização no Agendador de Tarefas do Windows.

5. Configurando o Monitor de Desempenho para SQL Server(Windows XP / Server 2003 e anteriores)

Para Windows XP/Server 2003 e versões anteriores, você pode criar Logs de Contadores, que permitem selecionar um conjunto de contadores de desempenho e registrá-los em um arquivo periodicamente.

5.1 Criando Logs de Contadores

Siga estas etapas para criar um novo registro de contador:

  1. Monitor de desempenho aberto
  2. Expandir Logs e alertas de desempenho no painel esquerdo
  3. Botão direito do mouse Registros de contador
  4. Selecionar Novas configurações de log
  5. Nomeie o log com o nome do seu servidor de banco de dados (por exemplo, “ProductionSQL01”)
  6. Clique OK para iniciar a configuração

Criar logs de contadores separados para cada servidor permite que você teste o desempenho em servidores individuais sem coletar dados de todos os servidores simultaneamente.

5.2 Adicionando contadores de desempenho

Depois de criar um log de contador, adicione os contadores de desempenho específicos que você deseja monitorar:

  1. Clique na Adicionar contadores botão
  2. Altere o nome do computador para apontar para o seu SQL Server instância
  3. Imprensa Aba para carregar objetos de desempenho disponíveis
  4. Selecione um objeto de desempenho no menu suspenso (por exemplo, Memória)
  5. Escolha contadores específicos de a lista
  6. Selecione as instâncias, se aplicável (por exemplo, processadores ou discos individuais).
  7. Clique Adicione para incluir o contador
  8. Repita para todos os contadores desejados
  9. Clique Fechar quando terminado

5.3 Configurando intervalos de amostragem

O intervalo de amostragem determina a frequência com que o Monitor de Desempenho coleta dados. Configure intervalos apropriados com base nas suas necessidades de monitoramento:

  1. Nas propriedades do log do contador, localize Dados de amostra a cada
  2. Defina o intervalo (o padrão é 15 segundos)
  3. Para monitoramento de linha de base, use intervalos de 1 minuto para coleta diária
  4. Para solução de problemas, use intervalos de 15 a 30 segundos para rajadas curtas
  5. Clique OK aplicar

Lembre-se de que intervalos menores geram mais dados, o que pode ser mais difícil de renderizar e analisar. Intervalos maiores podem deixar passar picos importantes. Equilibre a granularidade dos dados com os requisitos de armazenamento e análise.

5.4 Configurando arquivos de log

A configuração adequada do arquivo de log garante que os dados sejam armazenados de forma eficiente e acessível:

  1. Clique na Os arquivos de log guia nas propriedades do log do contador
  2. Alterar o tipo de arquivo de log para Arquivo de texto (delimitado por vírgulas) para fácil importação do Excel
  3. Clique configurar
  4. Defina o caminho do arquivo para um local dedicado (por exemplo, uma pasta PerformanceLogs compartilhada)
  5. Clique OK confirmar

Use um compartilhamento acessível pela rede para armazenamento de logs para que você possa acessar arquivos remotamente e compartilhá-los com outros usuários.

5.5 Configurando credenciais

Configure as credenciais apropriadas para que o Performance Monitor possa acessar o controle remoto SQL Server instâncias:

  1. Nas propriedades do log do contador, localize Correr como
  2. Digite seu nome de usuário de domínio no formato: DOMÍNIO\nome de usuário
  3. Clique Definir senha
  4. Digite e confirme sua senha
  5. Clique OK para salvar

Isso permite que o serviço PerfMon reúna estatísticas usando suas permissões de domínio em vez de suas próprias credenciais.

6. Analisando dados do monitor de desempenho

6.1 Visualizando arquivos de log no Monitor de desempenho

O Performance Monitor pode exibir dados históricos de arquivos de log salvos:

  1. Monitor de desempenho aberto
  2. No painel esquerdo, clique em Ferramentas de monitoramento -> monitor de desempenho.
  3. Clique com o botão direito em qualquer lugar na área do gráfico
  4. Selecionar Propriedades
    Abra as propriedades no PerfMon clicando com o botão direito em qualquer lugar na área do gráfico.
  5. Clique na fonte aba
  6. Selecionar Os arquivos de log botao de radio
  7. Clique Adicione
  8. Navegue até seu arquivo de log (.blg ou .csv)
  9. Selecione o arquivo e clique Abra
    Defina o arquivo de log como a origem do gráfico no PerfMon.
  10. Use o Intervalo de tempo controle deslizante para selecionar o período que deseja analisar
  11. Clique OK para fechar a caixa de diálogo Propriedades
  12. Clique no ícone verde de mais para adicionar contadores do arquivo de log
    Clique no ícone de mais verde para adicionar contadores do arquivo de log no PerfMon.
  13. Selecione os contadores desejados para exibir
    Adicione os contadores desejados ao gráfico no PerfMon.
  14. Clique OK

O gráfico agora exibirá dados históricos do arquivo de log. Use o controle deslizante Intervalo de Tempo em Propriedades para restringir períodos específicos para uma análise detalhada.

6.2 Exportando dados para o Excel

O Excel fornece recursos poderosos de análise para dados do contador de desempenho:

  1. Abra o Monitor de Desempenho com seu arquivo de log carregado
  2. Clique com o botão direito em qualquer lugar na área do gráfico
  3. Selecionar Salvar dados como
  4. Escolha um local para o arquivo
  5. Selecionar Arquivo de texto (delimitado por vírgulas) (.csv) da lista suspensa
  6. Clique Economize
  7. Abra o arquivo CSV no Excel

Exporte os dados para um arquivo no PerfMon.

Formate os dados exportados para melhor análise:

  1. Exclua a linha 2 meio vazia e limpe a célula A1
  2. Formatar a coluna A como Data/Hora
  3. Formatar colunas numéricas com zero casas decimais e separador de milhares
  4. Encontre e substitua nomes de servidores em cabeçalhos (por exemplo, substitua “\\SERVERNAME” por espaço em branco)
  5. Limpe os nomes dos objetos nos cabeçalhos (por exemplo, “Memória”, “Disco Físico”, “Processador”)
  6. Reduza o tamanho da fonte do cabeçalho para 8 pontos para melhor visibilidade

6.3 Interpretando Valores de Contadores

6.3.1 Análise do Contador de Memória

Ao analisar contadores de memória, procure por estes indicadores:

  • MBytes disponíveis: Deve permanecer acima de 4096 MB consistentemente
  • Expectativa de vida da página: Valores acima de 300 segundos indicam memória saudável. Valores mais baixos sugerem pressão de memória.
  • Taxa de acerto do cache de buffer: Deve atingir ou exceder 99%. Valores mais baixos indicam leituras excessivas de disco
  • Concessões de memória pendentes: Deve ser sempre 0. Qualquer valor positivo indica falta de memória.

6.3.2 Análise do Contador de CPU

Os indicadores de desempenho da CPU incluem:

  • % Tempo do processador: Uso contínuo acima de 75% indica problemas de desempenho. Picos acima de 100% são normais, mas não devem persistir.
  • Comprimento da fila do processador: Valores acima de 1 indicam pressão da CPU. Verifique o Gerenciador de Tarefas para identificar quais processos consomem CPU.
  • % Tempo Privilegiado: Deve permanecer entre 5 e 10%. Valores acima de 25% sugerem operações excessivas de E/S.

6.3.3 Análise do contador de disco

Limites de desempenho do disco:

  • Média de disco por segundo/leitura e gravação: Deve permanecer abaixo de 10-20 ms. Valores mais altos indicam subsistemas de disco lentos.
  • Comprimento da fila de disco: Valores consistentemente acima de 2 (ou 2 por disco em RAID) indicam gargalos de E/S
  • % Tempo de disco: Valores sustentados acima de 85% indicam saturação do disco

6.4 Usando Fórmulas e Estatísticas

Adicione fórmulas estatísticas ao Excel para análise rápida:

  1. Insira 7 linhas em branco no topo da sua planilha
  2. Adicione rótulos na coluna A: Média, Mediana, Mín., Máx., Desvio Padrão
  3. Na célula B2, insira: =MÉDIA(B9:B100) (ajuste B100 para sua última linha de dados)
  4. Na célula B3, insira: =MEDIANA(B9:B100)
  5. Na célula B4, insira: =MIN(B9:B100)
  6. Na célula B5, insira: =MAX(B9:B100)
  7. Na célula B6, insira: =DESVPAD(B9:B100)
  8. Copiar fórmulas em todas as colunas do contador
  9. Selecione a célula B9 e pressione Alt+W+F+Enter para congelar os painéis

Essas estatísticas ajudam a identificar tendências, valores discrepantes e intervalos operacionais normais para cada contador.

7. Ferramenta de Análise de Desempenho para Logs (PAL)

7.1 Introdução ao PAL

O Performance Analysis for Logs (PAL) é uma ferramenta gratuita desenvolvida por Clint Huffman que analisa logs do Performance Monitor e gera relatórios HTML com análise de limites. O PAL compara seus dados de desempenho com limites conhecidos e fornece recomendações detalhadas para SQL Server Otimização de performance.

Baixe o PAL do repositório GitHub: https://github.com/clinthuffman/PAL Link Externo

7.2 Configurando PAL

Instale o PAL seguindo estas etapas:

  1. Baixe o arquivo de configuração PAL do GitHub
  2. Execute o programa de instalação
  3. Clique Seguinte na tela de boas-vindas
  4. Revise e aceite o diretório de instalação
  5. Clique Seguinte para continuar
  6. Clique Instale para iniciar a instalação
  7. Aguarde a instalação para concluir
  8. Clique Acabamento

7.3 Processando arquivos de log com PAL

Analise seus logs do Performance Monitor usando PAL:

  1. Inicie o PAL a partir do menu Iniciar ou do diretório de instalação.
  2. Clique na Registro do contador aba
  3. Clique Explorar para selecionar seu arquivo .blg
  4. Navegue até o arquivo de log do Monitor de Desempenho
  5. Clique Abra
  6. Clique na Arquivo de Limite aba
  7. Selecione um arquivo limite no menu suspenso (por exemplo, “SQL Server 2016 ")
  8. Clique na Perguntas aba
  9. Responda a perguntas sobre a configuração do seu sistema
  10. Especifique se o seu SQL Server é OLTP ou Data Warehouse
  11. Insira a RAM total disponível
  12. Clique na Opções de saída aba
  13. Selecione um diretório de saída para o relatório HTML
  14. Verifique HTML Formato de saída
  15. Clique na Execute aba
  16. Revise suas seleções
  17. Verifique Iniciar a execução agora
  18. Clique Acabamento

7.4 Analisando relatórios PAL

Após o PAL concluir a análise, ele gera um relatório HTML contendo:

  • Resumo executivo de problemas de desempenho
  • Análise detalhada do contador com gráficos
  • Violações de limite destacadas em cores
  • Recomendações específicas para cada questão
  • Tendências e padrões históricos

O relatório usa codificação de cores para indicar a gravidade: vermelho para problemas críticos, amarelo para avisos e verde para métricas saudáveis. Revise cada seção para entender os gargalos de desempenho e siga as recomendações do PAL para otimização.

8. Alternativa SQL Server Ferramentas de monitoramento

8.1 embutido SQL Server Ferramentas

8.1.1 SQL Server monitor de atividade

SQL Server monitor de atividade Exibe informações em tempo real sobre SQL Server processos e desempenho:

  1. Abra SQL Server Management Studio (SSMS) e conecte-se à sua instância do servidor
  2. Clique com o botão direito do mouse no nome do servidor no Object Explorer
  3. Selecionar monitor de atividade
    Iniciar o Monitor de Atividades em SQL Server Estúdio de Gestão.

O Activity Monitor exibe processos, esperas de recursos, E/S de arquivos de dados e consultas recentes e dispendiosas. Ele fornece insights rápidos sobre a atividade atual do banco de dados, mas não armazena dados históricos.

Monitor de atividades em SQL Server

8.1.2 SQL Server Painel de Desempenho

SQL Server O Management Studio inclui relatórios de desempenho integrados:

  1. In SQL Server Management Studio (SSMS), clique com o botão direito do mouse no SQL Server instância no Object Explorer
  2. Selecionar Relatórios -> Relatórios Padrão
  3. Escolha entre os relatórios disponíveis, como Painel de Desempenho
    Abra o Painel de Desempenho em SQL Server Estúdio de Gestão.

O Painel de Desempenho fornece insights visuais sobre SQL Server Desempenho da instância, incluindo utilização da CPU do sistema, solicitações em espera atuais e métricas de desempenho. Acesse pelo menu Relatórios Padrão.

Painel de desempenho em SQL Server Estúdio de Gestão

8.1.3 SQL Server Profiler

SQL Server Profiler capta e analisa SQL Server eventos como execução de consultas, operações de transação e atividades de login.

Para iniciar SQL Server Analisador:

  1. In SQL Server Estúdio de Gestão, clique Ferramentas -> SQL Server Profiler
    Começar SQL Server Profiler em SQL Server Estúdio de Gestão.

O Profiler gera uma sobrecarga de desempenho significativa, portanto, use-o com cautela e, de preferência, fora dos horários de pico. Na maioria dos casos, os Eventos Estendidos oferecem melhor desempenho com menor impacto.

SQL Server Profiler

8.1.4 Eventos Estendidos

Eventos Estendidos é um sistema leve de monitoramento de desempenho integrado em SQL Server. Substitui SQL Server Profiler com melhor desempenho e menor sobrecarga.

As principais características incluem:

  • Monitoramento detalhado de eventos específicos
  • Impacto mínimo no desempenho
  • Sessões de eventos personalizáveis
  • Integração com SSMS e outras ferramentas
  • Suporte para filtragem e agregação complexas

Crie sessões de eventos estendidos por meio do SSMS:

  1. In Explorador de Objetos, expanda seu servidor e vá para Gestão -> Eventos Estendidos -> Sessões
  2. Clique com o botão direito do mouse no Sessões e escolha Assistente de Nova Sessão
    Inicie uma nova sessão de Eventos Prolongados em SQL Server Estúdio de Gestão.
  3. Siga as instruções para iniciar uma nova sessão.

8.1.5 Visualizações de Gerenciamento Dinâmico (DMVs)

As DMVs expõem informações detalhadas sobre o estado do servidor para monitorar a integridade, diagnosticar problemas e ajustar o desempenho. As principais DMVs incluem:

  • sys.dm_exec_query_stats: Estatísticas de desempenho de consulta
  • sys.dm_os_wait_stats: Tipos de espera que afetam o desempenho do servidor
  • sys.dm_os_performance_counters: SQL Server dados do contador de desempenho
  • solicitações_exec_sys.dm: Solicitações em execução no momento
  • sys.dm_exec_sessions: Sessões de usuários ativos

Consulte essas visualizações usando T-SQL para acessar dados de desempenho em tempo real e métricas históricas.

Uso Básico

-- See all active connections
SELECT * FROM sys.dm_exec_connections;

-- View current sessions
SELECT * FROM sys.dm_exec_sessions;

-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);

8.2 Soluções de monitoramento de terceiros

Monitor SQL Redgate

O Redgate SQL Monitor é especializado em monitoramento SQL Server e ambientes de Banco de Dados SQL do Azure. Ele oferece monitoramento em toda a propriedade, alertas e painéis personalizáveis, recursos de relatórios detalhados e integração com outras ferramentas Redgate.

Redgate SQL Server Monitorar

SolarWinds SQL Server Ferramenta de Monitoramento

Os Ventos Solares SQL Server A ferramenta de monitoramento, também conhecida como SQL Sentry, foi projetada para diagnosticar, resolver e prevenir sérios problemas de desempenho com SQL Server.

SolarWinds SQL Server Ferramenta de Monitoramento

IDERA SQL Server Ferramenta de monitoramento de desempenho

O IDERA SQL Diagnostic Manager é uma ferramenta poderosa. SQL Server Ferramenta de monitoramento de desempenho projetada para auxiliar no monitoramento proativo, diagnóstico e ajuste de desempenho.

IDERA SQL Server Ferramenta de monitoramento de desempenho

Monitoramento SQL do Applications Manager

O Applications Manager oferece um Microsoft SQL Server Ferramenta de monitoramento que fornece soluções úteis de TI. Ele foi projetado para supervisionar o desempenho de bancos de dados SQL e, ao mesmo tempo, identificar bugs e resolver problemas que podem levar à interrupção das operações de uma organização.

Monitoramento SQL do Applications Manager

8.3 Ferramentas de monitoramento de código aberto

DBA Dash

O DBA Dash é uma ferramenta de monitoramento gratuita e de código aberto que fornece insights sobre SQL Server saúde, desempenho e atividade. É particularmente útil para ambientes de pequeno e médio porte e inclui verificações diárias do DBA, monitoramento de desempenho e rastreamento de configuração.

SQLWATCH

SQLWATCH oferece serviços descentralizados e quase em tempo real SQL Server Monitoramento com granularidade de 5 segundos para capturar picos de carga de trabalho. Suporta Grafana para painéis em tempo real e Power BI para análises aprofundadas. A ferramenta oferece amplas opções de configuração, sem necessidade de manutenção e escalabilidade ilimitada.

Observador

Desenvolvido pelo Stack Exchange, o Opserver monitora vários sistemas, incluindo SQL Server, Redis e Elasticsearch. Ele fornece uma visão de "todos os servidores" para estatísticas de CPU, memória, rede e hardware em toda a sua infraestrutura.

sp_WhoIsActive

sp_WhoIsActive é um procedimento armazenado abrangente de monitoramento de atividades criado por Adam Machanic. Funciona com todos SQL Server versões de 2005 até os lançamentos atuais e é amplamente utilizado por SQL Server DBAs para monitoramento de atividades em tempo real.

Para usar sp_WhoIsActive, baixe-o de http://whoisactive.com/, instale-o em seu banco de dados e execute:

EXEC sp_WhoIsActive

O procedimento mostra consultas em execução, informações de espera, detalhes de bloqueio e consumo de recursos.

9. Melhores práticas para SQL Server monitor de desempenho

9.1 Estabelecendo Linhas de Base de Desempenho

As linhas de base de desempenho estabelecem parâmetros operacionais normais para o seu SQL Server ambiente. Sem linhas de base, não é possível determinar se as métricas atuais indicam problemas ou representam um comportamento típico.

Crie linhas de base por:

  1. Coleta de dados de desempenho durante as operações normais por pelo menos uma semana
  2. Captura de métricas durante horários de pico e fora de pico
  3. Documentando valores típicos para contadores de chaves
  4. Registrar as variações sazonais, se aplicável.
  5. Armazenamento de dados de base para comparação com métricas futuras

Atualize as linhas de base trimestralmente ou após mudanças significativas na infraestrutura, atualizações de aplicativos ou modificações no banco de dados.

9.2 Definindo limites de alerta apropriados

Configure limites inteligentes para receber alertas significativos sem se sobrecarregar com notificações:

  • Concessões de memória pendentes > 0 indica pressão de memória
  • Comprimento da fila do processador > 2 por núcleo sugere gargalo da CPU
  • Disco seg/Leitura ou Gravação > 20 ms indica E/S lenta
  • Processos bloqueados > 5 sinais de problemas de contenção
  • Expectativa de vida útil da página < 300 segundos indica pressão de memória

Ajuste os limites com base nos seus dados de base e nas características específicas da carga de trabalho. Use limites adaptáveis ​​que levem em conta as variações normais do seu ambiente.

9.3 Revisão e análise regulares de dados

Agende avaliações regulares de desempenho para identificar tendências e problemas emergentes:

  • Diariamente: Revise métricas de alto nível e alertas recentes
  • Semanalmente: Realize análises aprofundadas das tendências de desempenho
  • Mensal: Gere relatórios abrangentes e compare com as linhas de base
  • Trimestral: Revisar o planejamento de capacidade e as tendências de longo prazo

Documente descobertas e acompanhe melhorias de desempenho ao longo do tempo.

9.4 Balanceamento de sobrecarga de monitoramento

O monitoramento em si consome recursos, portanto, equilibre a coleta de dados com o impacto no desempenho:

  • Use intervalos de 30 a 60 segundos para monitoramento contínuo
  • Use intervalos de 15 segundos apenas para solução de problemas ativa
  • Limite a duração do conjunto de coletores de dados para evitar dados excessivos
  • Armazene logs em unidades separadas dos arquivos de banco de dados
  • Arquivar dados de desempenho antigos para manter tamanhos de arquivo gerenciáveis

O Monitor de Desempenho adiciona sobrecarga mínima quando configurado corretamente, normalmente menos de 2% dos recursos do sistema.

9.5 Retenção de dados de longo prazo

Retenha dados de desempenho para análise de tendências significativa e planejamento de capacidade:

  • Mantenha pelo menos 1 a 2 anos de dados de desempenho
  • Arquivar dados em armazenamento separado após 3 a 6 meses
  • Compacte arquivos de log mais antigos para economizar espaço
  • Documentar quaisquer eventos ou mudanças significativas que afetem o desempenho

Dado o tamanho relativamente pequeno dos dados do contador de desempenho, mantê-los indefinidamente geralmente é viável e valioso para análises de longo prazo.

9.6 Integração com práticas de DevOps

Incorpore o monitoramento de desempenho do banco de dados em pipelines de CI/CD:

  • Incluir métricas de desempenho do banco de dados na validação da implantação
  • Automatize testes de desempenho para novos lançamentos
  • Valide se as alterações no código não afetam negativamente o desempenho
  • Crie benchmarks de desempenho para cada versão
  • Integrar alertas de monitoramento com sistemas de gerenciamento de incidentes

10. Solução de problemas comuns de desempenho

10.1 Identificando gargalos de CPU

Gargalos de CPU se manifestam como tempos de resposta de consulta lentos e alta utilização do processador. Siga estas etapas para diagnosticar problemas de CPU:

  1. Verifique o contador de comprimento da fila do processador. Valores acima de 2 por núcleo indicam pressão da CPU.
  2. Análise de % de tempo do processador. Valores constantes acima de 75% sugerem gargalo na CPU.
  3. Área de trabalho remota para o SQL Server
  4. Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc)
  5. Clique na Processos aba
  6. Verifique Mostrar processos de todos os usuários
  7. Clique na CPU cabeçalho de coluna para classificar por uso de CPU
  8. Identificar quais processos consomem recursos da CPU

Se não-SQL Server Os aplicativos consomem muita CPU; remova-os do servidor de banco de dados. Se o sqlservr.exe estiver usando muita CPU, investigue-o usando estes métodos:

  • Verifique as compilações SQL/seg e as recompilações SQL/seg. Valores acima de 10% de solicitações em lote/seg indicam compilação excessiva.
  • Consulte sys.dm_exec_query_stats para identificar consultas que exigem muita CPU
  • Revise os planos de execução para índices ausentes ou operações ineficientes
  • Considere adicionar índices para reduzir as varreduras de tabela

10.2 Diagnosticando Problemas de Memória

Problemas de memória impactam significativamente SQL Server desempenho. Diagnostique problemas de memória usando estes indicadores:

Gotas de memória disponíveis

Se a quantidade de MB disponíveis cair consistentemente abaixo de 100 MB, o sistema operacional enfrentará um problema de falta de memória. O Windows poderá então utilizar a paginação para outros dispositivos. SQL Server memória para o disco, causando degradação do desempenho.

Baixa expectativa de vida útil da página

Uma expectativa de vida útil da página abaixo de 300 segundos indica alta rotatividade do cache do buffer. Isso sugere alocação de memória insuficiente ou pressão excessiva de memória por consultas.

Baixa taxa de acerto do cache de buffer

Taxa de acerto do cache de buffer abaixo de 99% significa SQL Server lê frequentemente dados do disco em vez da memória. Isso ocorre quando o buffer pool é muito pequeno ou SQL Server Ainda está aquecendo após a reinicialização.

Concessões de memória pendentes

Qualquer valor acima de 0 para Concessões de Memória Pendentes indica que as consultas estão aguardando concessões de memória. Isso representa uma escassez crítica de memória que requer atenção imediata.

Para resolver problemas de memória:

  1. configurar SQL Server configuração de memória máxima para deixar RAM adequada para o sistema operacional (normalmente 4-8 GB dependendo do tamanho do servidor)
  2. Habilite a permissão “Bloquear páginas na memória” para o SQL Server conta de serviço
  3. Adicione mais RAM física ao servidor se a pressão de memória persistir
  4. Identificar e otimizar consultas que exigem muita memória

10.3 Resolvendo problemas de E/S de disco

E/S de disco frequentemente se torna o principal gargalo de desempenho em sistemas de banco de dados. Diagnostique problemas de disco usando estes métodos:

Comprimento alto da fila de disco

Comprimento da fila de disco consistentemente acima de 2 (ou 2 por disco para RAID) indica que o subsistema de disco não consegue acompanhar as solicitações de E/S. Isso cria um acúmulo de operações pendentes.

Latência excessiva do disco

Valores médios de leitura e gravação em disco acima de 10-20 ms indicam resposta lenta do disco. Unidades de log de transações exigem desempenho especialmente rápido, idealmente abaixo de 5 ms para gravações.

Alta % de tempo de disco

Um percentual de tempo de disco sustentado acima de 85% indica saturação do disco. O disco passa a maior parte do tempo processando solicitações de E/S, restando pouca capacidade ociosa.

Antes de resolver problemas de disco, verifique se não são sintomas de problemas de memória. Memória insuficiente força SQL Server para ler mais dados do disco, inflando artificialmente as métricas do disco.

Para resolver problemas genuínos de E/S de disco:

  • Atualize para discos mais rápidos (SSDs em vez de HDDs)
  • Implementar configurações RAID para melhor desempenho
  • Separe arquivos de banco de dados, logs de transações e tempdb em diferentes unidades físicas
  • Adicione mais memória para reduzir as leituras de disco
  • Otimize índices para reduzir E/S desnecessárias
  • Revise e otimize consultas com baixo desempenho

10.4 Lidando com bloqueios e deadlocks

O bloqueio ocorre quando uma sessão contém bloqueios que impedem o prosseguimento de outras sessões. Monitore estes contadores para identificar problemas de bloqueio:

  • Processos bloqueados: O ideal é que seja 0
  • Bloqueio de espera/seg: Número de solicitações de bloqueio que exigem esperas
  • Tempo médio de espera: Duração média de espera de bloqueio

Para investigar o bloqueio:

  1. Abrir Monitor de Atividades no SSMS
  2. Expandir o Processos seção
  3. Procure processos com valores diferentes de zero Bloqueado por valores
  4. Identifique o ID da sessão de bloqueio
  5. Revise as consultas que causam bloqueio

Use sp_WhoIsActive para uma análise de bloqueio mais detalhada. Entradas wait_info em excesso geralmente indicam problemas de contenção ou bloqueio no tempdb.

Para reduzir o bloqueio:

  • Minimize a duração da transação
  • Use níveis de isolamento apropriados
  • Adicionar índices para reduzir a duração do bloqueio
  • Considere o isolamento READ_COMMITTED_SNAPSHOT
  • Revise e otimize consultas de longa duração

10.5 Problemas de desempenho de consulta

Identificar consultas caras é essencial para o monitoramento de desempenho do SQL. Use estes métodos para encontrar consultas problemáticas:

Usando o Monitor de Atividade

  1. No SSMS, clique com o botão direito do mouse no nome do servidor
  2. Selecionar monitor de atividade
  3. Expandir Consultas caras recentes
  4. Revise consultas com alta CPU, duração ou leituras lógicas

Usando DMVs

Consulte sys.dm_exec_query_stats para identificar consultas que exigem muitos recursos:

SELECT TOP 50
    total_worker_time/execution_count AS avg_cpu_time,
    total_logical_reads/execution_count AS avg_logical_reads,
    execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.text)
            ELSE qs.statement_end_offset
        END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC

Analisando Planos de Execução

  1. No SSMS, abra uma nova janela de consulta
  2. Clique Exibir Plano de Execução Estimado (Ctrl+L) ou Incluir Plano de Execução Real (Ctrl+M)
  3. Execute sua consulta
  4. Revise o plano de execução para operações caras
  5. Procure por varreduras de tabelas, varreduras de índices ou operações de alto custo.

Otimize as consultas por:

  • Adicionando índices apropriados
  • Reescrevendo consultas para evitar operações caras
  • Atualizando estatísticas
  • Usando nomes de colunas específicos em vez de SELECT *
  • Evitando cláusulas DISTINCT ou ORDER BY desnecessárias

10.6 Detectar e corrigir banco de dados corrompido

Corrupção em banco de dados pode causar degradação de desempenho, perda de dados e falhas no sistema. Detectar e corrigir a corrupção rapidamente é fundamental para manter a integridade do banco de dados.

Indicadores de corrupção de banco de dados

Esteja atento a estes sinais de potencial corrupção:

  • Mensagens de erro em SQL Server log de erros (erro 823, 824 ou 825)
  • Erros inesperados de aplicação ao acessar tabelas específicas
  • Desempenho lento de consultas em consultas anteriormente rápidas
  • SQL Server travamentos ou reinicializações inesperadas
  • Páginas suspeitas aparecendo na tabela msdb.dbo.suspect_pages

Usando DBCC CHECKDB para detecção

DBCC CHECKDB é a principal ferramenta para detectar corrupção de banco de dados. Execute-a regularmente para detectar problemas precocemente.

Monitoramento de páginas suspeitas

SQL Server registra automaticamente páginas suspeitas no banco de dados msdb:

SELECT 
    database_id,
    file_id,
    page_id,
    event_type,
    error_count,
    last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)

Quaisquer linhas retornadas indicam problemas de corrupção que exigem atenção imediata.

Estratégias de Prevenção à Corrupção

  • Habilitar verificação de página com a opção CHECKSUM
  • Manter backups regulares do banco de dados
  • Use hardware confiável com correção de erros
  • Monitore a saúde do disco usando ferramentas do fabricante
  • Agende execuções regulares do DBCC CHECKDB
  • Guarda SQL Server atualizado com os últimos patches

Opções de recuperação e reparo

Se forem detectadas corrupções, você pode tentar a ferramenta integrada DBCC CHECKDB para corrigi-los. Se falhar, use ferramentas de terceiros, como DataNumen SQL Recovery que pode lidar com corrupções graves.

11. Técnicas avançadas de monitoramento

11.1 Monitoramento do repositório de consultas

Query Store, introduzido em SQL Server 2016, captura dados de desempenho de consultas automaticamente. Ele fornece insights valiosos sobre comportamento de consultas, planos de execução e tendências de desempenho.

Habilitando o Query Store

  1. No SSMS Object Explorer, clique com o botão direito do mouse em um banco de dados
  2. Selecionar Propriedades
  3. Clique na Repositório de consultas página
  4. In Modo de operação (solicitado), selecione Ler escrever
  5. Configure configurações adicionais conforme necessário
  6. Clique OK

Monitoramento do desempenho da consulta

Acesse os relatórios do Query Store por meio do Object Explorer:

  1. Expanda o banco de dados no Object Explorer
  2. Expandir Repositório de consultas
  3. Selecione entre os relatórios disponíveis:
    • Consultas regredidas
    • Consumo geral de recursos
    • Principais consultas que consomem recursos
    • Consultas com Planos Forçados
    • Consultas rastreadas

Detecção de regressão do plano

O Query Store detecta automaticamente quando os planos de execução de consultas mudam e o desempenho diminui. Revise o relatório Consultas Regressadas para identificar consultas afetadas por alterações de plano.

Gestão de Plano Forçado

Quando o Query Store identifica um melhor plano de execução, force SQL Server para usá-lo:

  1. Abra a consulta no Query Store
  2. Clique com o botão direito no plano desejado
  3. Selecionar Plano de Força

Isso melhora imediatamente o desempenho sem exigir alterações no código.

11.2 Monitoramento de Manutenção de Índice

A fragmentação de índices degrada o desempenho das consultas ao longo do tempo. Monitore e mantenha os índices regularmente para garantir o desempenho ideal.

Verificação de Fragmentação

Use esta consulta para verificar a fragmentação do índice:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_fragmentation_in_percent,
    ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
    AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC

Execute esta consulta fora dos horários de pico, pois ela pode consumir muitos recursos.

Análise de densidade de página

A densidade da página indica o quão cheias estão as páginas de índice. Baixa densidade desperdiça espaço e reduz o desempenho:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75

Decisões de reorganização versus reconstrução

Escolha operações de manutenção de índice com base nos níveis de fragmentação:

  • Fragmentação 10-30%: Use ALTER INDEX REORGANIZE
  • Fragmentação > 30%: Use ALTER INDEX REBUILD
  • Fragmentação < 10%: Nenhuma ação necessária

As operações de reorganização exigem menos recursos e podem ser executadas online. As operações de reconstrução são mais completas, mas consomem recursos significativos.

11.3 Atualizações de estatísticas do banco de dados

Ajuda com estatísticas de banco de dados SQL ServerO otimizador de consultas do cria planos de execução eficientes. Estatísticas desatualizadas levam a um desempenho ruim nas consultas.

Reconstrução automática de estatísticas

Habilitar atualizações automáticas de estatísticas:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

Estatísticas de monitoramento de saúde

Verifique quando as estatísticas foram atualizadas pela última vez:

SELECT 
    OBJECT_NAME(s.object_id) AS TableName,
    s.name AS StatisticsName,
    STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
    sp.rows,
    sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated

Atualize as estatísticas manualmente quando necessário:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Coletando dados de desempenho personalizados

Crie soluções personalizadas de monitoramento de desempenho consultando sys.dm_os_performance_counters diretamente e armazenando os resultados em tabelas.

Criando scripts de coleção personalizados

Crie um procedimento armazenado para coletar dados do contador de desempenho:

CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
    INSERT INTO dbo.PerformanceHistory (
        SampleTime,
        CounterName,
        CounterValue
    )
    SELECT 
        GETDATE(),
        counter_name,
        cntr_value
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN (
        'Page life expectancy',
        'Batch Requests/sec',
        'Buffer cache hit ratio'
    )
END

Usando sys.dm_os_performance_counters

Consultar contadores de desempenho diretamente:

SELECT 
    object_name,
    counter_name,
    instance_name,
    cntr_value,
    cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name

Armazenamento de dados históricos

Crie uma tabela para armazenar métricas de desempenho ao longo do tempo:

CREATE TABLE dbo.PerformanceHistory (
    ID INT IDENTITY PRIMARY KEY,
    SampleTime DATETIME2 NOT NULL,
    PageLifeExpectancy BIGINT,
    BatchRequestsPerSec DECIMAL(18,4),
    BufferCacheHitRatio DECIMAL(5,2)
)

CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory 
ON dbo.PerformanceHistory

Métodos de armazenamento de dados dinâmicos

Armazene dados em formato dinâmico com uma linha por tempo de amostra e uma coluna por contador. Isso reduz o espaço de armazenamento e melhora o desempenho da consulta em comparação ao armazenamento de uma linha por contador por amostra.

11.5 Monitoramento de vários servidores

Para ambientes com múltiplos SQL Server instâncias, implemente monitoramento centralizado.

Abordagem de monitoramento centralizado

  • Crie um banco de dados de monitoramento dedicado em um servidor separado
  • Coletar dados de todos os servidores no repositório central
  • Uso SQL Server Trabalhos de agente para executar scripts de coleta
  • Implementar coleta de contadores de desempenho acessíveis pela rede

Monitoramento de servidor remoto

Configure o Monitor de Desempenho para coletar dados de servidores remotos especificando nomes de servidores ao adicionar contadores. Certifique-se de que as regras de firewall permitam o tráfego do Monitor de Desempenho.

Relatórios entre servidores

Crie relatórios que comparem o desempenho entre vários servidores para identificar discrepâncias e desequilíbrios de capacidade.

12. Monitoramento SQL Server em ambientes de nuvem

12.1 Monitoramento do Banco de Dados SQL do Azure

O Banco de Dados SQL do Azure fornece recursos de monitoramento integrados que diferem dos locais SQL Server.

Integração do Azure Monitor

O Azure Monitor coleta automaticamente métricas do Banco de Dados SQL do Azure, incluindo:

  • Utilização de DTU ou vCore
  • O uso do armazenamento
  • Estatísticas de conexão
  • Deadlocks e timeouts

Acesse essas métricas por meio do Portal do Azure ou da API do Azure Monitor.

Recursos de monitoramento integrados

O Banco de Dados SQL do Azure inclui:

  • Recomendações de ajuste automático
  • Insight de desempenho de consulta
  • Insights inteligentes para detecção de anomalias
  • Alertas e diagnósticos integrados

Insight de desempenho de consulta

Este recurso fornece visualização das consultas que mais consomem recursos, análise da duração da consulta e tendências históricas de desempenho. Acesse-o pelo Portal do Azure no seu recurso de Banco de Dados SQL.

12.2 Ferramentas de monitoramento nativas da nuvem

Plataformas de nuvem oferecem soluções de monitoramento nativas otimizadas para seus ambientes:

  • Azure Monitor e Application Insights para Banco de Dados SQL do Azure
  • AWS CloudWatch para RDS SQL Server
  • Monitoramento do Google Cloud para Nuvem SQL Server

Essas ferramentas se integram perfeitamente à infraestrutura de nuvem e fornecem monitoramento unificado em todos os recursos de nuvem.

Monitoramento de Ambiente Híbrido

Para implantações híbridas que abrangem ambientes locais e na nuvem, use ferramentas que oferecem suporte a ambos os ambientes, como Redgate SQL Monitor, SolarWinds DPA ou soluções personalizadas que usam coleta de dados centralizada.

12.3 Diferenças de desempenho na nuvem

Na nuvem SQL Server ambientes têm características únicas:

Modelos de alocação de recursos

Os provedores de nuvem usam diferentes métodos de alocação de recursos (DTUs, vCores, serverless) que afetam a forma como você interpreta as métricas de desempenho. Entenda as limitações e características do seu nível de serviço.

Considerações sobre dimensionamento

Ambientes de nuvem oferecem recursos de escalonamento dinâmico. Monitore a utilização de recursos para determinar quando aumentar ou diminuir a escala. Muitas plataformas de nuvem oferecem escalonamento automático com base em limites de desempenho.

13. Automatizando o monitoramento de desempenho

13.1 SQL Server Trabalhos de agente

Automatize a coleta de dados usando SQL Server Trabalhos de agente para monitoramento consistente sem intervenção manual.

Coleta de dados agendada

  1. No SSMS, expanda SQL Server Agente
  2. Botão direito do mouse Empregos e selecione Novo emprego
  3. Nomeie o trabalho (por exemplo, “Coletar métricas de desempenho”)
  4. Clique Passos e adicione uma nova etapa
  5. Definir tipo para Script Transact-SQL
  6. Insira seu script de coleta de dados
  7. Clique Horários e adicionar uma programação
  8. Configurar frequência (por exemplo, a cada 5 minutos)
  9. Clique OK para criar o emprego

Relatório Automatizado

Crie tarefas que gerem e enviem por e-mail relatórios de desempenho:

  1. Crie um procedimento armazenado que gere relatórios
  2. Use o Database Mail para enviar relatórios por e-mail
  3. Agende o trabalho para ser executado diariamente ou semanalmente

13.2 Automação do PowerShell

O PowerShell fornece recursos de automação poderosos para SQL Server monitor de desempenho.

Scripts de coleta de contadores de desempenho

$counters = @(
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes',
    '\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)

$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append

Consultas WMI

Use o WMI para coletar dados de desempenho de servidores remotos:

$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01'
$memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01'

Write-Host "CPU Usage: $($cpu.LoadPercentage)%"
Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"

Alerta automatizado

Crie scripts do PowerShell que verificam métricas e enviam alertas quando os limites são violados:

$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue

if ($cpu -gt $cpuThreshold) {
    Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
        -Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}

13.3 Criação de painéis de monitoramento

Visualize dados de desempenho com painéis interativos para obter melhores insights.

Integração do Power BI

  1. Conecte o Power BI às suas tabelas de dados de desempenho
  2. Crie visualizações para métricas-chave
  3. Adicionar segmentadores para intervalo de tempo e seleção de servidor
  4. Publicar painéis no serviço Power BI
  5. Configurar agendamentos de atualização automática

Criação de painéis em tempo real

Use ferramentas como Grafana ou aplicativos da web personalizados para criar painéis em tempo real que consultam DMVs e contadores de desempenho diretamente.

Visualização de Tendências Históricas

Crie gráficos de linhas mostrando tendências ao longo do tempo para:

  • Utilização da CPU
  • Uso de memória
  • E / S de disco
  • Desempenho da consulta
  • Contagens de conexão

14. Estudos de caso e exemplos práticos

14.1 Estudo de caso: Resolvendo a pressão da memória

Identificação de sintomas

uma produção SQL Server apresentaram tempos de resposta de consulta lentos durante os horários de pico. Usuários reclamaram de tempo limite de aplicativos e desempenho degradado.

Contra-Análise

Dados do Monitor de Desempenho revelaram:

  • A expectativa de vida da página caiu para 50 segundos (normal: >300)
  • A taxa de acerto do cache de buffer caiu para 85% (normal: >99%)
  • As concessões de memória pendentes frequentemente apresentaram valores de 5 a 10
  • Leituras de disco físico/seg aumentaram significativamente

Etapas de resolução

  1. Verificado SQL Server configuração de memória máxima – descobriu que estava definida como padrão (ilimitada)
  2. Comparação entre a memória total do servidor e a memória alvo do servidor – apresentou uma diferença significativa.
  3. Memória máxima do servidor configurada para deixar 8 GB para o sistema operacional
  4. Ativada a permissão “Bloquear páginas na memória” para SQL Server conta de serviço
  5. Adicionou 32 GB de RAM adicional ao servidor
  6. Desempenho monitorado por uma semana – Expectativa de vida útil da página estabilizada acima de 500 segundos

Resultado: Os tempos de resposta às consultas melhoraram em 60%, as reclamações dos usuários cessaram e o desempenho do aplicativo voltou ao normal.

14.2 Estudo de caso: Otimização de desempenho da CPU

Identificação de sintomas

A SQL Server mostrou consistentemente utilização da CPU acima de 90% durante o horário comercial, causando lentidão no desempenho do aplicativo e frustração do usuário.

Contra-Análise

O monitoramento de desempenho revelou:

  • % Tempo do processador em média 92% com picos frequentes de até 100%
  • Comprimento da fila do processador consistentemente acima de 4 (o servidor tinha 8 núcleos)
  • Compilações SQL/seg eram 25% de solicitações em lote/seg (deveria ser <10%)
  • Recompilações de SQL/seg foram de 15% das solicitações em lote/seg

Etapas de resolução

  1. DMVs usados ​​para identificar as principais consultas que consomem CPU
  2. Analisou planos de execução para consultas identificadas
  3. Foram descobertas várias varreduras de tabela em tabelas grandes devido a índices ausentes
  4. Criou índices apropriados com base nas recomendações do plano de execução
  5. SQL dinâmico identificado causando compilações excessivas
  6. Código do aplicativo modificado para usar consultas parametrizadas
  7. Guia de plano implementado para procedimentos armazenados problemáticos
  8. Estatísticas atualizadas sobre tabelas muito utilizadas

Resultado: A utilização da CPU caiu para 45% em média durante o horário comercial. Os tempos de execução das consultas melhoraram em 70%. A capacidade de resposta dos aplicativos melhorou significativamente.

14.3 Estudo de caso: Resolução de gargalos de E/S de disco

Identificação de sintomas

Os usuários relataram uma resposta extremamente lenta do aplicativo durante as operações de carregamento de dados e processamento em lote noturno.

Contra-Análise

Os dados de desempenho mostraram:

  • Média de tempo de disco/gravação excedido 45 ms na unidade de log de transações
  • O comprimento médio da fila de disco é 12 na unidade de arquivo de dados
  • % O tempo de disco permaneceu acima de 95% por horas durante trabalhos em lote
  • As gravações de páginas por segundo foram excepcionalmente altas

Etapas de resolução

  1. As configurações de memória verificadas eram apropriadas – não foram encontrados problemas de memória
  2. Configuração de disco analisada – descobriu todos os arquivos no mesmo conjunto de eixos
  3. Logs de transações separados para unidades SSD rápidas dedicadas
  4. tempdb movido para unidades SSD separadas
  5. Implementou vários arquivos de dados tempdb (um por núcleo)
  6. Atualizadas as unidades de arquivo de dados para configuração RAID 10 SSD
  7. Trabalhos em lote otimizados para usar lotes de transações menores
  8. Índices adicionados para reduzir varreduras de tabela desnecessárias durante operações em lote

Resultado: O tempo médio de gravação/segundos em disco caiu para 3 ms. O comprimento médio da fila de disco ficou abaixo de 1. O tempo de conclusão de trabalhos em lote foi reduzido em 75%.

15. Tendências Futuras em SQL Server Monitoramento

15.1 Integração de IA e aprendizado de máquina

A inteligência artificial e a aprendizagem automática estão a transformar SQL Server monitor de desempenho.

Análise Preditiva

Modelos de aprendizado de máquina preveem necessidades futuras de recursos com base em dados históricos. Esses sistemas podem prever:

  • Quando a capacidade de armazenamento estiver esgotada
  • Requisitos esperados de CPU e memória durante períodos de pico
  • Degradação do desempenho da consulta antes que ela afete os usuários
  • Tempos ótimos para operações de manutenção

Detecção de Anomalias

Ferramentas baseadas em IA detectam automaticamente padrões incomuns em métricas de desempenho. Elas identificam anomalias que administradores humanos podem não perceber e distinguem entre variações normais e problemas reais.

Correção automatizada

Sistemas de autocorreção resolvem automaticamente problemas comuns quando detectados:

  • Reinicie os serviços que foram interrompidos.
  • Realocar recursos durante picos de carga
  • Aplicar hotfixes para problemas conhecidos
  • Reconstruir índices fragmentados automaticamente

15.2 Evolução do monitoramento baseado em nuvem

O monitoramento de nuvem continua a evoluir com novos recursos.

Plataformas de monitoramento unificadas

Plataformas modernas oferecem visibilidade em um único painel de vidro em:

  • No local SQL Server instâncias
  • Bancos de dados hospedados na nuvem
  • Ambientes híbridos
  • Performance de aplicativos
  • Métricas de infraestrutura

Tendências de Observabilidade

A mudança do monitoramento para a observabilidade enfatiza:

  • Compreendendo o comportamento do sistema a partir das saídas
  • Correlacionando métricas, logs e rastros
  • Insights profundos sobre sistemas distribuídos
  • Diagnóstico de problemas em tempo real

15.3 Sistemas de banco de dados auto-reparáveis

promissor SQL Server versões incluirão mais recursos autônomos.

Otimização Automática

Os bancos de dados serão continuamente otimizados por meio de:

  • Criação e remoção automática de índices com base na carga de trabalho
  • Ajustando as configurações para desempenho ideal
  • Reescrevendo consultas ineficientes de forma transparente
  • Gerenciando alocação de recursos dinamicamente

Ajuste Inteligente

Sistemas avançados aprenderão com padrões de desempenho e aplicarão recomendações de ajuste automaticamente, reduzindo a necessidade de intervenção manual do DBA.

16. Conclusão e Principais Conclusões

16.1 Resumo das Práticas Essenciais de Monitoramento

Eficaz SQL Server O monitor de desempenho requer uma abordagem abrangente que combine ferramentas, técnicas e melhores práticas.

Recapitulação dos contadores críticos

Concentre os esforços de monitoramento nestes contadores essenciais:

  • Memória: expectativa de vida da página, taxa de acertos do cache de buffer, concessões de memória pendentes
  • CPU: % Tempo do processador, Comprimento da fila do processador
  • Disco: Média de disco s/leitura e gravação, comprimento da fila de disco
  • SQL Server: Solicitações em lote/seg, Compilações/seg, Conexões de usuário

Resumo das Melhores Práticas

  • Estabelecer linhas de base durante as operações normais
  • Defina limites de alerta inteligentes com base em linhas de base
  • Revise os dados de desempenho regularmente
  • Balanceamento de sobrecarga de monitoramento com granularidade de dados
  • Retenha dados de longo prazo para análise de tendências
  • Use ferramentas apropriadas para cada cenário de monitoramento

16.2 Abordagem de Melhoria Contínua

SQL Server O monitoramento de desempenho não é uma atividade única, mas um processo contínuo que exige refinamento contínuo.

Ciclos regulares de revisão

  • Diariamente: Verifique alertas e desempenho atual
  • Semanal: Revise tendências e identifique problemas emergentes
  • Mensal: Analisar padrões de longo prazo e necessidades de capacidade
  • Trimestral: Atualizar as linhas de base e revisar a eficácia do monitoramento

Mantendo-se atualizado com as ferramentas

Mantenha as ferramentas e técnicas de monitoramento atualizadas:

  • Avaliar novos recursos de monitoramento em SQL Server novidades
  • Teste ferramentas emergentes de terceiros
  • Participar de treinamentos e conferências
  • Participar de SQL Server fóruns da comunidade
  • Compartilhe conhecimento com os membros da equipe

16.3 Próximas etapas

Executar SQL Server monitorar o desempenho sistematicamente:

Roteiro de implementação

  1. Semana 1: Configurar o Monitor de Desempenho com contadores essenciais
  2. Semana 2: Crie conjuntos de coletores de dados para coleta automatizada
  3. Semana 3: Estabelecer linhas de base durante as operações normais
  4. Semana 4: Configurar alertas para limites críticos
  5. Mês 2: Implementar ferramentas de monitoramento adicionais (DMVs, Eventos Estendidos)
  6. Mês 3: Desenvolver painéis e relatórios personalizados
  7. Em andamento: Refine o monitoramento com base na experiência e nas mudanças de requisitos

Recursos adicionais

Continue aprendendo sobre SQL Server Monitore o desempenho por meio da documentação da Microsoft, blogs da comunidade e práticas. Experimente diferentes ferramentas e técnicas para descobrir o que funciona melhor para o seu ambiente.

17. Perguntas frequentes (FAQ)

17.1 Quais são os mais importantes SQL Server contadores de desempenho para monitorar?

O mais crítico SQL Server contadores de desempenho incluem:

  • Memória: Expectativa de vida útil da página (deve ser >300 segundos) e taxa de acerto do cache de buffer (deve ser >99%)
  • CPU: % Tempo do Processador (valores sustentados <75%) e Comprimento da Fila do Processador (deve ser <2 por núcleo)
  • Disco: Média de segundos de disco/leitura e gravação (deve ser <10-20 ms) e comprimento da fila de disco (deve ser <2 por disco)
  • SQL Server: Solicitações em lote/seg, compilações de SQL/seg e concessões de memória pendentes (deve ser 0)

Esses contadores fornecem informações abrangentes sobre a integridade do sistema e ajudam a identificar gargalos rapidamente.

17.2 Com que frequência devo coletar dados de desempenho?

A frequência de coleta depende dos seus objetivos de monitoramento:

  • Monitoramento de linha de base: a cada 1 minuto (60 segundos)
  • Solução de problemas ativa: a cada 15-30 segundos por curtos períodos
  • Tendência de longo prazo: a cada 5 minutos

Evite executar coletas de alta frequência continuamente, pois isso pode afetar o desempenho e gerar dados em excesso. Use intervalos maiores para monitoramento de rotina e intervalos mais curtos apenas para investigar problemas específicos.

17.3 Qual é a diferença entre o Performance Monitor e SQL Server Criador de perfil?

Monitor de Desempenho e SQL Server O Profiler atende a diferentes propósitos:

Monitor de desempenho:

  • Monitora o sistema e SQL Server contadores de desempenho
  • Rastreia a utilização de recursos (CPU, memória, disco)
  • Baixo overhead, adequado para monitoramento contínuo
  • Fornece métricas agregadas ao longo do tempo

SQL Server Analisador:

  • Traços individuais SQL Server eventos e consultas
  • Captura informações detalhadas sobre a execução da consulta
  • Maior sobrecarga, não recomendado para uso contínuo
  • Melhor para solucionar problemas específicos de consulta
  • Descontinuado em favor de Eventos Estendidos

Use o Monitor de Desempenho para monitoramento geral do sistema e Eventos Estendidos (não o Profiler) para análise detalhada no nível de consulta.

17.4 O Monitor de Desempenho pode impactar SQL Server desempenho?

Quando configurado corretamente, o Monitor de Desempenho tem impacto mínimo em SQL Server desempenho, normalmente com menos de 2% de overhead. No entanto, o monitoramento excessivo pode causar problemas:

  • Muitos contadores aumentam a sobrecarga
  • Intervalos de amostragem muito curtos (abaixo de 15 segundos) sobrecarregam os recursos
  • A coleta contínua de alta frequência gera grandes arquivos de log

Para minimizar o impacto:

  • Monitore apenas os contadores necessários
  • Use intervalos de amostra apropriados (60 segundos para monitoramento de rotina)
  • Armazene logs em unidades separadas dos arquivos de banco de dados
  • Agende um monitoramento intensivo de recursos durante horários de menor movimento

17.5 Por quanto tempo devo reter os dados de monitoramento de desempenho?

A retenção depende das suas necessidades de análise e capacidade de armazenamento:

  • Mínimo: 3 meses para solução de problemas recentes
  • Recomendado: 1-2 anos para planejamento de capacidade e análise de tendências
  • Ótimo: Indefinidamente, se o armazenamento permitir, pois os dados históricos se tornam mais valiosos ao longo do tempo

Os dados do contador de desempenho são bem compactados e ocupam relativamente pouco espaço. Considere arquivar dados mais antigos em um armazenamento separado em vez de excluí-los. Muitas organizações consideram que anos de dados históricos são inestimáveis ​​para o planejamento de capacidade e a identificação de tendências de longo prazo.

17.6 Quais são bons valores limite para contadores de desempenho principais?

Valores limite recomendados para alerta:

  • Concessões de memória pendentes: alerta quando > 0
  • Expectativa de vida da página: alerta quando < 300 segundos
  • % Tempo do processador: Alerta quando > 80% por 5 minutos
  • Comprimento da fila do processador: alerta quando > 2 por núcleo
  • Média de disco seg/leitura ou gravação: alerta quando > 20 ms
  • Comprimento da fila de disco: alerta quando > 2 por disco
  • Processos bloqueados: alerta quando > 5

Ajuste esses limites com base nos seus dados de base e nas características específicas da carga de trabalho. O que é normal em um ambiente pode indicar problemas em outro.

17.7 Como faço para monitorar SQL Server desempenho remotamente?

Monitor remoto SQL Server instâncias usando estes métodos:

  1. Monitor de desempenho: Especifique o nome do computador remoto ao adicionar contadores
  2. PowerShell: Use o parâmetro -ComputerName com Get-Counter
  3. DMVs: Conecte-se a servidores remotos por meio do SSMS e consulte DMVs
  4. Ferramentas de terceiros: A maioria das ferramentas de monitoramento oferece suporte ao monitoramento remoto de servidores.

Certifique-se de que as regras de firewall permitam o tráfego do Monitor de Desempenho e que você tenha as permissões apropriadas no servidor remoto. Para vários servidores, considere implementar o monitoramento centralizado com um servidor de monitoramento e um banco de dados dedicados.

17.8 Qual é a melhor ferramenta gratuita para SQL Server monitor de desempenho?

Existem várias ferramentas gratuitas excelentes disponíveis para monitoramento SQL Server desempenho:

  • Monitor de desempenho do Windows: Integrado, abrangente e confiável
  • Monitor de atividades do SSMS: Monitoramento em tempo real sem instalação adicional
  • Eventos estendidos: Monitoramento leve de eventos integrado SQL Server
  • sp_WhoIsActive: Procedimento armazenado gratuito popular para monitoramento detalhado de atividades
  • DBA Dash: Ferramenta de monitoramento de código aberto com recursos abrangentes
  • SQLWATCH: Código aberto com recursos de monitoramento quase em tempo real

Para a maioria das organizações, o Monitor de Desempenho, combinado com as ferramentas do SSMS e o sp_WhoIsActive, oferece excelentes recursos de monitoramento sem custo adicional.

17.9 Como exportar dados do PerfMon para análise?

Exporte dados do Performance Monitor usando estes métodos:

Exportar para CSV:

  1. Abra o Monitor de Desempenho com seu arquivo de log carregado
  2. Clique com o botão direito do mouse no gráfico e selecione Salvar dados como
  3. Escolha Arquivo de texto (delimitado por vírgulas) (.csv)
  4. Selecione o local e salve
  5. Abrir no Excel para análise

Use o comando Relog:

relog input.blg -f csv -o output.csv

Este utilitário de linha de comando converte arquivos de log binários (.blg) para o formato CSV para facilitar a análise em aplicativos de planilhas.

17.10 Quando devo usar ferramentas de monitoramento de terceiros em vez de opções integradas?

Considere ferramentas de terceiros quando:

  • Gerenciando um grande número de SQL Server instâncias (10+)
  • Exigindo monitoramento centralizado em vários data centers
  • Precisando de recursos avançados como análise preditiva ou detecção de anomalias
  • Desejando alertas integrados com sistemas de gerenciamento de incidentes
  • Exigindo relatórios de conformidade e análise histórica
  • Falta de recursos de DBA para criar e manter soluções personalizadas
  • Monitoramento de ambientes de banco de dados heterogêneos (SQL ServerOracle, MySQL, etc.)

Ferramentas integradas funcionam bem em ambientes menores ou quando você conta com administradores de banco de dados qualificados que podem desenvolver soluções de monitoramento personalizadas. Ferramentas de terceiros agregam valor por meio de economia de tempo, recursos avançados e suporte profissional.

18. Recursos Adicionais

18.1 Documentação Oficial

A Microsoft fornece ampla documentação para SQL Server monitor de desempenho:

18.2 Ferramentas e downloads recomendados

Ferramentas essenciais para SQL Server monitor de desempenho:

  • Ferramenta PAL: https://github.com/clinthuffman/PAL
  • sp_WhoIsActive: http://whoisactive.com/
  • DBA Dash: https://dbadash.com/
  • SQLWATCH: https://github.com/marcingminski/sqlwatch
  • Kit de primeiros socorros (Brent Ozar): https://www.brentozar.com/first-aid/
  • SQL Server Estúdio de Gestão: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

18.3 Recursos da Comunidade

Aprenda com o SQL Server comunidade:

  • SQL Server Central: https://www.sqlservercentral.com/
  • Blog de Brent Ozar: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • Dicas do MSSQL: https://www.mssqltips.com/
  • Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
  • Stack Overflow SQL Server etiqueta, rótulo, palavra-chave: https://stackoverflow.com/questions/tagged/sql-server

Esses recursos fornecem tutoriais, conselhos sobre solução de problemas e práticas recomendadas de especialistas experientes. SQL Server Profissionais. Participar de fóruns da comunidade ajuda você a aprender com as experiências dos outros e compartilhar seu próprio conhecimento.


Sobre o autor

Yuan Sheng é um administrador de banco de dados sênior (DBA) com mais de 10 anos de experiência em SQL Server ambientes e gerenciamento de bancos de dados corporativos. Ele solucionou com sucesso centenas de cenários de recuperação de bancos de dados em organizações de serviços financeiros, saúde e manufatura.

Yuan é especialista em SQL Server recuperação de banco de dados, soluções de alta disponibilidadee otimização de desempenho. Sua vasta experiência prática inclui o gerenciamento de bancos de dados de vários terabytes e a implementação de... Grupos de Disponibilidade Always One desenvolvendo estratégias automatizadas de backup e recuperação para sistemas de negócios de missão crítica.

Por meio de sua experiência técnica e abordagem prática, Yuan se concentra na criação de guias abrangentes que ajudam administradores de banco de dados e profissionais de TI a resolver problemas complexos. SQL Server desafios de forma eficiente. Ele se mantém atualizado com as últimas SQL Server lançamentos e as tecnologias de banco de dados em evolução da Microsoft, testando regularmente cenários de recuperação para garantir que suas recomendações reflitam as melhores práticas do mundo real.

Tem dúvidas sobre SQL Server recuperação ou precisa de orientação adicional para solução de problemas de banco de dados? Yuan dá as boas-vindas comentários e sugestões para melhorar esses recursos técnicos.

Compartilhe agora: