EMRQDATA / DOCUMENTAÇÃO
SQL Performance Analyzer Guide.
Procedimento para coletar métricas do Query Store e interpretar prioridades de performance.
Query Store habilitado
Verifique sys.database_query_store_options. A consulta deste módulo exige estado READ_WRITE. Se estiver OFF ou READ_ONLY, não altere a configuração apenas para usar a ferramenta: alinhe a habilitação e retenção com o responsável pelo banco.
SELECT actual_state_desc, desired_state_desc, readonly_reason,
current_storage_size_mb, max_storage_size_mb,
interval_length_minutes, stale_query_threshold_days
FROM sys.database_query_store_options;Execute a coleta com login de leitura que tenha visibilidade das DMVs e metadados necessários, conforme a versão do SQL Server e as permissões aplicáveis.
Runtime Stats e Wait Stats
- Abra o Analyzer e copie a consulta Runtime Stats.
- Execute no banco desejado e exporte o resultado como CSV com cabeçalho.
- Copie a consulta Wait Stats, execute no mesmo banco e exporte outro CSV.
- Repita para cada banco. Consolide cada tipo de CSV separadamente, mantendo apenas um cabeçalho e preservando server_name, instance_name e database_name.
- Importe os arquivos e execute a análise. O texto SQL pode ser extenso; preserve corretamente as aspas no CSV.
Como priorizar
- CPU total estimada combina CPU média e número de execuções; uma consulta curta executada milhares de vezes pode ter impacto agregado elevado.
- Duração média alta pode indicar CPU, I/O, bloqueio, paralelismo, rede ou espera externa. Não é sinônimo de CPU alta.
- Leituras lógicas elevadas podem indicar varreduras, baixa seletividade ou consultas que processam grandes volumes legitimamente.
- Wait Stats do Query Store ajudam a associar categorias de espera a consultas e planos, mas não estabelecem causalidade isoladamente.
- Considere amostra, período, execution_type, planos diferentes, parâmetros e mudanças de workload. Compare janelas equivalentes antes de chamar algo de regressão.
Cuidados operacionais
- A ferramenta não compara snapshots históricos de períodos separados nem calcula regressão estatística nesta versão. Exporte relatórios com data e compare posteriormente.
- As métricas são agregadas por query_id e plan_id; planos diferentes são linhas diferentes.
- Query Store pode ter retenção limitada, limpeza automática, captura seletiva ou dados incompletos.
- As categorias de espera são específicas do Query Store e não substituem waits globais, perfmon, Extended Events, Query Store reports ou análise de plano.
- Nenhum comando de tuning ou DDL é executado pela ferramenta.
Documentação Microsoft: Monitorar performance usando Query Store, sys.query_store_runtime_stats e sys.query_store_wait_stats.