DBCC TRACEON – sinalizadores de rastreamento (Transact-SQL)

Aplica-se a:yesSQL Server (todas as versões com suporte) YesInstância Gerenciada de SQL do Azure

Sinalizadores de rastreamento são usados para definir as características do servidor específico ou para alterar um comportamento em particular. Por exemplo, o sinalizador de rastreamento 3226 é um sinalizador de rastreamento de inicialização que suprime mensagens de backup bem-sucedido no log erros. Sinalizadores de rastreamento são usados com frequência para diagnosticar problemas de desempenho ou depurar procedimentos armazenados ou sistemas de computador complexos, mas também podem ser recomendados pelo Suporte da Microsoft para lidar com comportamento que esteja prejudicando uma carga de trabalho específica. Todos os sinalizadores de rastreamento documentados e aqueles recomendados pelo Suporte da Microsoft têm suporte total em um ambiente de produção quando usados conforme indicado. Observe que os sinalizadores de rastreamento nesta lista podem ter considerações adicionais sobre seu uso específico, portanto, é aconselhável examinar cuidadosamente todas as recomendações de apresentadas aqui e/ou por seu engenheiro de suporte. Além disso, assim como acontece com qualquer alteração de configuração no SQL Server, sempre é melhor testar minuciosamente o sinalizador em um ambiente de não produção antes de implantar.

Comentários

No SQL Server, há três escopos em que os sinalizadores de rastreamento podem funcionar: consulta, sessão e global. Os sinalizadores de rastreamento de consulta ficam ativos para o contexto de uma consulta específica. Os sinalizadores de rastreamento de sessão ficam ativos para uma conexão e são visíveis apenas para essa conexão. Sinalizadores de rastreamento globais são definidos no nível do servidor e são visíveis em todas as conexões no servidor. Alguns sinalizadores podem ser ativados somente como global e outros podem ser ativados no escopo global ou de sessão.

As seguintes regras se aplicam:

  • Um sinalizador de rastreamento global deve ser habilitado globalmente. Caso contrário, ele não terá nenhum efeito. Recomendamos que você habilite os sinalizadores de rastreamento globais na inicialização usando a opção -T da linha de comando. Isso garante que o sinalizador de rastreamento permaneça ativo após o reinício do servidor. Reinicie o SQL Server para que o sinalizador de rastreamento entre em vigor.
  • Se um sinalizador de rastreamento tiver um escopo global, de sessão ou de consulta, ele poderá ser habilitado com o escopo apropriado. Um sinalizador de rastreamento habilitado no nível de sessão nunca afeta outra sessão, e seu efeito se perde quando a SPID que abriu a sessão faz logoff.

Os sinalizadores de rastreamento são definidos como ON ou OFF usando um dos seguintes métodos:

  • Usando os comandos DBCC TRACEON e DBCC TRACEOFF.
    Por exemplo, para habilitar o sinalizador de rastreamento 2528 globalmente, use DBCC TRACEON com o argumento -1: DBCC TRACEON (2528, -1). O efeito de habilitar um sinalizador de rastreamento global com DBCC TRACEON é perdido no reinício do servidor. Para desligar um sinalizador de rastreamento global, use DBCC TRACEOFF com o argumento -1.
  • Usando a opção de inicialização -T para especificar que o sinalizador de rastreamento deve ser ativado durante a inicialização.
    O -T habilita a opção de inicialização de um sinalizador de rastreamento globalmente. Não é possível habilitar um sinalizador de rastreamento no nível de sessão usando uma opção de inicialização. Isso garante que o sinalizador de rastreamento permaneça ativo após o reinício do servidor. Para obter mais informações sobre as opções de inicialização, consulte Opções de inicialização do serviço Mecanismo de Banco de Dados.
  • No nível da consulta, usando a dica de consulta QUERYTRACEON. A opção QUERYTRACEON só é compatível com os sinalizadores de rastreamento do otimizador de consulta documentados na tabela abaixo.

Use o comando DBCC TRACESTATUS para determinar quais sinalizadores de rastreamento estão ativos no momento.

Exemplos

O exemplo a seguir ativa o sinalizador de rastreamento 3205 para todas as sessões no nível do servidor usando DBCC TRACEON.

DBCC TRACEON (3205,-1);  

Você pode habilitar todos os hotfixes que afetam o plano controlados pelos sinalizadores de rastreamento 4199 e 4137 para uma consulta específica.

SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

Sinalizadores de rastreamento

A tabela a seguir lista e descreve os sinalizadores de rastreamento disponíveis no SQL Server.

Observação

A Instância Gerenciada de SQL do Azure dá suporte aos seguintes sinalizadores de rastreamento globais: 460, 2301, 2389, 2390, 2453, 2467, 7471, 8207, 9389, 10316 e 11024. Os sinalizadores de rastreamentos de sessão ainda não são suportados na Instância Gerenciada.

Observação

Alguns sinalizadores de rastreamento foram introduzidos em versões específicas do SQL Server. Para obter mais informações sobre a versão aplicável, confira o artigo do Suporte da Microsoft associado a um sinalizador de rastreamento específico.

Importante

As versões futuras do SQL Server talvez não ofereçam suporte ao comportamento de sinalizador de rastreamento.

Observação

Os sinalizadores de rastreamento podem ser referenciados diretamente na tabela por meio de um indicador que você pode adicionar ao final da URL, usando esse formato #tfNNNN. Por exemplo, para saltar diretamente para o sinalizador de rastreamento 1118 na tabela, use https://docs.microsoft.com/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql#tf1118.

Sinalizador de rastreamento Descrição
101 Aumenta o detalhamento do registro em log do agente de replicação de mesclagem.

IMPORTANTE: O sinalizador de rastreamento 101 pode ser habilitado apenas para o Agente de Mesclagem de Replicação usando a opção -T ao executar replmerg.exe no prompt de comando.

AVISO: O sinalizador de rastreamento 101 não deve ser habilitado continuamente em um ambiente de produção, mas apenas para fins de solução de problemas de tempo limitado. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: Trabalho do Agente de Mesclagem de Replicação
102 Aumenta o detalhamento do registro em log do agente de replicação de mesclagem e direciona-o para a tabela <Servidor de distribuição>..msmerge_history.

IMPORTANTE: O sinalizador de rastreamento 102 pode ser habilitado apenas para o Agente de Mesclagem de Replicação usando a opção -T ao executar replmerg.exe no prompt de comando.

AVISO: O sinalizador de rastreamento 102 não deve ser habilitado continuamente em um ambiente de produção, mas apenas para fins de solução de problemas de tempo limitado. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: Trabalho do Agente de Mesclagem de Replicação
139 Força a semântica de conversão correta no escopo dos comandos de verificação DBCC, como DBCC CHECKDB, DBCC CHECKTABLE e DBCC CHECKCONSTRAINTS, ao analisar a lógica de precisão e conversão melhorada introduzida com o nível de compatibilidade 130, para tipos de dados específicos em um banco de dados com um nível de compatibilidade inferior. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2016 (13.x) RTM CU3, ao SQL Server 2016 (13.x) SP1 e a builds superiores.

AVISO: o sinalizador de rastreamento 139 não deve ser habilitado continuamente em um ambiente de produção e deve ser usado com o propósito exclusivo de executar as verificações de validação do banco de dados descritas neste artigo do Suporte da Microsoft. Ele deverá ser desabilitado imediatamente após a conclusão das verificações de validação.

Escopo: apenas global
174 Aumenta o número de buckets do cache de planos do Mecanismo de Banco de Dados do SQL Server de 40.009 para 160.001 em sistemas de 64 bits. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: apenas global
176 Permite que uma correção solucione erros de endereço ao recompilar partições online para tabelas que contenham uma coluna de particionamento computada. Para obter mais informações, consulte este artigo e este artigo do Suporte da Microsoft.

Escopo: global ou sessão
205 Relata no log de erros quando um procedimento armazenado dependente de estatísticas está sendo recompilado como resultado das estatísticas de atualização automática. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: é obrigatório que o sinalizador de rastreamento 3605 esteja habilitado.

Escopo: apenas global
260 Imprime informações de versão sobre DLLs (bibliotecas de vínculo dinâmico) de procedimento armazenado estendido. Para obter mais informações sobre GetXpVersion() , confira Criando procedimentos armazenados estendidos.

Escopo: global ou sessão
272 Desabilita a pré-alocação de identidade para evitar lacunas nos valores de uma coluna de identidade caso o servidor seja reiniciado inesperadamente ou efetue failover para um servidor secundário. Observe que o cache de identidade é usado para melhorar o desempenho de INSERT em tabelas com colunas de identidade.

Observação: começando pelo SQL Server 2017 (14.x), para fazer isso no nível do banco de dados, confira a opção IDENTITY_CACHE em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Escopo: apenas global
460 Substitui a ID de mensagem 8152 de truncamento de dados pela ID de mensagem 2628. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Do SQL Server 2019 (15.x) em diante, para fazer isso no nível do banco de dados, confira a opção VERBOSE_TRUNCATION_WARNINGS em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Observação: Esse sinalizador de rastreamento se aplica à atualização cumulativa 12 do SQL Server 2017 (14.x) e builds posteriores.

Observação: No nível de compatibilidade do banco de dados 150 em diante, a ID da mensagem 2628 é o padrão e esse sinalizador de rastreamento não tem nenhum efeito.

Escopo: global ou sessão
610 Controla as inserções em tabelas indexadas minimamente registradas. Este sinalizador de rastreamento não é mais necessário começando com o SQL Server 2016, pois o registro mínimo em log é ativado por padrão para tabelas indexadas. No SQL Server 2016 (13.x), quando a operação de carregamento em massa fizer com que uma nova página seja alocada, todas as linhas que preencherem sequencialmente essa nova página serão registradas minimamente se todos os outros pré-requisitos para o registro em log mínimo forem atendidos. As linhas inseridas em páginas existentes (não em uma nova alocação de página) para manter a ordem de índice ainda são totalmente registradas, como as linhas que são movidas como resultado de divisões de página durante o carregamento. Também é importante que ALLOW_PAGE_LOCKS esteja ON para os índices (que é ON por padrão) para que a operação de registro em log mínimo funcione à medida que os bloqueios de página forem adquiridos durante a alocação e, portanto, somente as alocações de página ou de extensão sejam registradas. Para obter mais informações, confira Guia de desempenho de carregamento de dado.

