Compartilhar via


Determinando se eventos podem ser ajustados

Se o Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server não otimizar um evento, o evento será gravado em um log de otimização. Na interface gráfica do usuário (GUI) do Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server, na guia Geral, você pode selecionar Salvar log de otimização e visualizar o log no painel inferior da guia Progresso. Se você estiver usando o utilitário dta, poderá usar o argumento -e para especificar o nome e local de um arquivo de log de otimização. Para obter mais informações, consulte Como exibir saída de ajuste.

Razões comuns por que o Orientador de Otimização do Mecanismo de Banco de Dados não ajusta um evento

Algumas das razões mais comuns por que o Mecanismo de Banco de Dados do SQL Server Orientador de Otimização não otimiza eventos são:

  • Uma carga de trabalho faz referência a tabelas que o usuário não selecionou para otimizar.

  • Uma carga de trabalho faz referência a tabelas muito pequenas; por exemplo, tabelas que contêm menos que 10 páginas de dados.

  • O Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server não pode otimizar a carga de trabalho dentro do prazo especificado.

Para obter mais informações, consulte Por que os eventos não estão ajustados.

Determinando se eventos podem ser otimizados

O modo mais fácil para determinar se o Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server pode otimizar um evento particular é determinar se uma saída do Plano de Execução pode ser obtida para aquele evento. Use o SQL Server Management Studio para determinar se uma saída do Plano de Execução pode ser obtida. O Orientador de Otimização de Mecanismo de Banco de Dados do SQL Server só pode otimizar o evento se uma saída do Plano de Execução for produzida pelo servidor para aquele evento, no banco de dados onde o evento foi executado. Para obter mais informações, consulte Exibindo planos de execução gráfica (SQL Server Management Studio).

Por que o Orientador de Otimização do Mecanismo de Banco de Dados recomenda descartar um número grande de objetos?

Se o Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server gerar um número grande de recomendações para descartar estruturas de design físicas, isto poderia ser causado pelas razões seguintes:

  • Se sua carga de trabalho for pequena ou faz referência a um subconjunto pequeno de estruturas de design físicas, o Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server pode recomendar descartar o resto das estruturas de design físicas porque a carga de trabalho não as refere. O Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server assume que a carga de trabalho é representativa da carga de trabalho normal em seu servidor e faz suas recomendações baseado naquela suposição.

  • Se a maioria das consultas na carga de trabalho for ignorada, resultando em um número grande de recomendações para descartar estruturas de design físicas, isto poderá acontecer pelas razões seguintes:

    • Os bancos de dados incorretos foram especificados para o argumento -d se o utilitário dta fosse usado.

    • A maioria das consultas na carga de trabalho faz referência a tabelas pequenas que contêm menos que 10 páginas de dados.

    • A maioria das instruções Transact-SQL na carga de trabalho não faz referência a objetos ajustáveis. Por exemplo, se a carga de trabalho contiver muitas instruções SET ou instruções DECLARE.

Para determinar o que está realmente causando ao Orientador de Otimização do Mecanismo de Banco de Dados do SQL Server gerar muitas recomendações de descarte, examine as mensagens do log de otimização. Para obter mais informações, consulte Sobre o log de ajuste.