Sign in with Microsoft
New to Microsoft? Create an account.

Resumo

Esta atualização introduz um novo argumento de dica de consulta, use Hint, que permite orientar o otimizador de consulta sem credenciais elevadas ou sem ser membro da função de servidor sysadmin. A sintaxe dessa nova dica de consulta é semelhante à seguinte:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

Esta atualização também introduz as seguintes opções de dica que podem ser usadas com o argumento de Dica use .

Option

Sinalizador de rastreamento equivalente

Descrição

Aplica-se a

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

Faz com que o SQL Server gere um plano de consulta usando a pressuposição de confinamento simples em vez da pressuposição de confinamento base padrão para junções, sob o otimizador de consultas Modelo de previsão de cardinalidade do SQL Server 2014 (12. x) ou versão mais recente.

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

Faz com que o SQL Server gere um plano usando seletividade mínima ao estimar e predicado para filtros para a conta para correlação. Esse nome de dica é paralelo a sinalizador de rastreamento 4137 quando usado com o modelo de previsão cardinalidade do SQL Server 2012 (11. x) e versões anteriores, e tem efeito semelhante quando o sinalizador de rastreamento 9471 é usado com o modelo de previsão de cardinalidade do SQL Server 2014 (12. x) ou superior.

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

Desabilita junções adaptáveis do modo em lotes.

Iniciando no SQL Server 2017

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

Desabilita o resultado da concessão de memória do modo em lotes.

Iniciando no SQL Server 2017

DISABLE_DEFERRED_COMPILATION_TV

Desabilita a compilação adiada de variável de tabela.

Iniciando no SQL Server 2019

DISABLE_INTERLEAVED_EXECUTION_TVF

Desabilita a execução intercalada para funções com valor de tabela de várias instruções.

Iniciando no SQL Server 2017

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

Instrui o processador de consulta a não usar uma operação de classificação (classificação em lotes) para junções de loop aninhado otimizados ao gerar um plano de consulta.

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

Faz com que o SQL Server gere um plano que não usa as modificações de meta de linha com consultas que contêm essas palavras-chave:

  • Início

  • OPÇÃO (RÁPIDO N)

  • NO

  • EXISTÊNCIA

DISABLE_PARAMETER_SNIFFING

TF 4136

Instrui o otimizador de consultas a usar a média de distribuição de dados durante a compilação de uma consulta com um ou mais parâmetros. Essa instrução torna o plano de consulta independente do valor de parâmetro que foi usado primeiro quando a consulta foi compilada. Use esta dica para substituir a configuração de escopo de banco de dados PARAMETER_SNIFFING = desativado.

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

Desativa o modo de linha de concessão de memória.

Iniciando no SQL Server 2019

DISABLE_TSQL_SCALAR_UDF_INLINING

Desabilita o realinhamento de UDF escalar.

Iniciando no SQL Server 2019

DISALLOW_BATCH_MODE

Desabilita a execução do modo em lotes.

Iniciando no SQL Server 2019

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

Habilita as estatísticas rápidas geradas automaticamente (alteração do histograma) para qualquer coluna de índice à esquerda para a qual a estimativa de cardinalidade é necessária. O histograma usado para estimar a cardinalidade será ajustado em tempo de compilação da consulta para a conta para o valor máximo real ou o valor mínimo desta coluna.

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

Habilita os hotfixes do otimizador de consultas (alterações lançadas em Service Packs e atualizações cumulativas do SQL Server). Use esta dica para substituir Definição de configuração com escopo de banco de dados QUERY_OPTIMIZER_HOTFIXES = on.

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

Obriga o otimizador de consulta a usar Modelo de previsão de cardinalidade que corresponde ao nível de compatibilidade do banco de dados atual. Use esta dica para substituir Configuração com escopo de banco de dados LEGACY_CARDINALITY_ESTIMATION = ativado.

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

Obriga o otimizador de consulta a usar Modelo de estimativa de cardinalidade do SQL Server 2012 (11. x) e versões anteriores. Use esta dica para substituir a configuração de escopo de banco de dados LEGACY_CARDINALITY_ESTIMATION = on.

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

Força o comportamento do otimizador de consulta em um nível de consulta. Esse comportamento ocorre como se a consulta fosse compilada com o nível de compatibilidade do banco de dados n, em que n é um nível de compatibilidade de banco de dados com suporte. Consultesys.dm_exec_valid_use_hints para obter uma lista de valores com suporte no momento para n.

a partir do SQL Server 2017 (14. x) CU10

Para obter mais informações, consulte Dicas (Transact-SQL)-consulta.

Informações adicionais

Esta atualização está incluída no Service Pack 1 para SQL Server 2016.

 

Cada compilação nova do SQL Server 2016 contém todos os hotfixes e todas as correções de segurança que foram incluídas na compilação anterior. Recomendamos que você instale a versão mais recente do SQL Server 2016.

Os cenários em que o comportamento do otimizador de consulta do SQL Server (QO) devem ser tratados são muito comuns e tradicionalmente são tratados por meio de vários sinalizadores de rastreamento diferentes (documentados e não documentados). No entanto, quando os sinalizadores de rastreamento são definidos globalmente, eles podem ter um efeito adverso em outras cargas de trabalho. Além disso, habilitá-los por sessão não é prático com os aplicativos existentes e habilitá-los por consulta com a opção QUERYTRACEON requer associação na função de servidor fixa sysadmin. (Embora você possa solucionar esse comportamento usando um guia de plano ou um procedimento armazenado, credenciais elevadas ainda são necessárias.) Os sinalizadores de rastreamento são usados para definir temporariamente as características específicas do servidor ou para desativar um determinado comportamento, que podem ser difíceis de gerenciar e entender. Para obter informações sobre sinalizadores de rastreamento, consulte o tópico sobre sinalizadores de rastreamento (Transact-SQL) no site do Microsoft Developer Network (MSDN).

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×