Escopo: global ou sessão
634 Desabilita a tarefa de compactação columnstore em segundo plano. O SQL Server executa periodicamente a tarefa em segundo plano do Motor de Tupla que compacta rowgroups do índice columnstore com os dados não compactados, um rowgroup de cada vez.

A compactação columnstore melhora o desempenho da consulta, mas também consome recursos do sistema. Você pode controlar o tempo da compactação de columnstore manualmente, desabilitando a tarefa de compactação em segundo plano com o sinalizador de rastreamento 634 e invocando explicitamente ALTER INDEX...REORGANIZE ou ALTER INDEX...REBUILD no momento em que desejar.

Escopo: apenas global
652 Desabilita as verificações de pré-busca de página. Se você ativar o sinalizador de rastreamento 652, SQL Server não trará mais as páginas do banco de dados para o pool de buffers antes que essas páginas de banco de dados sejam consumidas pelos exames. Como resultado, as consultas que se beneficiam do recurso de pré-busca da página apresentam um desempenho inferior.

Escopo: global ou sessão
661 Desabilita o processo de remoção de registros fantasmas. O sinalizador de rastreamento 661 desabilita o processo de remoção de registros fantasmas. O registro fantasma é resultado de uma operação de exclusão. Quando você exclui um registro, o registro excluído é mantido como um registro fantasma. Posteriormente, o registro excluído é limpo pelo processo de remoção de registros fantasmas. Quando você desabilita esse processo, o registro excluído não é limpo. Portanto, o espaço que o registro excluído consome não é liberado. Esse comportamento afeta o consumo de espaço e o desempenho das operações de exame. Para obter mais informações, leia o Guia do processo de limpeza de fantasma

Escopo: apenas global
692 Desabilita as inserções rápidas durante o carregamento em massa de dados no heap ou no índice clusterizado. Começando com o SQL Server 2016 (13.x), as inserções rápidas são habilitadas por padrão, aproveitando o log mínimo quando o banco de dados está no modelo de recuperação bulk-logged ou simples para otimizar o desempenho de inserção dos registros inseridos em novas páginas. Com as inserções rápidas, cada lote de carregamento em massa adquire novas extensões, ignorando a pesquisa de alocação de extensão existente com espaço livre disponível, para otimizar o desempenho da inserção.

Com as inserções rápidas, os carregamentos em massa com tamanhos de lote pequenos podem resultar no aumento de espaço não utilizado consumido por objetos, portanto, é recomendável usar um tamanho de lote grande para que cada lote preencha completamente a extensão. Se não for possível aumentar o tamanho do lote, esse sinalizador de rastreamento poderá ajudar a reduzir o espaço não utilizado reservado às custas do desempenho.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2016 (13.x) RTM e a builds superiores.

Escopo: global ou sessão
715 Habilita o bloqueio de tabela para operações de carregamento em massa em um heap sem índices não clusterizados. Quando esse sinalizador de rastreamento está habilitado, as operações de carregamento em massa adquirem bloqueios de BU (atualização em massa) durante a cópia de dados em uma tabela. Os bloqueios de BU (atualização em massa) permitem que vários threads carreguem dados em massa simultaneamente para a mesma tabela, impedindo que outros processos que não estejam carregando dados em massa acessem a tabela.

O comportamento é semelhante a quando o usuário especifica explicitamente a dica TABLOCK ao executar o carregamento em massa ou quando o bloqueio de tabela sp_tableoption em um carregamento em massa está habilitado para uma determinada tabela. No entanto, quando esse sinalizador de rastreamento está habilitado, esse comportamento torna-se o padrão, sem alterações de banco de dados ou de consulta.

Escopo: global ou sessão
818 Permite diagnósticos de E/S adicionais para verificar se há condições de perda de gravação ou leitura obsoleta durante operações de E/S de arquivo. O sinalizador de rastreamento 818 habilita um buffer de anéis na memória usado para acompanhar as últimas 2.048 operações de gravação bem-sucedidas realizadas pelo SQL Server, sem incluir E/Ss de classificação e arquivo de trabalho. Quando ocorrerem erros como o Erro 605, 823 ou 3448, o valor do LSN (número de sequência de log) do buffer de entrada será comparado com a lista de gravação recente. Se o LSN recuperado for mais antigo do que aquele especificado durante a operação de gravação, uma nova mensagem de erro será registrada no log de erros do SQL Server. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Do SQL Server 2017 (14.x) em diante, esse sinalizador de rastreamento não tem nenhum efeito.

Escopo: apenas global
834 Usa as alocações de página grande para o pool de buffers, columnstore e tabelas na memória. O tamanho de página grande varia dependendo da plataforma de hardware, mas ele pode ter de 2 MB a 16 MB. As páginas grandes são alocadas na inicialização e são mantidas durante todo o tempo de vida do processo. O sinalizador de rastreamento 834 aprimora o desempenho aumentando a eficiência do TLB (translation look-aside buffer) na CPU. Em outras palavras, o sinalizador de rastreamento 834 aumenta a eficiência do gerenciamento da conversão de endereços de memória física para virtual que é executada pelo hardware de gerenciamento de memória. Para obter informações sobre o SQL Server e as Páginas Grandes, leia o blog a seguir.

Observação: O sinalizador de rastreamento 834 se aplica somente às versões de 64 bits do SQL Server. Você precisa ter o direito de usuário de Bloquear páginas na memória a fim de ativar o sinalizador de rastreamento 834. Você só pode ativar o sinalizador de rastreamento 834 na inicialização. O sinalizador de rastreamento 834 poderá impedir que o servidor seja iniciado se a memória estiver fragmentada e não for possível alocar páginas grandes. Portanto, o sinalizador de rastreamento 834 é mais adequado para servidores dedicados ao SQL Server.

Observação: Quando habilitado, o modelo de memória de página grande pré-aloca toda a memória SQLOS na inicialização de instância e não retorna essa memória para o sistema operacional.

Observação: Se você estiver usando o recurso de Índice Columnstore de SQL Server 2012 (11.x) a SQL Server 2019 (15.x), não recomendamos ativar o sinalizador de rastreamento 834. Para obter mais informações, confira este artigo do Suporte da Microsoft. Se estiver usando SQL Server 2019 (15.x) e columnstore, confira o sinalizador de rastreamento 876 em vez disso.

Escopo: apenas global
836 Use a opção máxima de memória do servidor para o pool de buffers. O sinalizador de rastreamento 836 faz com que SQL Server dimensione o pool de buffers na inicialização com base no valor da opção máxima de memória do servidor e não na memória física total. Você pode usar o sinalizador de rastreamento 836 para reduzir o número de descritores de buffer que são alocados na inicialização no modo AWE (Address Windowing Extensions) de 32 bits.

Observação: O sinalizador de rastreamento 836 se aplica somente às versões de 32 bits do SQL Server que têm a alocação AWE habilitada. Você só pode ativar o sinalizador de rastreamento 836 na inicialização.

Escopo: apenas global
845 Habilita páginas bloqueadas em SKUs Standard do SQL Server, quando a conta de serviço do SQL Server tem o privilégio Bloquear páginas na memória habilitado. Para obter mais informações, confira este artigo do Suporte da Microsoft e a página de documentação sobre Opções Server Memory de configuração do servidor.

Observação: começando pelo SQL Server 2012 (11.x), esse comportamento está habilitado por padrão para SKUs Standard e o sinalizador de rastreamento 845 não pode ser usado.

Escopo: apenas global
876 Usa alocações de página grande para columnstore.

Observação: Ao contrário do sinalizador de rastreamento 834, o uso do sinalizador de rastreamento 876 não aloca a memória SQLOS na inicialização da instância e a memória não utilizada pode ser liberada.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: apenas global
890 Suprimir mensagens de verificação completas do pool de buffers longos (erro 898) no log de erros. Para obter mais informações sobre a verificação do pool de buffers e a mensagem registrada no log de erros, confira Operações que disparam uma verificação de pool de buffers podem ser executadas lentamente em computadores de grande memória.

Observação: começando no SQL Server 2017 (14.x)

Escopo: apenas global
902 Ignora a execução do script de upgrade de banco de dados ao instalar uma atualização cumulativa ou um service pack. Ao encontrar um erro durante o modo de atualização de script, é recomendável contatar o CSS (Serviço de Suporte e Atendimento ao Cliente) do Microsoft SQL para obter mais diretrizes. Para obter mais informações, confira este artigo do Suporte da Microsoft.

AVISO: esse sinalizador de rastreamento é destinado à solução de problemas de atualizações com falha durante o modo de atualização de script e não dá suporte à execução contínua em um ambiente de produção. Os scripts de atualização do banco de dados precisam ser executados com êxito para garantir uma instalação completa das atualizações cumulativas e dos service packs. Se isso não for feito, poderá haver problemas inesperados com a instância do SQL Server.

Escopo: apenas global
1117 Quando um arquivo no grupo de arquivos atingir o limite de crescimento automático, todos os arquivos no grupo de arquivos crescerão. Esse sinalizador de rastreamento afeta todos os bancos de dados e é recomendado apenas caso cada um deles seja seguro para aumentar todos os arquivos em um grupo de arquivos pelo mesmo valor.

Observação: começando pelo SQL Server 2016 (13.x), esse comportamento é controlado pela opção AUTOGROW_SINGLE_FILE e AUTOGROW_ALL_FILES de ALTER DATABASE e o sinalizador de rastreamento 1117 não tem nenhum efeito. Para obter mais informações, confira Opções de arquivo e grupo de arquivos de ALTER DATABASE (Transact-SQL).

