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.
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:
- Clique Começar, Tipo perfmon na caixa de pesquisa, clique em “Performand Monitor” no resultado da pesquisa:
- Imprensa Windows + R, Tipo perfmone pressione Entrar
- Acessar 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:
- Monitor de desempenho aberto
- Expandir Conjuntos de coletores de dados
- Botão direito do mouse Usuário definido
- Selecionar New -> Conjunto de coletores de dados
- Insira um nome descritivo (por exemplo, “SQL Server Métricas de Desempenho”)
- Selecionar Criar manualmente (avançado)
- Clique Seguinte
- Verifique Criar logs de dados -> Contador de desempenho
- Clique Seguinte
- Clique Adicione para selecionar contadores
- Adicione desejado SQL Server e contadores do sistema.
- 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.
- Clique Seguinte
- Escolha o local para salvar os logs
- Clique Acabamento, um novo Conjunto de Coletores de Dados será criado.
- 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
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:
- Após criar o Conjunto de Coletores de Dados, clique com o botão direito e selecione Propriedades
- Clique na Condição de parada aba
- Permitir Duração geral
- Definir duração para 1 dia (24 horas)
- Clique OK para salvar
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:
- Clique com o botão direito do mouse no seu Conjunto de Coletores de Dados e selecione Propriedades
- Clique na Programação do dia aba
- Clique Adicione para criar uma nova programação
- Configure a data e hora de início.
- Definir padrão de recorrência (por exemplo, diariamente)
- Clique OK para salvar a programação
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:
- Monitor de desempenho aberto
- Expandir Logs e alertas de desempenho no painel esquerdo
- Botão direito do mouse Registros de contador
- Selecionar Novas configurações de log
- Nomeie o log com o nome do seu servidor de banco de dados (por exemplo, “ProductionSQL01”)
- 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:
- Clique na Adicionar contadores botão
- Altere o nome do computador para apontar para o seu SQL Server instância
- Imprensa Aba para carregar objetos de desempenho disponíveis
- Selecione um objeto de desempenho no menu suspenso (por exemplo, Memória)
- Escolha contadores específicos de a lista
- Selecione as instâncias, se aplicável (por exemplo, processadores ou discos individuais).
- Clique Adicione para incluir o contador
- Repita para todos os contadores desejados
- 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:
- Nas propriedades do log do contador, localize Dados de amostra a cada
- Defina o intervalo (o padrão é 15 segundos)
- Para monitoramento de linha de base, use intervalos de 1 minuto para coleta diária
- Para solução de problemas, use intervalos de 15 a 30 segundos para rajadas curtas
- 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:
- Clique na Os arquivos de log guia nas propriedades do log do contador
- Alterar o tipo de arquivo de log para Arquivo de texto (delimitado por vírgulas) para fácil importação do Excel
- Clique configurar
- Defina o caminho do arquivo para um local dedicado (por exemplo, uma pasta PerformanceLogs compartilhada)
- 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:
- Nas propriedades do log do contador, localize Correr como
- Digite seu nome de usuário de domínio no formato: DOMÍNIO\nome de usuário
- Clique Definir senha
- Digite e confirme sua senha
- 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:
- Monitor de desempenho aberto
- No painel esquerdo, clique em Ferramentas de monitoramento -> monitor de desempenho.
- Clique com o botão direito em qualquer lugar na área do gráfico
- Selecionar Propriedades
- Clique na fonte aba
- Selecionar Os arquivos de log botao de radio
- Clique Adicione
- Navegue até seu arquivo de log (.blg ou .csv)
- Selecione o arquivo e clique Abra
- Use o Intervalo de tempo controle deslizante para selecionar o período que deseja analisar
- Clique OK para fechar a caixa de diálogo Propriedades
- Clique no ícone verde de mais para adicionar contadores do arquivo de log
- Selecione os contadores desejados para exibir
- 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:
- Abra o Monitor de Desempenho com seu arquivo de log carregado
- Clique com o botão direito em qualquer lugar na área do gráfico
- Selecionar Salvar dados como
- Escolha um local para o arquivo
- Selecionar Arquivo de texto (delimitado por vírgulas) (.csv) da lista suspensa
- Clique Economize
- Abra o arquivo CSV no Excel
Formate os dados exportados para melhor análise:
- Exclua a linha 2 meio vazia e limpe a célula A1
- Formatar a coluna A como Data/Hora
- Formatar colunas numéricas com zero casas decimais e separador de milhares
- Encontre e substitua nomes de servidores em cabeçalhos (por exemplo, substitua “\\SERVERNAME” por espaço em branco)
- Limpe os nomes dos objetos nos cabeçalhos (por exemplo, “Memória”, “Disco Físico”, “Processador”)
- 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:
- Insira 7 linhas em branco no topo da sua planilha
- Adicione rótulos na coluna A: Média, Mediana, Mín., Máx., Desvio Padrão
- Na célula B2, insira: =MÉDIA(B9:B100) (ajuste B100 para sua última linha de dados)
- Na célula B3, insira: =MEDIANA(B9:B100)
- Na célula B4, insira: =MIN(B9:B100)
- Na célula B5, insira: =MAX(B9:B100)
- Na célula B6, insira: =DESVPAD(B9:B100)
- Copiar fórmulas em todas as colunas do contador
- 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
7.2 Configurando PAL
Instale o PAL seguindo estas etapas:
- Baixe o arquivo de configuração PAL do GitHub
- Execute o programa de instalação
- Clique Seguinte na tela de boas-vindas
- Revise e aceite o diretório de instalação
- Clique Seguinte para continuar
- Clique Instale para iniciar a instalação
- Aguarde a instalação para concluir
- Clique Acabamento
7.3 Processando arquivos de log com PAL
Analise seus logs do Performance Monitor usando PAL:
- Inicie o PAL a partir do menu Iniciar ou do diretório de instalação.
- Clique na Registro do contador aba
- Clique Explorar para selecionar seu arquivo .blg
- Navegue até o arquivo de log do Monitor de Desempenho
- Clique Abra
- Clique na Arquivo de Limite aba
- Selecione um arquivo limite no menu suspenso (por exemplo, “SQL Server 2016 ")
- Clique na Perguntas aba
- Responda a perguntas sobre a configuração do seu sistema
- Especifique se o seu SQL Server é OLTP ou Data Warehouse
- Insira a RAM total disponível
- Clique na Opções de saída aba
- Selecione um diretório de saída para o relatório HTML
- Verifique HTML Formato de saída
- Clique na Execute aba
- Revise suas seleções
- Verifique Iniciar a execução agora
- 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:
- Abra SQL Server Management Studio (SSMS) e conecte-se à sua instância do servidor
- Clique com o botão direito do mouse no nome do servidor no Object Explorer
- Selecionar monitor de atividade
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.
8.1.2 SQL Server Painel de Desempenho
SQL Server O Management Studio inclui relatórios de desempenho integrados:
- In SQL Server Management Studio (SSMS), clique com o botão direito do mouse no SQL Server instância no Object Explorer
- Selecionar Relatórios -> Relatórios Padrão
- Escolha entre os relatórios disponíveis, como Painel de Desempenho
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.
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:
- In SQL Server Estúdio de Gestão, clique Ferramentas -> SQL Server Profiler
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.
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:
- In Explorador de Objetos, expanda seu servidor e vá para Gestão -> Eventos Estendidos -> Sessões
- Clique com o botão direito do mouse no Sessões e escolha Assistente de Nova Sessão
- 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.
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.
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.
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.
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:
- Coleta de dados de desempenho durante as operações normais por pelo menos uma semana
- Captura de métricas durante horários de pico e fora de pico
- Documentando valores típicos para contadores de chaves
- Registrar as variações sazonais, se aplicável.
- 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:
- Verifique o contador de comprimento da fila do processador. Valores acima de 2 por núcleo indicam pressão da CPU.
- Análise de % de tempo do processador. Valores constantes acima de 75% sugerem gargalo na CPU.
- Área de trabalho remota para o SQL Server
- Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc)
- Clique na Processos aba
- Verifique Mostrar processos de todos os usuários
- Clique na CPU cabeçalho de coluna para classificar por uso de CPU
- 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:
- 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)
- Habilite a permissão “Bloquear páginas na memória” para o SQL Server conta de serviço
- Adicione mais RAM física ao servidor se a pressão de memória persistir
- 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:
- Abrir Monitor de Atividades no SSMS
- Expandir o Processos seção
- Procure processos com valores diferentes de zero Bloqueado por valores
- Identifique o ID da sessão de bloqueio
- 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
- No SSMS, clique com o botão direito do mouse no nome do servidor
- Selecionar monitor de atividade
- Expandir Consultas caras recentes
- 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
- No SSMS, abra uma nova janela de consulta
- Clique Exibir Plano de Execução Estimado (Ctrl+L) ou Incluir Plano de Execução Real (Ctrl+M)
- Execute sua consulta
- Revise o plano de execução para operações caras
- 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
- No SSMS Object Explorer, clique com o botão direito do mouse em um banco de dados
- Selecionar Propriedades
- Clique na Repositório de consultas página
- In Modo de operação (solicitado), selecione Ler escrever
- Configure configurações adicionais conforme necessário
- Clique OK
Monitoramento do desempenho da consulta
Acesse os relatórios do Query Store por meio do Object Explorer:
- Expanda o banco de dados no Object Explorer
- Expandir Repositório de consultas
- 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:
- Abra a consulta no Query Store
- Clique com o botão direito no plano desejado
- 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
- No SSMS, expanda SQL Server Agente
- Botão direito do mouse Empregos e selecione Novo emprego
- Nomeie o trabalho (por exemplo, “Coletar métricas de desempenho”)
- Clique Passos e adicione uma nova etapa
- Definir tipo para Script Transact-SQL
- Insira seu script de coleta de dados
- Clique Horários e adicionar uma programação
- Configurar frequência (por exemplo, a cada 5 minutos)
- Clique OK para criar o emprego
Relatório Automatizado
Crie tarefas que gerem e enviem por e-mail relatórios de desempenho:
- Crie um procedimento armazenado que gere relatórios
- Use o Database Mail para enviar relatórios por e-mail
- 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
- Conecte o Power BI às suas tabelas de dados de desempenho
- Crie visualizações para métricas-chave
- Adicionar segmentadores para intervalo de tempo e seleção de servidor
- Publicar painéis no serviço Power BI
- 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
- Verificado SQL Server configuração de memória máxima – descobriu que estava definida como padrão (ilimitada)
- Comparação entre a memória total do servidor e a memória alvo do servidor – apresentou uma diferença significativa.
- Memória máxima do servidor configurada para deixar 8 GB para o sistema operacional
- Ativada a permissão “Bloquear páginas na memória” para SQL Server conta de serviço
- Adicionou 32 GB de RAM adicional ao servidor
- 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
- DMVs usados para identificar as principais consultas que consomem CPU
- Analisou planos de execução para consultas identificadas
- Foram descobertas várias varreduras de tabela em tabelas grandes devido a índices ausentes
- Criou índices apropriados com base nas recomendações do plano de execução
- SQL dinâmico identificado causando compilações excessivas
- Código do aplicativo modificado para usar consultas parametrizadas
- Guia de plano implementado para procedimentos armazenados problemáticos
- 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
- As configurações de memória verificadas eram apropriadas – não foram encontrados problemas de memória
- Configuração de disco analisada – descobriu todos os arquivos no mesmo conjunto de eixos
- Logs de transações separados para unidades SSD rápidas dedicadas
- tempdb movido para unidades SSD separadas
- Implementou vários arquivos de dados tempdb (um por núcleo)
- Atualizadas as unidades de arquivo de dados para configuração RAID 10 SSD
- Trabalhos em lote otimizados para usar lotes de transações menores
- Í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
- Semana 1: Configurar o Monitor de Desempenho com contadores essenciais
- Semana 2: Crie conjuntos de coletores de dados para coleta automatizada
- Semana 3: Estabelecer linhas de base durante as operações normais
- Semana 4: Configurar alertas para limites críticos
- Mês 2: Implementar ferramentas de monitoramento adicionais (DMVs, Eventos Estendidos)
- Mês 3: Desenvolver painéis e relatórios personalizados
- 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:
- Monitor de desempenho: Especifique o nome do computador remoto ao adicionar contadores
- PowerShell: Use o parâmetro -ComputerName com Get-Counter
- DMVs: Conecte-se a servidores remotos por meio do SSMS e consulte DMVs
- 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:
- Abra o Monitor de Desempenho com seu arquivo de log carregado
- Clique com o botão direito do mouse no gráfico e selecione Salvar dados como
- Escolha Arquivo de texto (delimitado por vírgulas) (.csv)
- Selecione o local e salve
- 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:
- SQL Server Documentação do Monitor de Desempenho: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Visualizações de gerenciamento dinâmico: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Eventos estendidos: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Loja de consultas: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Ajuste e monitoramento de desempenho: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
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.





























