Definir sinalizadores de rastreamento no RDS for Microsoft SQL Server
Um sinalizador de rastreamento do SQL Server é uma configuração que pode ser habilitada ou desabilitada para alterar o comportamento do mecanismo de banco de dados. É possível usar sinalizadores de rastreamento para habilitar recursos ocultos, corrigir problemas de desempenho ou substituir o comportamento padrão do servidor. Na prática, cada sinalizador de rastreamento funciona como um interruptor de ativação/desativação que altera o comportamento padrão do SQL Server.
Consulte uma lista completa de sinalizadores de rastreamento disponíveis no Microsoft SQL Server em DBCC TRACEON - Sinalizadores de rastreamento
Como serviço gerenciado, RDS for SQL Server restringe as configurações globais no nível do servidor. É possível configurar somente sinalizadores de rastreamento específicos como parâmetros de inicialização por meio dos grupos de parâmetros do banco de dados do RDS for SQL Server. A tabela a seguir lista os sinalizadores de rastreamento compatíveis com o RDS for SQL Server.
Importante
Recomendamos enfaticamente que você faça testes e validações completos antes de habilitar sinalizadores de rastreamento em produção. Os sinalizadores de rastreamento são úteis para ajuste de desempenho e solução de problemas, mas o uso incorreto pode causar instabilidade, planos de consulta abaixo do ideal ou problemas de recursos.
| Sinalizador de rastreamento | Descrição |
|---|---|
647 |
Ignora uma verificação de validação de dados introduzida no SQL Server 2012 que pode fazer com que as operações da coluna |
652 |
Desabilita a pré-busca de páginas para varreduras. Quando habilitado, o SQL Server interrompe o carregamento antecipado de páginas no pool de buffers. Isso pode degradar o desempenho das consultas que dependem da pré-busca. |
692 |
Desabilita inserções rápidas durante o carregamento em massa de dados em heaps ou índices clusterizados (compatível com o SQL Server 2016 e versões posteriores). |
1204 |
Retorna os recursos e os tipos de bloqueios envolvidos em um deadlock e o comando atual afetado. |
1211 |
Desabilita a escalada de bloqueios com base na pressão de memória ou no número de bloqueios. O SQL Server não elevará bloqueios de linha ou de página para bloqueios de tabela. |
1222 |
Retorna informações de deadlock no formato XML (versão aprimorada de 1204). |
1224 |
Desabilita a escalada de bloqueios com base no número de bloqueios (a pressão de memória ainda pode ativar a escalada de bloqueios). |
1448 |
Permite que o leitor de logs de replicação avance sem esperar que as secundárias assíncronas confirmem as alterações. O leitor de logs ainda aguarda as secundárias síncronas no estado |
2528 |
Desabilita a verificação paralela de objetos por |
3654 |
Usado para solucionar problemas de vazamentos de memória ou condições de memória não liberada. Quando ativo, se esse tipo de problema for detectado, o SQL Server dispara uma falha de asserção e gera um minidump. O dump resulta do erro de memória subjacente ser capturado pelo rastreamento aprimorado, e não do próprio sinalizador de rastreamento. |
4138 |
Desabilita os ajustes de objetivo de linha para consultas que usam |
4139 |
Ajusta o histograma no momento da compilação da consulta para melhorar a estimativa de cardinalidade, independentemente de a coluna inicial estar em ordem ascendente, descendente ou estacionária. |
4199 |
Controla várias alterações do otimizador de consultas que anteriormente eram feitas por vários sinalizadores de rastreamento. |
4616 |
Torna os metadados no nível do servidor visíveis para as funções da aplicação. |
6527 |
Desabilita a geração de um dump de memória na primeira ocorrência de uma exceção de falta de memória na integração do Common Language Runtime (CLR). |
7745 |
Impede que o Query Store descarregue dados no disco durante o desligamento do banco de dados. |
8285 |
Corrige um erro de asserção ( |
8780 |
Dá ao otimizador mais tempo para encontrar um plano melhor. |
9432 |
Desabilita a correção do SQL Server 2019 CU14 que corrigiu resultados incorretos em planos paralelos que usam |
9481 |
Força o otimizador de consultas a usar o modelo de estimativa de cardinalidade legado (SQL Server 2012 e anteriores), independentemente do nível de compatibilidade do banco de dados. Como alternativas, no nível do banco de dados, use |
9492 |
Desabilita o paralelismo para operações |
9592 |
Habilita a compactação do fluxo de logs para grupos de disponibilidade síncronos. A compactação do fluxo de logs é desabilitada por padrão em grupos de disponibilidade síncronos porque a compactação adiciona latência. Habilitá-la pode reduzir o uso da largura de banda da rede entre as réplicas ao custo de CPU adicional e alguma latência adicional. Aplica-se ao SQL Server 2016 (13.0) e versões posteriores. |
11024 |
No SQL Server 2017, a atualização automática de estatísticas incrementais em tabelas particionadas pode sofrer atrasos. Isso ocorre porque a contagem de modificações do nó raiz é redefinida para zero se nenhuma partição individual exceder seu limite local, mesmo quando a contagem combinada exceder o limite da raiz. O sinalizador de rastreamento 11024 corrige isso mantendo a contagem de modificações do nó raiz como a soma real de todas as modificações das partições, garantindo atualizações oportunas das estatísticas. Aplica-se ao SQL Server 2017 CU3 e versões posteriores. |
11042 |
O SQL Server 2019 CU14 corrigiu resultados incorretos em planos paralelos que usam |
12502 |
Corrige esperas de |
12618 |
Permite que o recurso Automatic Plan Correction (APC) execute várias verificações consecutivas de regressão no mesmo plano, permitindo coletar mais estatísticas antes de decidir sobre uma correção. Aplica-se ao SQL Server 2022 CU4 e versões posteriores. |
12656 |
Adiciona um atraso de 5 minutos antes que o Automatic Plan Correction (APC) execute sua verificação de regressão após detectar uma alteração no plano. Isso evita resultados distorcidos de consultas de execução rápida e considera consultas de execução mais longa ou sujeitas a tempo limite afetadas pela alteração. Aplica-se ao SQL Server 2022 CU4 e versões posteriores. |
nota
A partir do SQL Server 2016 Service Pack 1 (SP1) e versões posteriores, recomendamos usar a dica de consulta USE HINT no nível da consulta em vez dos sinalizadores de rastreamento 4138 e 4139. Sempre faça testes completos antes de aplicar essa alteração em produção.
Importante
Os dados do Query Store que não tiverem sido descarregados poderão ser perdidos durante o desligamento quando você usar o sinalizador de rastreamento 7745. Para um desligamento imediato do SQL Server, use SHUTDOWN WITH NOWAIT em vez desse sinalizador de rastreamento.