Escopo: apenas global
1118 Força as alocações de página em extensões uniformes em vez de extensões mistas, reduzindo a contenção na página SGAM. Quando um novo objeto é criado, por padrão, as primeiras oito páginas são alocadas de diferentes extensões (extensões misturadas). Depois, quando mais páginas são necessárias, elas são alocadas da mesma extensão (extensão uniforme). A página SGAM é usada para controlar essas extensões mistas, para que possa se tornar rapidamente um gargalo quando várias alocações de página mistas estiverem ocorrendo. Esse sinalizador de rastreamento aloca as oito páginas da mesma extensão ao criar novos objetos, minimizando a necessidade de verificar a página SGAM. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2016 (13.x), esse comportamento é controlado pela opção SET MIXED_PAGE_ALLOCATION de ALTER DATABASE e o sinalizador de rastreamento 1118 não tem nenhum efeito. Para obter mais informações, veja Opções ALTER DATABASE SET (Transact-SQL).

Escopo: apenas global
1204 Retorna os recursos e tipos de bloqueios que participam de um deadlock e também o comando atual afetado. Para obter mais informações sobre deadlocks, confira o Guia de controle de versão de linha e bloqueio de transação.

Observação: Evite usar o sinalizador de rastreamento 1204 em sistemas com uso intensivo de carga de trabalho que causam deadlocks. Para obter mais informações sobre outros meios de detectar deadlocks, confira o Guia de controle de versão de linha e bloqueio de transação.

Escopo: apenas global
1211 Desabilita o escalonamento de bloqueios com base na pressão de memória ou no número de bloqueios. O Mecanismo de Banco de Dados do SQL Server não escalona bloqueios de linha ou de página para bloqueios de tabela.

O uso desse sinalizador de rastreamento pode gerar um número excessivo de bloqueios e, caso a memória do bloqueio aumente o suficiente, a tentativa de alocar bloqueios adicionais para qualquer consulta pode falhar. Isso pode reduzir o desempenho do Mecanismo de Banco de Dados ou causar erros 1204 (não é possível alocar recurso de bloqueio) por causa de memória insuficiente.

Se os sinalizadores de rastreamento 1211 e 1224 forem definidos, o 1211 terá precedência sobre o 1224. Entretanto, como o sinalizador de rastreamento 1211 evita o escalonamento em todos os casos, mesmo sob pressão de memória, recomendamos usar 1224. Isso ajuda a evitar erros de "falta de bloqueios" quando muitos bloqueios são usados.

Para obter mais informações sobre como resolver problemas de bloqueio causados pelo escalonamento de bloqueios no SQL Server, consulte este Artigo de Suporte da Microsoft.

Escopo: global ou sessão
1222 Retorna os recursos e os tipos de bloqueios que participam de um deadlock e também o comando atual afetado, em um formato XML que não obedece a nenhum esquema XSD. Para obter mais informações sobre deadlocks, confira o Guia de controle de versão de linha e bloqueio de transação.

Observação: Evite usar o sinalizador de rastreamento 1222 em sistemas com uso intensivo de carga de trabalho que causam deadlocks. Para obter mais informações sobre outros meios de detectar deadlocks, confira o Guia de controle de versão de linha e bloqueio de transação.

Escopo: apenas global
1224 Desabilita o escalonamento de bloqueios com base no número de bloqueios. Entretanto, a pressão de memória ainda pode ativar o escalonamento de bloqueios. O Mecanismo de Banco de Dados escalona bloqueios de linha ou de página para bloqueios de tabela (ou partição) se a quantidade de memória utilizada pelos objetos de bloqueio exceder uma das seguintes condições:
  • Quarenta por cento da memória usada pelo Mecanismo de Banco de Dados. Aplica-se somente quando o parâmetro locks de sp_configure está definido como 0.
  • Quarenta por cento da memória de bloqueio configurada usando o parâmetro locks do sp_configure. Para obter mais informações, confira Opções de configuração do servidor (SQL Server).

Se os sinalizadores de rastreamento 1211 e 1224 forem definidos, o 1211 terá precedência sobre o 1224. Entretanto, como o sinalizador de rastreamento 1211 evita o escalonamento em todos os casos, mesmo sob pressão de memória, recomendamos usar 1224. Isso ajuda a evitar erros de "falta de bloqueios" quando muitos bloqueios são usados.

Observação: o escalonamento de bloqueio para a granularidade no nível da tabela ou no nível de HoBT (heap ou árvore B) também pode ser controlado usando a opção LOCK_ESCALATION da instrução ALTER TABLE.

Para obter mais informações sobre como resolver problemas de bloqueio causados pelo escalonamento de bloqueios no SQL Server, consulte este Artigo de Suporte da Microsoft

Escopo: global ou sessão
1229 Desabilita todo o particionamento de bloqueio, independentemente do número de CPUs. Por padrão, SQL Server o habilita o particionamento de bloqueio quando um servidor tem 16 ou mais CPUs, para melhorar as características de escalabilidade de sistemas maiores. Para obter mais informações sobre o particionamento de bloqueio, confira o Guia de controle de versão de linha e bloqueio de transação.

AVISO: O sinalizador de rastreamento 1229 pode causar contenção de spinlock e baixo desempenho.

Escopo: apenas global
1236 Permite o particionamento de bloqueio do banco de dados. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2012 (11.x) SP3 e o SQL Server 2014 (12.x) SP1, esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 1236 não tem nenhum efeito.

Escopo: apenas global
1237 Permite que a instrução ALTER PARTITION FUNCTION cumpra a prioridade de deadlock da sessão definida pelo usuário atual em vez de ser a provável vítima do deadlock por padrão. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2017 (14.x) e o nível de compatibilidade 140 do banco de dados, esse é o comportamento padrão e o sinalizador de rastreamento 1237 não tem nenhum efeito.

Escopo: global, sessão ou consulta (QUERYTRACEON)
1260 Desabilitar os despejos do monitor do agendador.

Escopo: apenas global
1448 Permite que o leitor de log de replicação continue mesmo se os secundários assíncronos não reconhecerem a recepção de uma alteração. Mesmo com esse sinalizador de rastreamento habilitado, o leitor de log sempre aguardará as réplicas secundárias síncronas cujo estado de sincronização é SYNCHRONIZED. O leitor de log não ultrapassará o número mínimo de sequência de log reconhecido dos secundários SYNCHRONIZED. Este sinalizador de rastreamento se aplica à instância do SQL Server, não apenas a um grupo de disponibilidade, um banco de dados de disponibilidade ou uma instância do leitor de log. Entra em vigor imediatamente, sem reinicialização. Este sinalizador de rastreamento pode ser ativado antecipadamente ou quando um secundário assíncrono falha.

Escopo: apenas global
1462 Desabilita a compactação do fluxo de log para grupos de disponibilidade assíncronos. Esse recurso é habilitado por padrão nos grupos de disponibilidade assíncronos para otimizar a largura de banda de rede. Para obter mais informações, veja Ajustar a compactação do grupo de disponibilidade.

Escopo: apenas global
1800 Permite a otimização do SQL Server quando discos de diferentes tamanhos de setor são usados para arquivos de log de réplica primária e secundária, nos ambientes Always On e de envio de logs do SQL Server. Este sinalizador de rastreamento só precisa ser habilitado em instâncias do SQL Server que tenham o arquivo de log de transações residindo no disco, com um tamanho de setor de 512 bytes. Ele não precisa ser habilitado para discos com tamanhos de setor de 4 KB. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento se aplica a SQL Server 2012 (11.x) SP1 CU13, SQL Server 2012 (11.x) SP2 CU3, SQL Server 2014 (12.x) RTM CU5 e builds superiores.

Escopo: apenas global
1802 Desabilita a alteração da ACL e a verificação de acesso representada durante as operações de anexar ou desanexar o banco de dados. Isso pode ser útil ao anexar um banco de dados e encontrar erros de permissão de acesso, como o erro 5120.

Escopo: apenas global
1819 Permite que o backup para URL utilize um servidor proxy ao acessar blobs de blocos do Azure. Além desse sinalizador de rastreamento, você deve definir a configuração de proxy WinHTTP no servidor por meio de um dos seguintes métodos:

– O utilitário proxycfg.exe no Windows XP ou no Windows Server 2003 e anteriores.
– O utilitário netsh.exe no Windows Vista e no Windows Server 2008 ou posteriores.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2301 Habilite otimizações avançadas de suporte à decisão que são específicas para consultas de suporte à decisão. Essa opção se aplica ao processamento de suporte à decisão de grandes conjuntos de dados.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2312 Define o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2014 (12.x) e as versões posteriores, dependendo do nível de compatibilidade do banco de dados.

Observação: Se o nível de compatibilidade do banco de dados for inferior a 120, habilitar o sinalizador de rastreamento 2312 usará o modelo de estimativa de cardinalidade de SQL Server 2014 (12.x) (120). Para obter mais informações, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION'dica de consulta em vez de usar o sinalizador de rastreamento.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2335 Faz com que SQL Server presuma que uma quantidade fixa de memória está disponível durante a otimização da consulta, para um cenário em que a configuração máxima do servidor de memória do servidor está definida com um valor muito alto, e faz com que SQL Server gere um plano ineficiente para uma consulta específica. Ele não limita as concessões de memória do SQL Server para executar a consulta. A memória configurada para o SQL Server ainda será usada pelo cache de dados, pela execução da consulta e por outros consumidores.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2340 Faz com que o SQL Server não use uma operação de classificação (classificação em lotes) para junções otimizadas de Loops Aninhados ao gerar um plano. Por padrão, SQL Server pode usar uma junção de loops aninhados otimizada em vez de uma verificação completa ou uma junção de loops aninhados com uma classificação explícita, quando o otimizador de consulta conclui que uma classificação provavelmente não é necessária, mas ainda é uma possibilidade no caso de a cardinalidade ou as estimativas de custo estarem incorretas. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP'dica de consulta em vez de usar o sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2371 Altera o limite fixo de estatísticas de atualização para o limite de estatísticas de atualização linear. Para obter mais informações, confira esta opção AUTO_UPDATE_STATISTICS.

