View a markdown version of this page

Definir sinalizadores de rastreamento no RDS for Microsoft SQL Server - Amazon Relational Database Service

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 na documentação da Microsoft.

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 ALTER TABLE... ADD sejam executadas significativamente mais lentamente.

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 SYNCHRONIZED. Ele não avança além do menor número de sequência de log (LSN) confirmado por elas.

2528

Desabilita a verificação paralela de objetos por DBCC CHECKDB, DBCC CHECKFILEGROUP e DBCC CHECKTABLE.

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 TOP, OPTION (FAST N), IN ou EXISTS. Isso força o SQL Server a gerar um plano completo sem otimizações de objetivo de linha.

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 (IndexRowScanner.cpp: m_versionStatus.IsVisible()) em bancos de dados com captura de dados de alterações (CDC) ou isolamento de instantâneo de leitura confirmada (RCSI) habilitado. Ele impede dumps de pilha convertendo as asserções em mensagens de erro controladas (SQL Server 2022 Cumulative Update (CU) 6 ou posterior) ou suprimindo-as (SQL Server 2019).

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 SESSION_CONTEXT. Usado junto com o sinalizador de rastreamento 11042 para evitar dumps de violação de acesso quando as sessões são redefinidas para reutilização.

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 ALTER DATABASE SCOPED CONFIGURATION; no nível da consulta, use a dica de consulta QUERYTRACEON.

9492

Desabilita o paralelismo para operações SELECT INTO (inserção em massa) no nível da instância para reduzir esperas de LATCH_EX em METADATA_SEQUENCE_GENERATOR. Pode reduzir ligeiramente o desempenho, mas melhora a estabilidade geral.

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 SESSION_CONTEXT. No entanto, essa correção pode causar dumps de violação de acesso quando as sessões são redefinidas para reutilização. Solução alternativa: habilite os dois sinalizadores de rastreamento juntos: o sinalizador de rastreamento 11042 (desabilita o paralelismo para SESSION_CONTEXT) e o sinalizador de rastreamento 9432 (desabilita a correção original do CU14). Observação: esse é um problema conhecido que ainda está presente nas versões mais recentes do SQL Server. Uma correção permanente da Microsoft está prevista para uma CU futura.

12502

Corrige esperas de PREEMPTIVE_OS_QUERYREGISTRY elevadas de desabilitando políticas de autorização externas para instâncias do SQL Server on-premises. Aplica-se ao SQL Server 2022 CU5 e versões posteriores.

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.