SQL Server, objeto SQL Statistics

Aplica-se a:SQL Server

O objeto SQLServer:SQL Statistics no SQL Server fornece contadores para monitorar a compilação e o tipo de solicitações enviadas a uma instância do SQL Server. A monitoração do número de compilações e recompilações de consultas e do número de lotes recebidos por uma instância do SQL Server fornece uma indicação da velocidade com que o SQL Server está processando as consultas do usuário e o grau de eficácia com que o otimizador de consulta está processando as consultas.

Compilação é uma parte significativa do tempo de retorno de uma consulta. Para economizar no custo da compilação, o Mecanismo de Banco de Dados salva o plano de consulta compilado em um cache de consulta. O objetivo do cache é reduzir a compilação por meio do armazenamento das consultas compiladas para reutilização posterior encerrando, assim, a solicitação para recompilar consultas quando forem executadas mais tarde. Porém, cada consulta exclusiva deve ser compilada pelo menos uma vez. Recompilações de consultas podem ser causadas pelos seguintes fatores:

  • Alterações do esquema, inclusive alterações no esquema de base, como adição de colunas ou índices a uma tabela, ou alterações no esquema de estatística, como inserção ou exclusão de um número significativo de linhas de uma tabela.

  • Alterações de ambiente (instrução SET). Alterações em configurações de sessão como ANSI_PADDING ou ANSI_NULLS podem fazer com que uma consulta seja recompilada.

Para obter mais informações sobre parametrização simples e forçada, consulte ALTER DATABASE (Transact-SQL).

Esses são os contadores de Estatisticas de SQL do SQL Server.

Contadores do SQL Server SQL Statistics Descrição
Tentativas de Param. Autom./s Número de tentativas de parametrização automática por segundo. O total deve ser a soma das parametrizações automáticas que falharam, seguras e inseguras. A parametrização automática ocorre quando uma instância do SQL Server tenta parametrizar uma solicitação do Transact-SQL Server substituindo alguns literais por parâmetros de modo a permitir a reutilização do plano de execução resultante armazenado em cache em várias solicitações que parecem semelhantes. As parametrizações automáticas também são conhecidas como parametrizações simples em versões mais recentes do SQL Server. Esse contador não inclui parametrizações forçadas.
Solicitações em Lote/s Número de lotes de comando Transact-SQL recebidos por segundo. Essa estatística é afetada por todas as restrições (tais como E/S, número de usuários, tamanho do cache, complexidade das solicitações etc.). Altas solicitações em lote significam uma boa taxa de transferência.
Param Autom. com Falha/s Número de tentativas de parametrização automática com falhas por segundo. Esse número deve ser pequeno. Parametrizações automáticas também são conhecidas como parametrizações simples em versões posteriores do SQL Server.
Parametrizações Forçadas/s Número de parametrizações forçadas com êxito por segundo.
Execuções de Planos Guiados/s Número de execuções de plano por segundo no qual o plano de consulta foi gerado usando guia de plano.
Execuções de Planos Extraviados/s Número de execuções de plano por segundo no qual uma guia de plano não pôde ser honrada durante geração de plano. A guia de plano foi desconsiderada e a compilação normal foi usada para gerar o plano executado.
Param. Autom. Seguras/s Número de tentativas de parametrizações automáticas seguras por segundo. Segura refere-se a uma determinação de que um plano de execução armazenado em cache pode ser compartilhado entre diferentes instruções do Transact-SQL que parecem ser semelhantes. O SQL Server faz diversas tentativas de parametrização automática, algumas que demonstram ser seguras e outras que apresentam falhas. Parametrizações automáticas também são conhecidas como parametrizações simples em versões posteriores do SQL Server. Isso não inclui parametrizações forçadas.
Taxa de Atenção do SQL Número de atenções por segundo. Uma atenção é uma solicitação feita pelo cliente para encerrar a solicitação que está sendo executada no momento.
Compilações de SQL/s Número de compilações de SQL por segundo. Indica o número de vezes que o caminho do código de compilação é digitado. Inclui compilações causadas por recompilações do nível de instrução no SQL Server. Depois que a atividade de usuário do SQL Server estiver estável, esse valor alcança um estado fixo.
Recompilações de SQL/s Número de recompilações de instruções por segundo. Conta o número de vezes que as recompilações de instrução são acionadas. Geralmente é preferível que as recompilações sejam baixas.
Param. Autom. sem segurança/s Número de tentativas de parametrização automática não segura por segundo. Por exemplo, a consulta tem algumas características que impedem o plano armazenado em cache de ser compartilhado. Esses são designados como inseguros. Isso não conta o número de parametrizações forçadas.

Exemplo

Você começa a explorar os contadores de desempenho de consulta neste objeto usando essa consulta T-SQL na exibição de gerenciamento dinâmico sys.dm_os_performance_counters:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';