Observação: Começando pelo SQL Server 2016 (13.x) e no nível de compatibilidade do banco de dados 130 ou acima, esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 2371 não tem nenhum efeito.

Escopo: apenas global
2389 Habilitar as estatísticas rápidas geradas automaticamente para chaves crescentes (aditamento de histograma). Se o sinalizador de rastreamento 2389 estiver definido e uma coluna de estatísticas principal estiver marcada como crescente, o histograma usado para estimar a cardinalidade será ajustado no tempo de compilação da consulta.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Observação: esse sinalizador de rastreamento não se aplica ao CE versão 120 ou acima. Nesse caso, use o sinalizador de rastreamento 4139.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2390 Habilitar as estatísticas rápidas geradas automaticamente para chaves crescentes ou desconhecidas (aditamento de histograma). Se o sinalizador de rastreamento 2390 estiver definido e uma coluna de estatísticas principal estiver marcada como crescente ou desconhecida, o histograma usado para estimar a cardinalidade será ajustado no tempo de compilação da consulta. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Observação: esse sinalizador de rastreamento não se aplica ao CE versão 120 ou acima. Nesse caso, use o sinalizador de rastreamento 4139.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2422 Permite que o Mecanismo de Banco de Dados do SQL Server anule uma solicitação quando o tempo máximo definido pela configuração REQUEST_MAX_CPU_TIME_SEC do Resource Governor é excedido. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: sinalizador de rastreamento se aplica ao SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU3 e a builds superiores.

Escopo: global
2430 Permite uma limpeza de classe de bloqueio alternativa. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
2451 Habilita o equivalente do último plano de execução real em sys.dm_exec_query_plan_stats.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Observação: começando no SQL Server 2019 (15.x), para fazer isso no nível do banco de dados, confira a opção LAST_QUERY_PLAN_STATS em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Escopo: apenas global
2453 Permite que uma variável de tabela dispare a recompilação quando um número suficiente de linhas é alterado. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2467 Permite uma política alternativa de alocação de thread de trabalho paralelo, com base em qual nó tem menos threads alocados. Para saber mais, veja Processamento de Consulta Paralela. Confira informações sobre como configurar a opção de servidor de máximo de threads de trabalho em Configurar a Opção de Configuração de Servidor de máximo de threads de trabalho.

Observação: a consulta do grau de paralelismo (DOP) deve se ajustar a um único nó para que esta política alternativa seja usada ou para que, em vez disso, a política padrão de alocação de thread seja usada. Usando esse sinalizador de rastreamento, recomendamos não executar consultas que especificam um DOP sobre o número de agendadores em um único nó porque isso poderia interferir nas consultas que especificam um DOP inferior ou igual ao número de agendadores em um único nó.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: apenas global
2469 Permite a troca alternada para INSERT INTO ... SELECT para um índice columnstore particionado. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global, sessão ou consulta (QUERYTRACEON)
2528 Desabilita a verificação paralela de objetos por DBCC CHECKDB, DBCC CHECKFILEGROUP e DBCC CHECKTABLE. Por padrão, o grau de paralelismo é automaticamente determinado pelo processador de consultas. O grau máximo de paralelismo é configurado da mesma forma que o das consultas paralelas. Para obter mais informações, veja Configurar a opção max degree of parallelism de configuração de servidor.

Observação: as verificações paralelas do DBCC normalmente devem estar habilitadas (padrão). O processador de consultas reavalia e ajusta automaticamente o paralelismo para cada tabela ou lote de tabelas verificado por DBCC CHECKDB.

O cenário de uso típico é quando um administrador do sistema sabe que a carga do servidor vai aumentar antes que o DBCC CHECKDB seja concluído e, então, escolhe diminuir ou desabilitar manualmente o paralelismo, para aumentar a simultaneidade com outra carga de trabalho do usuário. No entanto, desabilitar verificações paralelas em DBCC CHECKDB pode fazer com que ele leve mais tempo para ser concluído.

Observação: se DBCC CHECKDB for executado usando a opção TABLOCK e o paralelismo estiver desabilitado, as tabelas poderão ser bloqueadas por períodos mais longos.

Observação: Começando pelo SQL Server 2014 (12.x) SP2, a opção MAXDOP está disponível para substituir a opção de configuração de grau máximo de paralelismo de sp_configure para as instruções de DBCC.

Escopo: global ou sessão
2544 Faz com que um despejo de memória de SQL Server se torne um despejo completo (o padrão é o mini despejo). Despejos completos são uma cópia completa da memória do processo ativo de destino. Isso inclui todo o estado do thread, toda a memória alocada do processo e todos os módulos carregados. Os despejos completos terão, portanto, um tamanho aproximadamente igual à quantidade de memória usada pelo processo SQL Server, que, por sua vez, pode ser quase tão grande quanto a RAM total do sistema. Em servidores grandes dedicados a apenas uma instância SQL Server, isso pode significar um arquivo, que corresponde a várias centenas de gigabytes ou mais.

AVISO: a geração de um despejo de memória completo pode suspender o processo SQL Server por um longo período (de vários segundos a vários minutos) e pode gerar um arquivo de despejo muito grande. Use esse recurso com cautela e somente nos raros casos em que a situação exigir.

Para obter informações mais detalhadas, confira Usar o utilitário Sqldumper.exe para gerar um arquivo de despejo no SQL Server.

Escopo: apenas global
2549 Força o comando DBCC CHECKDB a assumir que cada arquivo de banco de dados está em uma unidade de disco exclusiva, mas tratando arquivos físicos diferentes como um arquivo lógico. O comando DBCC CHECKDB compila uma lista interna de páginas a serem lidas por unidade de disco exclusiva em todos os arquivos do banco de dados. Essa lógica determina as unidades de disco exclusivas com base na letra da unidade do nome do arquivo físico de cada arquivo.

Observação: não use este sinalizador de rastreamento, a menos que você saiba que cada arquivo está baseado em um disco físico exclusivo.

Observação: embora esse sinalizador de rastreamento aprimore o desempenho dos comandos DBCC CHECKDB direcionados ao uso da opção PHYSICAL_ONLY, alguns usuários talvez não vejam nenhum aprimoramento no desempenho. Apesar deste sinalizador de rastreamento aprimorar o uso de recursos de E/S do disco, o desempenho subjacente dos recursos de disco pode limitar o desempenho geral do comando DBCC CHECKDB. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
2551 Faz com que um despejo de memória de SQL Server se torne um despejo filtrado (o padrão é o mini despejo). Isso captura um percentual de memória completa, em que grandes áreas de estruturas de memória pertencentes a SQL Server são filtradas intencionalmente e não serializadas para o disco, pois elas não trazem valor adicionado à solução de problemas (normalmente, páginas de dados/índice, alguns caches internos, como páginas de dados do Hekaton e memória do pool de logs). Isso resulta em um arquivo, que é menor que um despejo de memória completo, mantendo a maior parte de sua utilidade como opção preferencial em uma grande maioria das situações em que os mini despejos não são suficientes. . Para obter informações mais detalhadas, confira Usar o utilitário Sqldumper.exe para gerar um arquivo de despejo no SQL Server.

Escopo: apenas global
2562 Executa o comando DBCC CHECKDB em um só "lote", independentemente do número de índices no banco de dados. Por padrão, o comando DBCC CHECKDB tenta minimizar os recursos do TempDB, limitando o número de índices ou de "fatos" gerados usando um conceito de "lotes". Mas este sinalizador de rastreamento força todo o processamento em um único lote.

Um efeito de usar este sinalizador de rastreamento é que os requisitos de espaço para o TempDB podem aumentar. O TempDB pode aumentar até 5% ou mais do banco de dados de usuário que está sendo processado pelo comando DBCC CHECKDB.

Observação: embora esse sinalizador de rastreamento aprimore o desempenho dos comandos DBCC CHECKDB direcionados ao uso da opção PHYSICAL_ONLY, alguns usuários talvez não vejam nenhum aprimoramento no desempenho. Apesar deste sinalizador de rastreamento aprimorar o uso de recursos de E/S do disco, o desempenho subjacente dos recursos de disco pode limitar o desempenho geral do comando DBCC CHECKDB. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global ou sessão
2566 Executa o comando DBCC CHECKDB sem a verificação de pureza de dados, a menos que a opção DATA_PURITY esteja especificada.

Observação: Verificações de integridade de valor de coluna são habilitadas por padrão e não exigem a opção DATA_PURITY. Para bancos de dados atualizados de versões anteriores do SQL Server, as verificações de valor de coluna não são habilitadas por padrão até que DBCC CHECKDB WITH DATA_PURITY seja executado sem erros pelo menos uma vez no banco de dados. Depois disso, DBCC CHECKDB verifica a integridade de valores de coluna por padrão. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
2592 Habilita a resolução de símbolo em despejos de pilha quando as Ferramentas de Depuração do Windows estão instaladas. Por exemplo, o uso do sinalizador de rastreamento 3656 requer que o sinalizador de rastreamento 2592 esteja habilitado.

AVISO: esse é um sinalizador de rastreamento de depuração e não se destina para uso do ambiente de produção.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Escopo: global e sessão
3023 Habilita a opção CHECKSUM como padrão para o comando BACKUP. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2014 (12.x), esse comportamento é controlado definindo a opção de configuração padrão da soma de verificação de backup. Para obter mais informações, confira Opções de configuração do servidor (SQL Server).

Escopo: global e sessão
3042 Ignora o algoritmo padrão de pré-alocação de compactação de backup para permitir que o arquivo de backup cresça somente quando necessário para alcançar seu tamanho final. Este sinalizador de rastreamento será útil se você precisar salvar em espaço alocando somente o tamanho real necessário para o backup compactado. Usar este sinalizador de rastreamento pode causar uma pequena penalidade de desempenho (um possível aumento na duração da operação de backup). Para obter mais informações sobre o algoritmo de pré-alocação, confira Compactação de backup (SQL Server).

Escopo: apenas global
3051 Permite o registro em log do backup do SQL Server para a URL em um arquivo de log de erros específico. Para obter mais informações, confira Práticas recomendadas e solução de problemas de backup do SQL Server para URL.

Escopo: apenas global
3205 Por padrão, se uma unidade de fita oferecer suporte à compactação de hardware, a instrução DUMP ou BACKUP a usará. Com esse sinalizador de rastreamento, é possível desabilitar a compactação de hardware para drivers de fita. Isso é útil quando se deseja trocar as fitas por outros locais ou unidades de fita que não oferecem suporte à compactação.

Escopo: global ou sessão
3226 Por padrão, toda operação de backup bem-sucedida acrescenta uma entrada ao log de erros do SQL Server e ao log de eventos do sistema. Se você criar backups de log com frequência, essas mensagens de êxito se acumularão rapidamente, resultando em enormes logs de erros nos quais será difícil localizar outras mensagens.

Com este sinalizador de rastreamento, você pode suprimir estas entradas de log. Isso é útil se você estiver executando backups de log frequentes e se nenhum dos seus scripts depender dessas entradas.

Escopo: apenas global
3427 Permite consertar o problema quando muitas transações consecutivas inserem dados em tabelas temporárias no SQL Server 2016 (13.x) quando essa operação consome mais CPU do que no SQL Server 2014 (12.x). Para obter mais informações, consulte este artigo do Suporte da Microsoft

Observação: Esse sinalizador de rastreamento aplica-se do SQL Server 2016 (13.x) SP1 CU2 ao SQL Server 2016 (13.x) SP2 CU2. Do SQL Server 2016 (13.x) SP2 CU3 e SQL Server 2017 (14.x), esse sinalizador de rastreamento não tem nenhum efeito.

Escopo: apenas global
3459 Desabilita a restauração paralela. Para obter mais informações, confira este artigo de Suporte da Microsoft, este artigo de Suporte da Microsoft e este blog.

Observação: esse sinalizador de rastreamento aplica-se a SQL Server 2016 (13.x), SQL Server 2017 (14.x) e builds superiores.

Escopo: apenas global
3468 Desabilita pontos de verificação indiretos em TempDB.

Observação: esse sinalizador de rastreamento aplica-se a SQL Server 2016 (13.x) SP1 CU5, SQL Server 2017 (14.x) CU1 e a builds superiores.

Escopo: apenas global
3605 Redireciona as mensagens de rastreamento para o log de erros do SQL Server. Por exemplo, o uso dos sinalizadores de rastreamento 205 e 8721 requer que o sinalizador de rastreamento 3605 esteja habilitado.

AVISO: esse é um sinalizador de rastreamento de depuração e não se destina a estar continuamente habilitado em um ambiente de produção.

Escopo: global ou sessão
3608 Impede que o SQL Server inicie e recupere automaticamente qualquer banco de dados, exceto o banco de dados mestre. Se as atividades que requerem o TempDB forem iniciadas, o modelo será recuperado e o TempDB será criado. Outros bancos de dados serão iniciados e recuperados quando acessados. Alguns recursos, como isolamento de instantâneo e instantâneo de leitura confirmada, talvez não funcionem. Use para Mover bancos de dados do sistema e Mover bancos de dados de usuário.

Observação: Não use durante operação normal.

Escopo: apenas global
3625 Limita a quantidade de informações retornadas aos usuários que não são membros da função de servidor fixa sysadmin, mascarando os parâmetros de algumas mensagens de erro usando '******'. Isso pode ajudar a evitar a divulgação de informações confidenciais.

Escopo: apenas global
3656 Habilita a resolução do símbolo em despejos de pilha quando as Ferramentas de Depuração do Windows estão instaladas.

AVISO: esse é um sinalizador de rastreamento de depuração e não se destina para uso do ambiente de produção.

Observação: Começando com SQL Server 2019 (15.x), o sinalizador de rastreamento 2592 deve ser habilitado em conjunto com o sinalizador de rastreamento 3656 para habilitar a resolução de símbolo.

Escopo: global e sessão
3924 Habilita a remoção automática de transações DTC órfãs com SPID = -2, que é um problema para alguns monitores de transação de terceiros. Para obter mais informações, consulte este artigo e este artigo do Suporte da Microsoft.

Escopo: apenas global
3972 Desabilita o recurso de atualizações simultâneas do PFS (Page Free Space). Para obter mais informações sobre atualizações simultâneas do PFS, confira Desempenho inteligente. Para ver um problema em que o sinalizador de rastreamento é útil, confira Despejos do agendador sem produtividade durante a recuperação de um banco de dados de disponibilidade com um instantâneo do banco de dados artigo de Suporte da Microsoft.

Escopo: apenas global
4022 Desabilita a execução automática de procedimentos armazenados quando o SQL Server é iniciado. Para obter mais informações sobre a execução automática de procedimentos armazenados de inicialização, confira sp_procoption

Escopo: apenas global
4043 Corrige um erro que ocorre quando você aplica uma política de segurança na tabela externa do PolyBase e usa Row-Level Security (RLS) no SQL Server 2019 (15.x). A mensagem de erro é semelhante à seguinte: "Predicados de segurança só podem ser adicionados a tabelas de usuário e exibições associadas a esquema" Para obter mais informações, confira este artigo do Suporte da Microsoft

Escopo: global ou sessão
4136 Desabilita a detecção de parâmetro, a menos que OPTION(RECOMPILE), WITH RECOMPILE ou OPTIMIZE FOR <value> seja usado. Para saber mais, confira este artigo do Suporte da Microsoft.

A partir do SQL Server 2016 (13.x), para fazer isso no nível do banco de dados, confira a opção PARAMETER_SNIFFING em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Para obter o mesmo resultado no nível da consulta, adicione a dica de consulta OPTIMIZE FOR UNKNOWN. A dica OPTIMIZE FOR UNKNOWN não desabilita o mecanismo de detecção de parâmetro, mas efetivamente o ignora para atingir o mesmo resultado pretendido.
Começando com o SQL Server 2016 (13.x) SP1, a segunda opção para fazer isso no nível da consulta é adicionar a USE HINT 'DISABLE_PARAMETER_SNIFFING'dica de consulta em vez de usar este sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global ou sessão
4137 Faz com que o SQL Server gere um plano usando a seletividade mínima ao estimar predicados AND para os filtros a serem considerados para correlação parcial em vez de independência sob o modelo de estimativa de cardinalidade do otimizador de consulta do SQL Server 2012 (11.x) e das versões anteriores (70). Para obter mais informações, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'dica de consulta em vez de usar o sinalizador de rastreamento ao usar o CE 70.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Observação: esse sinalizador de rastreamento não se aplica ao CE versão 120 ou acima. Nesse caso, use o sinalizador de rastreamento 9471.

Escopo: global, sessão ou consulta (QUERYTRACEON)
4138 Faz com que o SQL Server gere um plano que não usa ajustes de meta de linha com consultas que contenham as palavras-chave TOP, OPTION (FAST N), IN ou EXISTS. Para obter mais informações, confira este artigo do Suporte da Microsoft.

A partir do SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'DISABLE_OPTIMIZER_ROWGOAL'dica de consulta em vez de usar o sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
4139 Habilitar as estatísticas rápidas geradas automaticamente (aditamento de histograma) independentemente do status da coluna de chave. Se o sinalizador de rastreamento 4139 for definido, independentemente do status da coluna de estatísticas principal (crescente, decrescente ou estático), o histograma usado para estimar a cardinalidade será ajustado no tempo de compilação da consulta. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS'dica de consulta em vez de usar o sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Observação: esse sinalizador de rastreamento não se aplica ao CE versão 70. Use os sinalizadores de rastreamento 2389 e 2390.

Escopo: global, sessão ou consulta (QUERYTRACEON)
4199 Habilita correções do QO (otimizador de consulta) lançadas nas Atualizações Cumulativas e nos Service Packs do SQL Server.

As alterações do QO feitas nas versões anteriores do SQL Server são habilitadas por padrão no nível de compatibilidade mais recente do banco de dados em uma determinada versão do produto sem o sinalizador de rastreamento 4199 ser habilitado.

A tabela a seguir resume o comportamento ao usar níveis de compatibilidade do banco de dados específicos e o sinalizador de rastreamento 4199. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Versão do DE (Mecanismo de Banco de Dados)Nível de compatibilidade do banco de dadosTF 4199Alterações do QO em relação a todos os níveis de compatibilidade do banco de dados anterioresAlterações do QO para a versão do DE atual pós-RTM
13 (SQL Server 2016 (13.x))100 a 120DesativadoDesabilitadoDesabilitado
Porhabilitadohabilitado
130 (padrão)DesativadohabilitadoDesabilitado
Porhabilitadohabilitado
14 (SQL Server 2017 (14.x))100 a 120DesativadoDesabilitadoDesabilitado
Porhabilitadohabilitado
130DesativadohabilitadoDesabilitado
Porhabilitadohabilitado
140 (Padrão)DesativadohabilitadoDesabilitado
Porhabilitadohabilitado
15 (SQL Server 2019 (15.x)) e 12 (Banco de Dados SQL do Azure)100 a 120DesativadoDesabilitadoDesabilitado
Porhabilitadohabilitado
130 a 140DesativadohabilitadoDesabilitado
Porhabilitadohabilitado
150 (Padrão)DesativadohabilitadoDesabilitado
Porhabilitadohabilitado


A partir do SQL Server 2016 (13.x), para fazer isso no nível do banco de dados, confira a opção QUERY_OPTIMIZER_HOTFIXES em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

A partir do SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES'dica de consulta em vez de usar o sinalizador de rastreamento.

Importante: as correções do Otimizador de Consulta que traram de resultados errados ou de erros de violação de acesso não são habilitadas pelo sinalizador de rastreamento 4199. Essas correções não são consideradas opcionais e são habilitadas por padrão quando o pacote de atualização é instalado.

Escopo: global, sessão ou consulta (QUERYTRACEON)
4610 Aumenta o tamanho da tabela de hash que armazena as entradas de cache em um fator igual a 8. Quando usado em conjunto com o sinalizador de rastreamento 4618 aumenta o número de entradas no repositório de cache TokenAndPermUserStore para 8.192. Para obter mais informações, consulte este artigo e este artigo do Suporte da Microsoft.

Escopo: apenas global
4616 Torna os metadados em nível de servidor visíveis para funções de aplicativo. No SQL Server, uma função de aplicativo não pode acessar metadados fora de seu próprio banco de dados porque as funções de aplicativo não são associadas a um principal em nível de servidor. Essa é uma alteração de comportamento de versões anteriores do SQL Server. Definir esse sinalizador global desabilita as novas restrições e permite que funções de aplicativo acessem metadados em nível de servidor.

Escopo: apenas global
4618 Limita o número de entradas no repositório de cache TokenAndPermUserStore para 1.024. Quando usado em conjunto com o sinalizador de rastreamento 4610 aumenta o número de entradas no repositório de cache TokenAndPermUserStore para 8.192. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
4621 Limita o número de entradas no repositório de cache TokenAndPermUserStore para o número especificado pelo usuário em uma chave do Registro. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
5004 Pausa a verificação de criptografia de TDE (Transparent Data Encryption) e faz com que o trabalho de verificação de criptografia seja encerrado sem ser realizado. O banco de dados continuará no estado criptografando (criptografia em andamento). Para retomar a verificação de nova criptografia, desabilite o sinalizador de rastreamento 5004 e execute ALTER DATABASE <database_name> SET ENCRYPTION ON.

Escopo: apenas global
6408 Habilita a visibilidade do plano de execução estimado para ver o plano de consulta remota da computação de pushdown do PolyBase. Observação: começando no SQL Server 2019 (15.x). Para obter mais informações, confira Como saber se ocorreu um pushdown externo.
6498 Permite que mais de uma compilação de consulta grande ganhe acesso ao gateway grande quando há memória suficiente disponível. Esse sinalizador de rastreamento pode ser usado para manter o uso de memória para a compilação de consultas de entrada sob controle, evitando esperas de compilação para consultas grandes simultâneas. Baseia-se em 80% da memória de destino do SQL Server e permite uma compilação de consulta grande a cada 25 GB (GB) de memória. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2014 (12.x) SP2 e o SQL Server 2016 (13.x), esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 6498 não tem nenhum efeito.

Escopo: apenas global
6527 Desabilita a geração de um despejo de memória na primeira ocorrência de uma exceção de memória insuficiente na integração de CLR. Por padrão, o SQL Server gera um despejo de memória pequeno na primeira ocorrência de uma exceção de memória insuficiente no CLR (Common Language Runtime). O comportamento do sinalizador de rastreamento é:
  • Se isso for usado como um sinalizador de rastreamento de inicialização, um despejo de memória nunca será gerado. No entanto, um despejo de memória poderá ser gerado se forem usados outros sinalizadores de rastreamento.
  • Se esse sinalizador de rastreamento estiver habilitado em um servidor em execução, um despejo de memória não será gerado automaticamente a partir desse ponto. No entanto, se um despejo de memória já tiver sido gerado devido a uma exceção de memória insuficiente no CLR, este sinalizador de rastreamento não terá nenhum efeito.

Escopo: apenas global
6532 Permite a melhoria do desempenho de operações de consulta com tipos de dados espaciais no SQL Server 2012 (11.x) e no SQL Server 2014 (12.x). O ganho de desempenho vai variar, dependendo da configuração, dos tipos de consultas e dos objetos. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2016 (13.x), esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 6532 não tem nenhum efeito.

Escopo: global e sessão
6533 Permite a melhoria do desempenho de operações de consulta com tipos de dados espaciais no SQL Server 2012 (11.x) e no SQL Server 2014 (12.x). O ganho de desempenho vai variar, dependendo da configuração, dos tipos de consultas e dos objetos. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2016 (13.x), esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 6533 não tem nenhum efeito.

Escopo: global e sessão
6534 Permite o aprimoramento do desempenho das operações de consulta com tipos de dados espaciais começando com o SQL Server 2012 (11.x). O ganho de desempenho vai variar, dependendo da configuração, dos tipos de consultas e dos objetos. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
6545 Habilita a segurança estrita do CLR. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Esse sinalizador de rastreamento se aplica a SQL Server 2012 (11.x) SP3 CU10, SQL Server 2014 (12.x) SP2 CU6, SQL Server 2016 (13.x) RTM CU7, SQL Server 2016 (13.x) SP1 CU4 e builds superiores. Começando com o SQL Server 2017 (14.x), esse recurso é habilitado por padrão e o sinalizador de rastreamento 6545 não tem nenhum efeito.

Escopo: apenas global
6559 Habilita a correção que altera a lógica padrão do modelo de threading CLR. Para saber mais, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2016 (13.x) SP2 CU10, ao SQL Server 2017 (14.x) CU18, ao SQL Server 2019 (15.x) CU1 e a builds superiores.

Escopo: apenas global
7314 Força os valores NUMBER com precisão/escala desconhecida a serem tratados como valores duplos no Provedor OLE DB. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global e sessão
7412 Habilita a infraestrutura leve de criação de perfil de estatísticas de execução de consulta. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2016 (13.x) SP1 e a builds superiores. Começando com SQL Server 2019 (15.x), este sinalizador de rastreamento não tem nenhum efeito, porque a criação de perfil leve é habilitada por padrão.

Escopo: apenas global
7470 Habilita cálculos adicionais para concessões de memória necessárias para operações de classificação. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento se aplica a SQL Server 2012 (11.x) SP2 CU8, SQL Server 2014 (12.x) RTM CU10, SQL Server 2014 (12.x) SP1 CU3 e builds superiores.

AVISO: o sinalizador de rastreamento 7470 aumentará os requisitos de memória para consultas que usam operadores de classificação e poderá afetar a disponibilidade da memória para outras consultas simultâneas.

Escopo: global, sessão ou consulta (QUERYTRACEON)
7471 Permite executar várias UPDATE STATISTICS para estatísticas diferentes em uma única tabela simultaneamente. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2014 (12.x) SP1 e a builds superiores.

Escopo: apenas global
7745 Força o Repositório de Consultas a não liberar dados para o disco no desligamento do banco de dados.

Observação: usar este rastreamento pode fazer com que os dados do Repositório de Consultas que não foram liberados para o disco sejam perdidos em caso de desligamento. Para um desligamento do SQL Server, o comando SHUTDOWN WITH NOWAIT pode ser usado em vez do sinalizador de rastreamento para forçar um desligamento imediato.

Escopo: apenas global
7752 Habilita o carregamento assíncrono do Repositório de Consultas.

Observação: Use este sinalizador de rastreamento se o SQL Server estiver apresentando um alto número de esperas QDS_LOADDB relacionadas à carga síncrona do Repositório de Consultas (comportamento padrão durante a recuperação do banco de dados).

Observação: começando pelo SQL Server 2019 (15.x), esse comportamento é controlado pelo mecanismo, e o sinalizador de rastreamento 7752 não tem nenhum efeito.

Escopo: apenas global
7806 Habilita uma conexão de administrador dedicada (DAC) no SQL Server Express. Por padrão, nenhum recurso DAC é reservado no SQL Server Express. Para obter mais informações, veja Conexão de diagnóstico para administradores de banco de dados.

Escopo: apenas global
8011 Desabilitar o buffer de anéis do Monitor de Recursos. Você pode usar as informações de diagnóstico nesse buffer de anéis para diagnosticar as condições de memória insuficiente. Portanto, se você usar esse sinalizador de rastreamento, as informações disponíveis para diagnosticar problemas de desempenho e funcionais com SQL Server serão consideravelmente reduzidas. O sinalizador de rastreamento 8011 sempre se aplica a todo o servidor e tem escopo global. Você pode ativar o sinalizador de rastreamento 8011 na inicialização ou em uma sessão de usuário.

Escopo: global
8012 Desabilitar o buffer de anéis para agendadores. SQL Server registra um evento no buffer de anéis de agendamento toda vez que ocorre um dos seguintes eventos:
– Um agendador alterna o contexto para outro trabalhador
– Um trabalhador é suspenso
– Um trabalhador é retomado
– Um trabalho entra no modo preemptivo ou no modo não preemptivo.

Você pode usar as informações de diagnóstico nesse buffer de anéis para analisar os problemas de agendamento. Por exemplo, você pode usar as informações nesse buffer de anéis para solucionar problemas quando SQL Server para de responder. O sinalizador de rastreamento 8012 desabilita a gravação de eventos por agendadores. Você só pode ativar o sinalizador de rastreamento 8012 na inicialização.

AVISO: quando você usar esse sinalizador de rastreamento, as informações disponíveis para diagnosticar problemas de desempenho e funcionais com SQL Server serão consideravelmente reduzidas.

Escopo: apenas global
8015 Desabilitar a detecção automática e a configuração NUMA. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8018 Desabilitar o buffer de anéis de exceção. O buffer de anéis de exceção registra as últimas 256 exceções que são geradas em um nó. Cada registro contém algumas informações sobre o erro e contém um rastreamento de pilha. Um registro é adicionado ao buffer de anéis sempre que uma exceção é gerada. O sinalizador de rastreamento 8018 desabilita a criação do buffer de anéis, de modo que nenhuma informação de exceção seja registrada. O sinalizador de rastreamento 8019 desabilita a coleta de pilha durante a criação de registros.

AVISO: quando você usar esse sinalizador de rastreamento, as informações disponíveis para diagnosticar problemas de desempenho e funcionais com SQL Server serão consideravelmente reduzidas.

Escopo: apenas global
8019 Desabilitar a coleta de pilha para o buffer de anéis de exceção. O sinalizador de rastreamento 8019 não terá efeito se o sinalizador de rastreamento 8018 estiver ativado.

AVISO: quando você usar esse sinalizador de rastreamento, as informações disponíveis para diagnosticar problemas de desempenho e funcionais com SQL Server serão consideravelmente reduzidas.

Escopo: apenas global
8020 Desabilitar o monitoramento do conjunto de trabalho. SQL Server usa o tamanho do conjunto de trabalho quando recebe sinais do estado da memória global do sistema operacional. O sinalizador de rastreamento 8020 remove o tamanho da memória do conjunto de trabalho da consideração quando SQL Server interpreta os sinais do estado da memória global. Se você usar esse sinalizador de rastreamento incorretamente, poderá ocorrer uma paginação intensiva e o desempenho poderá ser ruim. Portanto, entre em contato com Suporte da Microsoft antes de ativar o sinalizador de rastreamento 8020. Você só pode ativar o sinalizador de rastreamento 8020 na inicialização.

Escopo: apenas global
8032 Reverte os parâmetros de limite de cache para a configuração do SQL Server 2005 (9.x) RTM, que, em geral, permite que os caches sejam maiores. Use esta configuração quando entradas de cache reutilizadas com frequência não se ajustarem no cache e quando a opção de configuração do servidor de otimizar para cargas de trabalho ad hoc não tiver resolvido o problema com o cache do plano.

AVISO: O sinalizador de rastreamento 8032 pode causar baixo desempenho se os caches grandes deixarem menos memória disponível para outros consumidores de memória, como o pool de buffers.

Escopo: apenas global
8048 Converte objetos de memória particionados NUMA em CPU particionada. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2014 (12.x) SP2 e o SQL Server 2016 (13.x), esse comportamento é dinâmico e controlado pelo mecanismo.

Escopo: apenas global
8075 Reduz a fragmentação do VAS quando você recebe erros de alocação de página de memória em um SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) de 64 bits. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: esse sinalizador de rastreamento aplica-se a SQL Server 2012 (11.x), a SQL Server 2014 (12.x) RTM CU10 e a SQL Server 2014 (12.x) SP1 CU3. A partir de SQL Server 2016 (13.x), esse comportamento é controlado pelo mecanismo, e o sinalizador de rastreamento 8075 não tem nenhum efeito.

Escopo: apenas global
8079 Permite que o SQL Server 2014 (12.x) SP2 interrogue o layout de hardware e configure automaticamente o Soft-NUMA em sistemas que estejam relatando 8 ou mais CPUs por nó NUMA. O comportamento automático do Soft-NUMA é reconhecer o Hyperthread (HT/processador lógico). O particionamento e a criação de nós adicionais dimensiona o processamento em segundo plano aumentando o número de ouvintes, o dimensionamento e os recursos de rede e de criptografia.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2014 (12.x) SP2. Começando com SQL Server 2016 (13.x), esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 8079 não tem nenhum efeito.

Escopo: apenas global
8089 No SQL Server 2017 (14.x) CU16, você pode habilitar a filtragem de bitmap para reduzir o tamanho dos despejos de memória filtrados. SQL Server aloca um bitmap que controla as páginas de memória a serem excluídas de um despejo filtrado. Sqldumper.exe lê o bitmap e filtra as páginas sem a necessidade de ler nenhum outro metadado do gerenciador de memória.

Observação: este sinalizador de rastreamento aplica-se somente do SQL Server 2017 (14.x) CU16 a CU19. No SQL Server 2017 (14.x) CU20 e nas versões posteriores, a filtragem de bitmap é habilitada por padrão. O sinalizador de rastreamento 8089 não será mais aplicado e será ignorado se estiver ativado. A filtragem de bitmap pode ser desabilitada por meio do sinalizador de rastreamento 8095. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8095 Desabilita a filtragem de bitmap para despejos de memória filtrados. SQL Server aloca um bitmap que controla as páginas de memória a serem excluídas de um despejo filtrado. Sqldumper.exe lê o bitmap e filtra as páginas sem a necessidade de ler nenhum outro metadado do gerenciador de memória.

Observação: esse sinalizador de rastreamento se aplica a builds em que a filtragem de bitmap está habilitada por padrão: SQL Server 2016 (13.x) CU13 e posterior, SQL Server 2017 (14.x) CU20 e posterior e SQL Server 2019 (15.x).

Escopo: apenas global
8099 Habilita uma correção de contenção de spinlock para sistemas de alto nível que executam SQL Server 2019 (15.x) atendendo a muitos usuários simultâneos.

Observação: esse sinalizador de rastreamento aplica-se somente ao SQL Server 2019 (15.x) CU2 e CU3. Começando com o SQL Server 2019 (15.x) CU4, esse comportamento é habilitado por padrão. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8101 Permite uma correção para resolver o alto uso da CPU em um hardware moderno, como processadores Intel Sklylake, com um grande número de CPUs e um grande número de usuários simultâneos. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8121 Corrige um problema de memória baixa em todo o sistema que ocorre quando SQL Server confirma memória acima da memória máxima do servidor no modelo de memória com as Páginas de Bloqueio na Memória. Esse sinalizador de rastreamento oferece a memória que o thread do sistema do Monitor de Recursos precisa para reduzir SQL Server consumo de memória. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8207 Habilita atualizações singleton para Replicação transacional e CDA. As atualizações para os assinantes podem ser replicadas como um par DELETE e INSERT. Isso pode não atender às regras de negócio, como acionar um gatilho de UPDATE. Com o sinalizador de rastreamento 8207, uma atualização para uma coluna exclusiva que afeta apenas uma linha (uma atualização singleton) é replicada como uma UPDATE e não como um par DELETE ou INSERT. Se a atualização afetar uma coluna em que exista uma única restrição exclusiva ou se a atualização afetar várias linhas, a atualização ainda será replicada como um par DELETE ou INSERT. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
8558 Habilita uma correção para garantir que você não observe casos de borda em que, quando o nível de isolamento RCSI está habilitado, uma transação às vezes não pode ver os dados mais recentes das tabelas que foram modificadas usando transações de DTC mesmo após xa_commit retornar êxito por um curto período de tempo.

Observação: teste essa opção completamente antes de implantá-la em um ambiente de produção. Esse sinalizador de rastreamento se aplica apenas ao SQL Server 2022 e versões posteriores.

Escopo: apenas global
8721 Relata para o log de erros quando as estatísticas de atualização automática são executadas. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: é obrigatório que o sinalizador de rastreamento 3605 esteja habilitado.

Escopo: apenas global
8744 Desabilitar a pré-busca para o operador de Loops Aninhados.

AVISO: o uso incorreto desse sinalizador de rastreamento pode causar leituras físicas adicionais quando o SQL Server executa planos que contêm o operador de loops aninhados.

Escopo: global e sessão
9024 Converte um objeto de memória do pool de logs global em um objeto de memória particionada de nó NUMA. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: começando pelo SQL Server 2012 (11.x) SP3 e o SQL Server 2014 (12.x) SP1, esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 9024 não tem nenhum efeito.

Escopo: apenas global
9109 Desabilita o início da funcionalidade de notificação de consulta. Para obter mais informações, confira este artigo do Suporte da Microsoft.

AVISO: tenha cuidado com esse sinalizador de rastreamento. Ele pode ser útil em um conjunto limitado de cenários, principalmente para solução de problemas ou identificação de um problema.

Escopo: global e sessão
9347 Desabilita o modo de lote para o operador de classificação. O SQL Server 2016 (13.x) introduziu um novo operador de classificação de modo de lote que aumenta o desempenho de muitas consultas analíticas. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9348 Habilita o uso de estimativas de cardinalidade do otimizador de consulta para decidir se BULK INSERT para um índice columnstore clusterizado deve ser iniciado ou não. Se o número estimado de linhas a serem inseridas for menor que 102.400, o Mecanismo de Banco de Dados usará BULK INSERT. Se mais de 102.400 linhas forem estimadas, um BULK INSERT será iniciado. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9349 Desabilita o modo de lote para o operador de classificação de N principais. O SQL Server 2016 (13.x) introduziu um novo operador de classificação superior de modo de lote que aumenta o desempenho de muitas consultas analíticas.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9358 Desabilita o modo de lote para o operador de classificação. Para saber mais, confira este artigo do Suporte da Microsoft.

Observação: Começando com SQL Server 2017 (14.x), esse comportamento é habilitado por padrão e esse sinalizador de rastreamento não tem nenhum efeito.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9389 Habilita a concessão de memória dinâmica adicional para operadores de modo de lote. Se uma consulta não receber toda a memória que precisa, ela despejará dados para o TempDB, acarretando E/S adicional e possivelmente afetando o desempenho da consulta. Se o sinalizador de rastreamento de concessão de memória dinâmica estiver habilitado, um operador de modo de lote poderá solicitar memória adicional e evitar o despejo para o TempDB, se houver memória adicional disponível. Para obter mais informações, consulte a seção Efeitos de min memory per query do Guia de arquitetura de gerenciamento de memória.

Escopo: global ou sessão
9398 Desabilita o operador de Junção Adaptável que permite que a opção de um método de junção Hash ou de Loops Aninhados seja adiada até após a verificação da primeira entrada, conforme introduzido no SQL Server 2017 (14.x). Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9410 Habilita uma correção não padrão para uma consulta que usa um operador de agregação de hash e despejos. A habilitação desse sinalizador de rastreamento aumenta a memória disponível para operações de hash distintas. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9453 Desabilita a execução do modo de lote. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9471 Faz com que o SQL Server gere um plano usando a seletividade mínima para filtros de tabela única no modelo de estimativa de cardinalidade do otimizador de consulta do SQL Server 2014 (12.x) e das versões posteriores.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'dica de consulta em vez de usar o sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Observação: esse sinalizador de rastreamento não se aplica ao CE versão 70. Nesse caso, use o sinalizador de rastreamento 4137.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9476 Faz com que o SQL Server gere um plano usando a pressuposição de confinamento simples em vez da pressuposição de confinamento base padrão no modelo de estimativa de cardinalidade do otimizador de consulta do SQL Server 2014 (12.x) e das versões posteriores. Para saber mais, confira este artigo do Suporte da Microsoft.

Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS'dica de consulta em vez de usar o sinalizador de rastreamento.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9481 Permite definir o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2012 (11.x) e versões anteriores, independentemente do nível de compatibilidade do banco de dados. Para obter mais informações, confira este artigo do Suporte da Microsoft.

A partir do SQL Server 2016 (13.x), para fazer isso no nível do banco de dados, confira a opção LEGACY_CARDINALITY_ESTIMATION em ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

A partir do SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION'dica de consulta em vez de usar o sinalizador de rastreamento.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9485 Desabilita a permissão SELECT para DBCC SHOW_STATISTICS. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
9488 Define a estimativa fixa das funções com valor de tabela para o padrão 1 (correspondente ao padrão no modelo de estimativa de cardinalidade do otimizador de consulta do SQL Server 2008 R2 e das versões anteriores), ao usar o modelo de estimativa de cardinalidade do otimizador de consulta do SQL Server 2012 (11.x) e das versões posteriores.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9495 Desabilita o paralelismo durante a inserção para operações INSERT...SELECT e aplica-se às tabelas de usuário e temporárias. Para obter mais informações, confira este artigo do Suporte da Microsoft

Escopo: global ou sessão
9567 Habilita a compactação do fluxo de dados para Grupos de Disponibilidade AlwaysOn durante a propagação automática. A compactação pode reduzir significativamente o tempo de transferência durante a propagação automática e aumentar a carga no processador. Para obter mais informações, confira Inicializar automaticamente o Grupo de Disponibilidade AlwaysOn e Ajustar a compactação do grupo de disponibilidade.

Escopo: global ou sessão
9571 Desabilita a propagação automática de grupos de disponibilidade para o caminho do banco de dados padrão. Saiba mais em Layout de Disco.

Escopo: global ou sessão
9576 Desabilita a coleta de erros avançada para failovers de grupo de disponibilidade introduzidos no SQL Server 2016 (13.x) SP1 CU10, no SQL Server 2016 (13.x) SP2 CU2 e no SQL Server 2017 (14.x) CU9. Para obter mais informações, confira Grupos de disponibilidade do SQL Server – Failover de nível de banco de dados aprimorado.

Escopo: apenas global
9591 Desabilita a compactação do bloco de logs em Grupos de Disponibilidade AlwaysOn. A compactação do bloco de log sé o comportamento padrão usado com réplicas síncronas e assíncronas no SQL Server 2012 (11.x) e no SQL Server 2014 (12.x). No SQL Server 2016 (13.x), a compactação é usada somente com a réplica assíncrona.

Escopo: global ou sessão
9592 Habilita a compactação do fluxo de logs para grupos de disponibilidade síncronos. Este recurso está desabilitado por padrão em grupos de disponibilidade síncronos, pois a compactação adiciona latência. Para obter mais informações, veja Ajustar a compactação do grupo de disponibilidade.

Escopo: global ou sessão
9929 Reduz os arquivos de ponto de verificação na memória para 1 MB. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
9939 Habilita os planos paralelos e a verificação paralela das tabelas com otimização de memória e das variáveis de tabela em operações de DML que referenciam tabelas com otimização de memória ou variáveis de tabela, desde que elas não sejam o destino da operação de DML no SQL Server 2016 (13.x). Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: o sinalizador de rastreamento 9939 não será necessário se o sinalizador de rastreamento 4199 também estiver habilitado explicitamente.

Escopo: global, sessão ou consulta (QUERYTRACEON)
9944 Habilita uma correção não padrão para tempo de recuperação de banco de dados lento quando um banco de dados tem um grande número de tabelas com otimização de memória ou tipos de tabela com otimização de memória, e o bloqueio com os tipos de espera PREMPTIVE_OS_FINDFILE ou PREEMPTIVE_OS_CREATEDIRECTORY pode ser observado. Para obter mais informações, consulte este artigo e este artigo do Suporte da Microsoft.

Escopo: apenas global
10054 Desabilita a regra SQL Server do Otimizador de Consultas que descorrelaciona subconsultas em predicados OR em junções externas.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Observação: Teste essa opção completamente antes de implantá-la em um ambiente de produção.

Escopo: global, sessão ou consulta (QUERYTRACEON)
10204 Desabilita a mesclagem/recompactação durante a reorganização do índice columnstore. No SQL Server 2016 (13.x), quando um índice columnstore é reorganizado, há uma nova funcionalidade para mesclar automaticamente todos os pequenos rowgroups compactados em rowgroups maiores compactados, bem como recompactar todos os rowgroups com um grande número de linhas excluídas.

Observação: o sinalizador de rastreamento 10204 não se aplica a índices columnstore que são criados em tabelas com otimização de memória.

Escopo: global ou sessão
10207 Permite que as verificações de um CCI (índice columnstore clusterizado) ignorem segmentos ou metadados corrompidos, permitindo a recuperação de dados de um CCI corrompido. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: global ou sessão
10316 Permite a criação de índices adicionais na tabela temporal interna de preparo com otimização de memória, além do padrão. Se você tiver um padrão de consulta específico que inclua colunas que não estejam cobertas pelo índice padrão, considere adicionar outros.

Observação: as tabelas temporais de versão do sistema para tabelas com otimização de memória são projetadas para fornecer alta produtividade transacional. Esteja ciente de que a criação de índices adicionais pode apresentar sobrecarga para operações de DML que atualizam ou excluem linhas na tabela atual. Com os índices adicionais, você deve buscar encontrar o equilíbrio certo entre desempenho das consultas temporais e a sobrecarga adicional de DML.

Escopo: global ou sessão
11023 Desabilita o uso da última taxa de amostra persistente para todas as atualizações de estatísticas subsequentes em que uma taxa de amostra não está especificada explicitamente como parte da instrução UPDATE STATISTICS. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Escopo: apenas global
11024 Permite disparar a atualização automática de estatísticas quando a contagem de modificação de qualquer partição exceder o limite local. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: sinalizador de rastreamento se aplica ao SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU3 e a builds superiores.

Escopo: apenas global
11047 Aplica o tempo limite padrão definido por query wait (s) ou a configuração do Resource Governor REQUEST_MEMORY_GRANT_TIMEOUT_SEC a operações de build de índice columnstore. Para obter mais informações, confira este artigo do Suporte da Microsoft.

Observação: Esse sinalizador de rastreamento se aplica ao SQL Server 2016 (13.x) SP2 CU5, ao SQL Server 2017 (14.x) CU14 e a builds superiores.

Escopo: apenas global
11064 Aprimora a escalabilidade das operações de carregamento de dados em índices columnstore otimizando a distribuição de memória entre as instruções SELECT e INSERT. Para saber mais sobre como carregar dados em um índice columnstore, confira Índices columnstore – diretrizes de carregamento de dados.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Escopo: apenas global
11068 Usa o valor de MAXDOP (grau máximo de paralelismo) configurado do servidor, do banco de dados ou do pool de recursos para operações de inserção de índice columnstore. Para obter mais informações sobre como substituir graus de paralelismo, confira o Guia de arquitetura de processamento de consultas.

Importante: esse sinalizador de rastreamento só será eficaz se o sinalizador de rastreamento 11064 também estiver habilitado.

Importante: use esse sinalizador de rastreamento quando houver preferência por cargas de dados mais rápidas em detrimento de manter a qualidade do segmento columnstore. Por exemplo, usar esse sinalizador de rastreamento ao carregar 1.048.577 linhas em um columnstore poderá resultar em mais de um rowgroup compactado se a operação de inserção estiver sendo executada em modo paralelo. Sem esse sinalizador de rastreamento, a operação de inserção resultaria em um rowgroup compactado.

Observação: Esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) e a builds superiores.

Escopo: apenas global
11631 Um ALTER INDEX ... REORGANIZE e a tarefa de mesclagem em segundo plano limparão as linhas excluídas em um grupo de linhas do índice columnstore somente quando um determinado limite de linhas tiver sido excluído desse grupo de linhas. O limite padrão é de 10% do limite máximo de linhas (1 milhão) ou de 100.000 linhas.

Esse sinalizador de rastreamento altera o limite para 10% do total de linhas atuais em um grupo de linhas do columnstore. Por exemplo, se um grupo de linhas contiver 20 mil linhas, o limite será de dois mil linhas excluídas para que esse grupo de linhas seja considerado um candidato para limpeza. Para obter mais informações, confira este artigo do Suporte da Microsoft

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) CU9 e a builds posteriores.

Escopo: apenas global
11634 Um ALTER INDEX ... REORGANIZE e a tarefa de mesclagem em segundo plano limparão as linhas excluídas em um grupo de linhas do índice columnstore somente quando um determinado limite de linhas tiver sido excluído desse grupo de linhas. O limite padrão é de 10% do limite máximo de linhas (1 milhão) ou 100.000 linhas.

Esse sinalizador de rastreamento altera o limite para 1% do total de linhas em um grupo de linhas do columnstore. Se habilitado junto com o sinalizador de rastreamento 11631, ele será de 1% do número atual de linhas em um grupo de linhas, em vez de 1% de um milhão de linhas. Para obter mais informações, confira este artigo do Suporte da Microsoft

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2019 (15.x) CU9 e a builds posteriores.

Escopo: apenas global
13116 Desabilita a correção para o bug 13685819. Use esse sinalizador de rastreamento se, depois de aplicar o SQL Server 2016 (13.x) SP2 CU16, você encontrar um problema no qual as consultas DML (inserir/atualizar/excluir) que usam planos paralelos não podem concluir qualquer execução e encontrar esperas HP_SPOOL_BARRIER.

Observação: esse sinalizador de rastreamento aplica-se ao SQL Server 2016 (13.x) SP2 CU16.

Escopo: apenas global

Confira também

Próximas etapas