Compartilhar via


ALTERAR CONFIGURAÇÃO COM ESCOPO DE BANCO DE DADOS (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores do Banco de Dados SQL doAzure Azure Instância Gerenciada do Banco de Dados SQLdo Azure banco de dados SQL do Azure Synapse Analyticsno Microsoft Fabric

Use este comando para habilitar várias configurações de banco de dados no nível do banco de dados individual .

Important

Há suporte para diferentes DATABASE SCOPED CONFIGURATION opções em diferentes versões e plataformas do Mecanismo de Banco de Dados SQL. Este artigo descreve todas asDATABASE SCOPED CONFIGURATION opções. As versões, quando aplicável, são anotadas. Certifique-se de usar a sintaxe disponível na versão do serviço que você está usando.

As configurações a seguir têm suporte no Banco de Dados SQL do Azure, no Banco de Dados SQL no Microsoft Fabric, na Instância Gerenciada de SQL do Azure e no SQL Server, conforme indicado pela linha Aplica-se a cada configuração na seção Argumentos :

  • Limpar o cache de procedimento.
  • Defina o parâmetro MAXDOP como um valor recomendado (1, 2, ...) para o banco de dados primário com base no que funciona melhor para essa carga de trabalho específica e defina um valor diferente para bancos de dados de réplica secundários usados por consultas de relatório. Para obter diretrizes sobre como escolher um MAXDOP, examine Configuração do servidor: grau máximo de paralelismo.
  • Defina o modelo de estimativa de cardinalidade do otimizador de consulta independente do nível de compatibilidade do banco de dados.
  • Habilitar ou desabilitar a detecção de parâmetro no nível do banco de dados.
  • Habilitar ou desabilitar hotfixes de otimização de consulta no nível do banco de dados.
  • Habilitar ou desabilitar o cache de identidade no nível do banco de dados.
  • Habilitar ou desabilitar um stub de plano compilado para ser armazenado em cache quando um lote for compilado pela primeira vez.
  • Habilitar ou desabilitar a coleta de estatísticas de execução para módulos Transact-SQL compilados nativamente.
  • Habilitar ou desabilitar online pelas opções padrão para instruções DDL compatíveis com a sintaxe ONLINE =.
  • Habilitar ou desabilitar retomáveis pelas opções padrão para instruções DDL compatíveis com a sintaxe RESUMABLE =.
  • Habilite ou desabilite o processamento de consulta inteligente nos recursos de bancos de dados SQL .
  • Habilitar ou desabilitar a imposição de plano acelerada.
  • Habilite ou desabilite a funcionalidade de soltar automaticamente de tabelas temporárias globais.
  • Habilite ou desabilite a infraestrutura de criação de perfil de consulta leve.
  • Habilitar ou desabilitar a nova mensagem de erro String or binary data would be truncated.
  • Habilitar ou desabilitar a coleta do último plano de execução real em sys.dm_exec_query_plan_stats.
  • Especifique o número de minutos em que uma operação de índice retomável pausada é pausada antes de ser automaticamente abortada pelo Engine de Banco de Dados.
  • Habilitar ou desabilitar a espera por bloqueios de baixa prioridade para a atualização de estatísticas assíncrona.
  • Habilitar ou desabilitar o carregamento de hashes do razão no Armazenamento de Blobs do Azure.
  • Defina a versão padrão do índice de texto completo (1 ou 2).
  • No Azure Synapse Analytics, define o nível de compatibilidade de um banco de dados de usuário.

Convenções de sintaxe de Transact-SQL

Syntax

Sintaxe para SQL Server, Banco de Dados SQL do Azure, Banco de Dados SQL no Microsoft Fabric e Instância Gerenciada de SQL do Azure:

ALTER DATABASE SCOPED CONFIGURATION
{
    { [ FOR SECONDARY ] SET <set_options> }
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
      ACCELERATED_PLAN_FORCING = { ON | OFF }
    | ALLOW_STALE_VECTOR_INDEX = { ON | OFF }
    | ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | CE_FEEDBACK = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | DOP_FEEDBACK = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
    | FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }   
    | FULLTEXT_INDEX_VERSION = <version>
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | ISOLATE_SECURITY_POLICY_CARDINALITY  = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
    | LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | MAXDOP = { <value> | PRIMARY }
    | MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
    | MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | OPTIMIZED_PLAN_FORCING = { ON | OFF }
    | OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
    | OPTIONAL_PARAMETER_OPTIMIZATION = { ON | OFF }
    | PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
    | PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
    | PREVIEW_FEATURES = { ON | OFF }
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
}

Sintaxe para Azure Synapse Analytics:

ALTER DATABASE SCOPED CONFIGURATION
{
    SET <set_options>
}
[;]

< set_options > ::=
{
    DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}

Arguments

PARA SECUNDÁRIO

Especifica as configurações para bancos de dados secundários. Todos os bancos de dados secundários devem ter os valores idênticos.

CLEAR PROCEDURE_CACHE [ plan_handle]

Limpa o cache de procedimento (plano) do banco de dados. Você pode executar esse comando nos secundários e primários.

Para limpar um único plano de consulta do cache de planos, especifique um identificador de plano de consulta.

Aplica-se a: Especificar um handle de plano de consulta está disponível no SQL Server 2019 (15.x) e versões posteriores, Azure SQL Database e Azure SQL Managed Instance.

Opções Set

ACCELERATED_PLAN_FORCING = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita um mecanismo otimizado para a imposição de plano de consulta, aplicável a todas as formas de imposição de plano, tais como o Plano de Imposição do Repositório de Consultas, o Ajuste Automático ou a dica de consulta USE PLAN. O padrão é ON.

Note

Não é recomendável desabilitar a força acelerada do plano.

ALLOW_STALE_VECTOR_INDEX = { ON | DESLIGADO }

Aplica-se a: Banco de Dados SQL do Azure e banco de dados SQL no Microsoft Fabric

Atualmente, no Azure SQL Database e SQL Database no Microsoft Fabric, índices vetoriais tornam tabelas somente leitura. Para permitir que a tabela seja gravável, use a ALLOW_STALE_VECTOR_INDEX configuração com escopo do banco de dados.

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;
GO

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Quando ALLOW_STALE_VECTOR_INDEX = ONo índice de vetor não é atualizado quando você insere ou atualiza novos dados na tabela. Para atualizar o índice vetorial, você deve descartá-lo e recriá-lo.

Note

A ALLOW_STALE_VECTOR_INDEX opção de configuração com escopo de banco de dados atualmente não está disponível no SQL Server 2025 (17.x).

ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Se você habilitar atualizações de estatísticas assíncronas, habilitar essa configuração fará com que as estatísticas de atualização de solicitação em segundo plano aguardem um Sch-M bloqueio em uma fila de baixa prioridade. Essa espera evita bloquear outras sessões em cenários de alta simultaneidade. Para obter mais informações, confira AUTO_UPDATE_STATISTICS_ASYNC. O padrão é OFF.

BATCH_MODE_ADAPTIVE_JOINS = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita junções adaptáveis no modo de lote no escopo do banco de dados, mantendo ainda o nível de compatibilidade do banco de dados 140 e superior. O padrão é ON. As junções adaptáveis do modo de lote é um recurso que faz parte do Processamento de consulta inteligente introduzido no SQL Server 2017 (14.x).

Para o nível de compatibilidade do banco de dados 130 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita comentários de concessão de memória no modo de lote no escopo do banco de dados, mantendo ainda o nível de compatibilidade do banco de dados 140 e superior. O padrão é ON. O feedback de concessão de memória do modo de lote, introduzido no SQL Server 2017 (14.x), faz parte do conjunto de recursos do processamento de consulta inteligente. Para saber mais, confira Feedback de concessão de memória.

Para o nível de compatibilidade do banco de dados 130 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

BATCH_MODE_ON_ROWSTORE = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita o modo em lote no rowstore no escopo do banco de dados, mantendo ainda o nível de compatibilidade do banco de dados 150 e superior. O padrão é ON. O modo de lote em rowstore é um recurso que faz parte da família de recursos de Processamento de consulta inteligente.

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

CE_FEEDBACK = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Os comentários da CE abordam problemas de regressão percebidos resultantes de suposições incorretas do modelo de CE ao usar a CE (CE120 ou superior) padrão. Os comentários da CE podem usar seletivamente diferentes suposições de modelo. Requer o Repositório de Consultas habilitado e no modo READ_WRITE. Para obter mais informações, confira Feedback de CE (estimativa de cardinalidade). O padrão é ON no nível de compatibilidade do banco de dados 160 e superior.

DEFERRED_COMPILATION_TV = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita a compilação adiada da variável de tabela no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados 150 ou superior. O padrão é ON. A compilação adiada da variável de tabela é um recurso que faz parte da família de recursos de processamento de consulta inteligente .

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

DOP_FEEDBACK = { ON | DESLIGADO }

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure, banco de dados SQL no Microsoft Fabric, Instância Gerenciada de SQL do Azure com a política de atualizaçãodo SQL Server 2025 ou Always-up-to-date

Identifica ineficiências de paralelismo em consultas repetidas, com base no tempo decorrido e nas esperas. Se o uso de paralelismo for ineficiente, os comentários do DOP reduzirão o DOP para a próxima execução da consulta, de qualquer que seja o DOP configurado e verificarão se ele ajuda. Requer o Repositório de Consultas habilitado e no modo READ_WRITE. Para obter mais informações, consulte os comentários de grau de paralelismo (DOP). O padrão é OFF.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Permite que você selecione as opções para fazer com que o mecanismo eleve automaticamente operações com suporte para online.

Essa opção é aplicável somente a instruções DDL com suporte a WITH (ONLINE = <syntax>). Índices XML não são afetados.

O padrão é OFF, o que significa que as operações não são elevadas para online, a menos que especificadas na instrução. sys.database_scoped_configurations reflete o valor atual de ELEVATE_ONLINE. Essas opções se aplicam apenas a operações com suporte online. Você pode substituir a configuração padrão ao enviar uma instrução com a opção ONLINE especificada.

FAIL_UNSUPPORTED

Este valor eleva todas as operações DDL com suporte para ONLINE. As operações que não dão suporte à execução online falham e lançam um erro.

A adição de uma coluna a uma tabela é uma operação online no caso geral. Em alguns cenários, por exemplo, quando adicionar uma coluna não anulável, uma coluna não pode ser adicionada online. Nesses casos, se FAIL_UNSUPPORTED estiver definido, a operação falhará.

WHEN_SUPPORTED

Este valor eleva operações que dão suporte a ONLINE. As operações que não dão suporte online são executadas offline.

Para obter mais informações, consulte Diretrizes para operações de índice online.

ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Permite que você selecione as opções para fazer com que o mecanismo eleve automaticamente operações com suporte para retomáveis.

Essa opção é aplicável somente a instruções DDL com suporte a WITH (RESUMABLE = <syntax>). Índices XML não são afetados.

O padrão é OFF, o que significa que as operações não são elevadas para retomáveis, a menos que especificadas na instrução. sys.database_scoped_configurations reflete o valor atual de ELEVATE_RESUMABLE. Essas opções serão aplicadas somente a operações que têm suporte para retomável. Você pode substituir a configuração padrão ao enviar uma instrução com a opção RESUMABLE especificada.

FAIL_UNSUPPORTED

Esse valor eleva todas as operações DDL com suporte para RESUMABLE. As operações que não dão suporte à execução retomável falham e lançam um erro.

WHEN_SUPPORTED

Esse valor eleva as operações que dão suporte RESUMABLEa . As operações que não dão suporte a retomáveis são executadas não retomáveis.

Para obter mais informações, consulte Diretrizes para operações de índice online.

EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Controla se as estatísticas de execução para UDF (funções escalares definidas pelo usuário) aparecem no modo de exibição do sistema sys.dm_exec_function_stats . Para algumas cargas de trabalho intensivas que são escalares pesadas em UDF, a coleta de estatísticas de execução de função pode causar uma sobrecarga de desempenho perceptível. Você pode evitar essa sobrecarga definindo a EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS configuração com escopo de banco de dados como OFF. O padrão é ON.

FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Quando você soluciona problemas de consultas de execução prolongada com criação de perfil de estatísticas de execução de consulta leve ou DMV sys.dm_exec_query_statistics_xml, FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION faz com que o SQL Server gere um fragmento XML de Plano de Execução que inclua .ParameterRuntimeValue

Important

Não habilite a opção FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION de configuração com escopo de banco de dados continuamente em um ambiente de produção. Habilite-o apenas para fins de solução de problemas com limite de tempo. Essa opção de configuração com escopo de banco de dados adiciona uma sobrecarga extra e possivelmente significativa de CPU e memória à medida que o SQL Server cria um fragmento XML de Plano de Execução com informações de parâmetro de runtime, se a infraestrutura de sys.dm_exec_query_statistics_xml perfil de estatísticas de execução de consulta leve ou DMV está habilitada ou não.

FULLTEXT_INDEX_VERSION

Aplica-se a: SQL Server 2025 (17.x) e versões posteriores, Azure SQL Database e Azure SQL Managed Instance

Define a versão de índice em texto completo para ser usada na criação ou reconstrução de índices. Essa configuração só entra em vigor quando você emite uma CREATE FULLTEXT INDEX instrução para novos índices ou uma instrução ALTER FULLTEXT CATALOG ... REBUILD para recompilar todos os índices em um catálogo.

A partir do SQL Server 2025 (17.x), as versões disponíveis são:

Versão Comments
1 Especifica índices novos e reconstruídos que utilizam o filtro de texto completo legado e os componentes wordbreaker do SQL Server 2022 (16.x) e versões anteriores, para populações e consultas futuras. Como esses componentes não estão mais incluídos no SQL Server 2025 (17.x) e versões posteriores, eles precisam ser copiados manualmente de uma instância mais antiga.
2 (padrão) Especifica índices novos e reconstruídos que utilizam o filtro de texto completo e os componentes wordbreaker incluídos no SQL Server 2025 (17.x), para populações e consultas futuras.

A FULLTEXT_INDEX_VERSION configuração também controla quais componentes de texto completo os seguintes procedimentos armazenados, exibições e funções do sistema relatam e usam:

IDENTITY_CACHE = { ON | DESLIGADO }

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita o cache de identidade no nível do banco de dados. O padrão é ON. O cache de identidade melhora o desempenho em tabelas INSERT com colunas de identidade. Para evitar lacunas nos valores de uma coluna de identidade quando o servidor é reiniciado inesperadamente ou faz failover para um servidor secundário, desabilite a opção IDENTITY_CACHE . Essa opção é semelhante ao sinalizador de rastreamento existente 272, mas é definida no nível do banco de dados.

Você pode definir essa opção apenas para a réplica primária. Para obter mais informações, confira colunas de identidade.

INTERLEAVED_EXECUTION_TVF = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita a execução intercalada para funções com valor de tabela de várias instruções no escopo do banco de dados ou da instrução, mantendo ainda o nível de compatibilidade do banco de dados 140 ou superior. O padrão é ON. A execução intercalada é um recurso que faz parte do processamento de consulta adaptável no Banco de Dados SQL do Azure. Para obter mais informações, consulte Processamento de consulta inteligente.

Para o nível de compatibilidade do banco de dados 130 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

Somente no SQL Server 2017 (14.x), a opção INTERLEAVED_EXECUTION_TVF tinha o nome mais antigo de DISABLE_INTERLEAVED_EXECUTION_TVF.

ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | DESLIGADO}

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Permite controlar se um predicado de segurança em nível de linha (RLS) afeta a cardinalidade do plano de execução da consulta geral do usuário. O padrão é OFF. Quando ISOLATE_SECURITY_POLICY_CARDINALITY está ON, um predicado RLS não afeta a cardinalidade de um plano de execução. Por exemplo, considere uma tabela que contém 1 milhão linhas e um predicado RLS que restringe o resultado a 10 linhas para um usuário específico que emite a consulta. Com essa configuração com escopo de banco de dados definida como OFF, a estimativa de cardinalidade desse predicado é 10. Quando essa configuração no escopo do banco de dados está ON, a otimização de consulta estima 1 milhão de linhas. É recomendado usar o valor padrão para a maioria das cargas de trabalho.

GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Define a funcionalidade de interceptação automática para tabelas temporárias globais. O padrão é ON, o que significa que as tabelas temporárias globais são descartadas automaticamente quando não estão em uso por nenhuma sessão ou tarefa. Quando definido como OFF, você só pode descartar explicitamente tabelas temporárias globais usando uma DROP TABLE instrução ou elas são descartadas automaticamente na reinicialização do serviço.

  • Em bancos de dados individuais e pools elásticos do Banco de Dados SQL do Azure, defina essa opção nos bancos de dados de usuário individuais.
  • No SQL Server e na Instância Gerenciada de SQL do Azure, defina essa opção em tempdb. A configuração em bancos de dados de usuário individuais não tem efeito.

LAST_QUERY_PLAN_STATS = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Permite habilitar ou desabilitar a coleta das últimas estatísticas de plano de consulta (equivalente a um plano de execução real) em sys.dm_exec_query_plan_stats. O padrão é OFF.

LEDGER_DIGEST_STORAGE_ENDPOINT = { <cadeia de caracteres de URL de ponto de extremidade> | OFF }

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Azure SQL Database

Habilita ou desabilita o carregamento de hashes do razão no Armazenamento de Blobs do Azure. Para habilitar o carregamento de hashes do razão, especifique o ponto de extremidade de uma conta de armazenamento de Blobs do Azure. Para desabilitar o carregamento de resumos do razão, defina o valor da opção como OFF. O padrão é OFF.

LEGACY_CARDINALITY_ESTIMATION = { ON | DESLIGADO | PRIMÁRIO }

Permite que você defina o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2012 e versões anteriores independentemente do nível de compatibilidade do banco de dados. O padrão é OFF, que define o modelo de estimativa de cardinalidade do otimizador de consulta com base no nível de compatibilidade do banco de dados. A configuração LEGACY_CARDINALITY_ESTIMATION é equivalente à habilitação do ON.

  • Para definir essa opção no nível da consulta, adicione a QUERYTRACEONdica de consulta.
  • Para definir essa opção no nível de consulta no SQL Server 2016 (13.x) com o Service Pack 1 e versões posteriores, adicione a dica de consultaUSE HINT em vez de usar o sinalizador de rastreamento.

PRIMARY

Esse valor só é válido em secundários enquanto o banco de dados está no primário e especifica que a configuração do modelo de estimativa de cardinalidade do otimizador de consulta em todos os secundários é o valor definido para o primário. Se a configuração no primário para o modelo de estimativa de cardinalidade do otimizador de consulta for alterada, o valor nos secundários será alterado adequadamente. PRIMARY é a configuração padrão dos secundários.

Para obter mais informações, consulte Estimativa de Cardinalidade (SQL Server).

LIGHTWEIGHT_QUERY_PROFILING = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Permite que você habilite ou desabilite a infraestrutura de criação de perfil de consulta leve. A LWP (infraestrutura de criação de perfil de consulta leve) fornece dados de desempenho de consulta de maneira mais eficiente do que os mecanismos de criação de perfil padrão e é habilitada por padrão. O padrão é ON.

MAXDOP = {<valor> | PRIMÁRIO }

<valor>

Especifica a configuração MAXDOP (grau máximo de paralelismo) padrão que deve ser usada nas instruções. 0 é o valor padrão e indica que a configuração do servidor é usada em vez disso. O MAXDOP no escopo do banco de dados sobrepõe (a menos que esteja definido para 0) o max degree of parallelism conjunto no nível do servidor por sp_configure. As dicas de consulta ainda podem substituir o MAXDOP no escopo do banco de dados para ajustar consultas específicas que precisem de uma configuração diferente. Todas essas configurações são limitadas pelo conjunto MAXDOP para o grupo de carga de trabalho.

Use a opção MAXDOP para limitar o número de processadores a serem usados na execução do plano paralelo. SQL Server considera os planos de execução paralela para consultas, operações DDL (linguagem de definição de dados), inserção paralela, alteração online de coluna, coleta de estatísticas paralela e população de cursor estático e controlado por conjunto de chaves.

O limite de MAXDOP (grau máximo de paralelismo) é definido por tarefa. Não é uma solicitação por ou por limite de consulta. Isso significa que, durante a execução de uma consulta paralela, uma única requisição pode gerar múltiplas tarefas, que são atribuídas a um agendador. Para obter mais informações, consulte o Thread e o guia de arquitetura de tarefas.

Para definir essa opção no nível da instância, veja Configuração do servidor: grau máximo de paralelismo.

No Banco de Dados SQL do Azure, a configuração no escopo do banco de dados MAXDOP para novos bancos de dados de pool único e elástico é definida como 8 por padrão. Para obter mais informações e recomendações sobre como configurar MAXDOP de forma ideal no Banco de Dados SQL do Azure, consulte Configurar MAXDOP no Banco de Dados SQL do Azure.

PRIMARY

Só pode ser definido para os secundários, enquanto o banco de dados está no primário e indica que a configuração é o único conjunto para o primário. Se a configuração do primário for alterada, o valor nos secundários será alterado da maneira apropriada sem precisar ser definido explicitamente. PRIMARY é a configuração padrão dos secundários.

Para obter mais informações, consulte Grau de Paralelismo.

MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | DESLIGADO }

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores e Banco de Dados SQL do Azure

Habilita ou desabilita o recurso percentil de comentários de concessão de memória para todas as execuções de consulta que começam no banco de dados. O padrão é ON. Para obter mais informações, consulte Percentil e comentários de concessão de memória do modo de persistência.

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita a persistência de comentários de concessão de memória para todas as execuções de consulta que começam no banco de dados. O padrão é ON. Para obter mais informações, consulte Percentil e comentários de concessão de memória do modo de persistência.

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita o armazenamento de um stub de plano compilado no cache quando um lote é compilado pela primeira vez. O padrão é OFF. Depois de habilitar a configuração OPTIMIZE_FOR_AD_HOC_WORKLOADS no escopo do banco de dados para um banco de dados, o banco de dados armazenará um stub de plano compilado em cache quando um lote for compilado pela primeira vez. Os stubs de plano usam menos memória do que o plano compilado completo. Se um lote for compilado ou executado novamente, o Mecanismo de Banco de Dados removerá o stub do plano compilado e o substituirá por um plano compilado completo.

OPTIMIZED_PLAN_FORCING = { ON | DESLIGADO }

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Azure SQL Database

A obrigação do plano otimizado reduz a sobrecarga de compilação para repetir consultas forçadas. O padrão é ON. Depois que o plano de execução de consulta é gerado, etapas de compilação específicas são armazenadas para reutilização como um script de reprodução de otimização. Um script de reprodução de otimização é armazenado como parte do XML do plano de execução compactado no Repositório de Consultas, em um atributo OptimizationReplay oculto. Para obter mais informações, confira Imposição de plano otimizado com Repositório de Consultas.

OPTIMIZED_SP_EXECUTESQL = { ON | DESLIGADO }

Aplica-se a: SQL Server 2025 (17.x), Azure SQL Database e SQL database no Microsoft Fabric

Habilita ou desabilita o comportamento de serialização de compilação de sp_executesql quando um lote é compilado. O padrão é OFF. Permitir que lotes que usam sp_executesql serializem o processo de compilação reduz o efeito das tempestades de compilação. Uma tempestade de compilação é uma situação em que um grande número de consultas estão sendo compiladas simultaneamente, levando a problemas de desempenho e contenção de recursos.

Quando OPTIMIZED_SP_EXECUTESQL é ON, a primeira execução de sp_executesql compila e insere seu plano compilado no cache do plano. Outras sessões abortam a espera do bloqueio de compilação e reutilizam o plano assim que ele se torna disponível. Esse comportamento faz sp_executesql agir como objetos, como procedimentos armazenados e gatilhos de uma perspectiva de compilação.

OPTIONAL_PARAMETER_OPTIMIZATION = { ON | OFF }

Aplica-se a: SQL Server 2025 (17.x), Azure SQL Database e SQL database no Microsoft Fabric

Ativa ou desativa o recurso de otimização opcional de planos de parâmetros (OPPO ). O padrão é ON iniciar no nível de compatibilidade do banco de dados 170.

Quando habilitada, a otimização de plano adaptável gera vários planos de execução para consultas que incluem parâmetros opcionais. Esses planos normalmente usam predicados na forma de:

  • @p IS NULL AND @p1 IS NOT NULL
  • @p IS NULL OR @p1 IS NOT NULL

O recurso pode escolher um plano mais ideal em runtime com base em se o parâmetro é NULL, o que melhora o desempenho de consultas que poderiam, de outra forma, ser padrão para desempenho abaixo do ideal para esses padrões de consulta.

PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | DESLIGADO }

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

A otimização de PSP (plano de confidencialidade de parâmetro) aborda o cenário em que um único plano armazenado em cache para uma consulta parametrizada não é ideal para todos os valores de parâmetro de entrada possíveis. Essa situação ocorre com distribuições de dados nãoformes. O padrão é ON começando no nível de compatibilidade do banco de dados 160. Para obter mais informações, consulte Otimização do Plano de Sensibilidade de Parâmetros.

PARAMETER_SNIFFING = { ON | DESLIGADO | PRIMÁRIO }

Habilita ou desabilita a detecção de parâmetro. O padrão é ON. A configuração PARAMETER_SNIFFING é equivalente à habilitação do OFF.

  • Para fazer isso no nível da consulta, consulte a dica de consulta OPTIMIZE FOR UNKNOWN.
  • No SQL Server 2016 (13.x) SP1 e versões posteriores, para fazer isso no nível da consulta, a dica de consulta USE HINT também está disponível.

PRIMARY

Esse valor é válido somente em secundários enquanto o banco de dados está no primário. Ele especifica que o valor dessa configuração em todos os secundários é o valor definido para o primário. Se a configuração no primário para usar parâmetro de detecção mudar, o valor nos secundários será alterado de acordo sem a necessidade de definir explicitamente o valor secundário. PRIMARY é a configuração padrão dos secundários.

Para obter mais informações sobre PARAMETER_SNIFFING, consulte "Sinto o cheiro de um parâmetro!".

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

A PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES opção determina por quanto tempo (em minutos) o índice retomável é pausado antes que o Mecanismo de Banco de Dados o anule automaticamente.

  • O valor padrão é definido como um dia (1.440 minutos).
  • A duração mínima é definida como 1 minuto.
  • A duração máxima é de 71.582 minutos.
  • Quando definido como 0, uma operação pausada nunca é anulada automaticamente.

O valor atual da opção é exibido em sys.database_scoped_configurations.

PREVIEW_FEATURES = { ON | DESLIGADO }

Aplica-se a: SQL Server 2025 (17.x), Banco de Dados SQL do Azure, Banco de Dados SQL no Microsoft Fabric

Cuidado

Recursos de visualização não são recomendados para ambientes de produção.

Permite o uso de recursos de visualização. Para saber mais, examine os recursos de visualização no SQL Server.

O padrão é OFF.

Para obter um exemplo de como usar essa opção, consulte Usando recursos de visualização no SQL Server.

QUERY_OPTIMIZER_HOTFIXES = { ON | DESLIGADO | PRIMÁRIO }

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores, Azure SQL Database e Azure SQL Managed Instance

Habilita ou desabilita os hotfixes de otimização de consulta, independentemente do nível de compatibilidade do banco de dados. O padrão é OFF, que desabilita os hotfixes de otimização de consulta que foram liberados após o nível de compatibilidade mais alto disponível para uma versão específica (pós-RTM). A configuração QUERY_OPTIMIZER_HOTFIXES é ON equivalente à habilitação do sinalizador de rastreamento 4199.

  • Para definir essa opção no nível da consulta, adicione a QUERYTRACEONdica de consulta.
  • Para habilitar esse recurso no nível de consulta no SQL Server 2016 (13.x) com o Service Pack 1 e versões posteriores, adicione a dica de consulta USE HINT em vez de usar o sinalizador de rastreamento.

Quando você usa a QUERYTRACEON dica para habilitar o Otimizador de Consulta padrão do SQL Server 7.0 por meio de versões do SQL Server 2012 (11.x) ou hotfixes do Otimizador de Consulta, ele cria uma condição OR entre a dica de consulta e a configuração no escopo do banco de dados. Se qualquer uma das opções estiver habilitada, as configurações no escopo do banco de dados serão aplicadas.

PRIMARY

Esse valor é válido somente em secundários enquanto o banco de dados está no primário. Ele especifica que o valor dessa configuração em todos os secundários é o valor definido para o primário. Se a configuração do primário for alterada, o valor nos secundários será alterado da maneira apropriada sem precisar ser definido explicitamente. PRIMARY é a configuração padrão dos secundários.

Para obter mais informações sobre QUERY_OPTIMIZER_HOTFIXES, consulte o modelo de manutenção do sinalizador de rastreamento de hotfix do otimizador de consulta do SQL Server 4199.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilite ou desabilite os comentários de concessão de memória do modo de linha no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados 150 ou superior. O padrão é ON. O feedback de concessão de memória do modo de linha é um recurso que faz parte do processamento de consulta inteligente introduzido no SQL Server 2017 (14.x). O modo de linha tem suporte no SQL Server 2019 (15.x) e no Banco de Dados SQL do Azure. Para saber mais sobre o feedback de concessão de memória, confira Feedback de concessão de memória.

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

TSQL_SCALAR_UDF_INLINING = { ON | DESLIGADO }

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, e Azure SQL Database (recurso em prévia)

Habilite ou desabilite a inlinação de UDF escalar T-SQL no escopo do banco de dados, mantendo ainda o nível de compatibilidade do banco de dados 150 ou superior. O padrão é ON. O inlining UDF Escalar do T-SQL faz parte da família de recursos de Processamento de consulta inteligente.

Note

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, essa configuração com escopo de banco de dados não tem efeito.

VERBOSE_TRUNCATION_WARNINGS = { ON | DESLIGADO }

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilitar ou desabilitar a nova mensagem de erro String or binary data would be truncated. O padrão é ON. O SQL Server 2019 (15.x) introduziu uma mensagem de erro mais específica (2628) para este cenário:

String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.

Quando definido como ON no nível de compatibilidade do banco de dados 150, erros de truncamento geram a nova mensagem de erro 2628 para fornecer mais contexto e simplificar o processo de solução de problemas.

Quando definido como OFF no nível de compatibilidade do banco de dados 150, erros de truncamento geram a mensagem de erro anterior 8152.

Para o nível de compatibilidade do banco de dados 140 ou versões inferiores, a mensagem de erro 2628 continua sendo uma mensagem de erro de aceitação que exige que o sinalizador de rastreamento 460 seja habilitado e essa configuração com escopo de banco de dados não tem efeito.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | DESLIGADO }

Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita a coleta de estatísticas de execução no nível do módulo para módulos T-SQL compilados nativamente no banco de dados atual. O padrão é OFF. As estatísticas de execução são refletidas em sys.dm_exec_procedure_stats.

As estatísticas de execução de nível de módulo para módulos T-SQL compilados nativamente serão coletadas se esta opção estiver ATIVADA ou se a coleta de estatísticas for habilitada por meio de sp_xtp_control_proc_exec_stats.

XTP_QUERY_EXECUTION_STATISTICS = { ON | DESLIGADO }

Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Habilita ou desabilita a coleta de estatísticas de execução no nível de instrução para módulos T-SQL compilados nativamente no banco de dados atual. O padrão é OFF. As estatísticas de execução são refletidas em sys.dm_exec_query_stats e no Repositório de Consultas.

As estatísticas de execução no nível da instrução para módulos T-SQL compilados nativamente serão coletadas se essa opção for ONou se a coleta de estatísticas estiver habilitada por meio de sp_xtp_control_query_exec_stats.

Para obter mais informações sobre o monitoramento de desempenho de módulos Transact-SQL compilados nativamente, consulte Monitorando o desempenho de procedimentos armazenados compilados nativamente.

DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }

Aplica-se apenas: Azure Synapse Analytics

Define Transact-SQL e os comportamentos de processamento de consulta para que sejam compatíveis com a versão especificada do mecanismo de banco de dados. Depois de defini-lo, quando uma consulta é executada nesse banco de dados, ela usa apenas os recursos compatíveis. Em cada nível de compatibilidade, há suporte para vários aprimoramentos de processamento de consulta. Cada nível assume a funcionalidade do nível anterior. Quando um banco de dados é criado, o nível de compatibilidade dele é definido por padrão como AUTO, que é a configuração recomendada. O nível de compatibilidade é preservado mesmo após as operações de pausa/retomada e backup/restauração do banco de dados. O padrão é AUTO.

Nível de compatibilidade Comments
AUTO Default. O mecanismo do Synapse Analytics atualiza automaticamente seu valor. Ele é representado por 0sys.database_scoped_configurations. AUTO atualmente mapeia para o nível de compatibilidade 30 funcionalidade.
10 Exercita os comportamentos de mecanismo de consulta e Transact-SQL antes da introdução do suporte em nível de compatibilidade.
20 Primeiro nível de compatibilidade que inclui os comportamentos de mecanismo de consulta e Transact-SQL restritos. O procedimento armazenado do sistema sp_describe_undeclared_parameters tem suporte nesse nível.
30 Inclui novos comportamentos do mecanismo de consulta.
40 Inclui novos comportamentos do mecanismo de consulta.
50 Distribuição multicoluna é suportada sob esse nível. Para saber mais, consulte CREATE TABLE, CREATE TABLE AS SELECT e CREATE MATERIALIZED VIEW AS SELECT.
9000 Nível de compatibilidade da versão prévia. A documentação específica do recurso chama os recursos de visualização fechados nesse nível. Esse nível também inclui habilidades de nível não9000 mais alto.

Permissions

Requer ALTER ANY DATABASE SCOPED CONFIGURATION no banco de dados. Um usuário com CONTROL permissão em um banco de dados pode conceder essa permissão.

Remarks

Embora seja possível configurar bancos de dados secundários para com definições de configuração de escopo diferentes do primário, todos os bancos de dados secundários usam a mesma configuração. Você não pode definir configurações diferentes para secundários individuais.

Executar essa instrução limpa o cache de procedimento no banco de dados atual, que significa que todas as consultas precisarão ser recompiladas.

Para consultas de nome de três partes, as configurações da conexão de banco de dados atual para a consulta são respeitadas, exceto para módulos SQL (como procedimentos, funções e gatilhos) que são compilados em outro contexto de banco de dados e, portanto, usam as opções do banco de dados no qual residem. Da mesma forma, ao atualizar estatísticas de forma assíncrona, a configuração de para o banco de ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY dados em que as estatísticas residem é respeitada.

O ALTER_DATABASE_SCOPED_CONFIGURATION evento é adicionado como um evento DDL que pode ser usado para disparar um gatilho DDL. É um filho do ALTER_DATABASE_EVENTS grupo de gatilhos.

Quando você restaura ou anexa um banco de dados, as configurações com escopo de banco de dados são carregadas e permanecem com o banco de dados.

A partir do SQL Server 2019 (15.x), no Banco de Dados SQL do Azure e na Instância Gerenciada de SQL do Azure, alguns nomes de opção foram alterados:

  • DISABLE_INTERLEAVED_EXECUTION_TVF foi alterado para INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK foi alterado para BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS foi alterado para BATCH_MODE_ADAPTIVE_JOINS

Verificar o status de uma opção de configuração com escopo de banco de dados

Para verificar se uma configuração está habilitada (1) ou desabilitada (0) em um banco de dados, consulte sys.database_scoped_configurations. Por exemplo, para verificar o valor LEGACY_CARDINALITY_ESTIMATION, use uma consulta como esta:

USE <user_database>;
SELECT
    name,
    value,
    value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';

Limitations

MAXDOP

As configurações granulares podem substituir as configurações globais e o administrador de recursos pode limitar todas as outras configurações MAXDOP. A seguinte lógica se aplica à configuração MAXDOP :

  • A dica de consulta substitui tanto sp_configure quanto a configuração no escopo do banco de dados. Se o grupo de recursos MAXDOP estiver definido para o grupo de carga de trabalho:

    • Se a dica de consulta estiver definida como zero (0), ela é sobrescrevida pela configuração do governador de recursos.

    • Se a dica de consulta não for zero (0), ela é limitada pela configuração do governador de recursos.

  • A configuração com escopo do banco de dados (a menos que seja zero) sobrepõe a sp_configure configuração, a menos que haja uma dica de consulta, e é limitada pela configuração governador de recursos.

  • A configuração do governador de recursos sobrepõe a configuração sp_configure .

Recuperação de desastres (DR) Geo-replicada

Bancos de dados secundários legíveis (Grupos de Disponibilidade AlwaysOn, Banco de Dados SQL do Azure e bancos de dados replicados geograficamente da Instância Gerenciada de SQL do Azure) usam o valor secundário verificando o estado do banco de dados. Embora a recompilação não ocorra no failover, e tecnicamente a nova primária tenha consultas que usam as configurações secundárias, as configurações entre primária e secundária só variam quando a carga de trabalho é diferente. Portanto, as consultas armazenadas em cache usam as configurações ideais, enquanto as novas consultas escolhem as novas configurações apropriadas para elas.

DacFx

O ALTER DATABASE SCOPED CONFIGURATION recurso está disponível no SQL Server 2016 (13.x) e versões posteriores, Azure SQL Database e Azure SQL Managed Instance. Como afeta o esquema do banco de dados, exportações do esquema (com ou sem dados) não podem ser importadas para o SQL Server 2014 (12.x) e versões anteriores. Por exemplo, uma exportação para um DACPAC ou UM BACPAC de um Banco de Dados SQL ou banco de dados do SQL Server 2016 (13.x) que usa esse recurso não pode ser importada para um servidor de nível inferior.

Metadata

A visão do sistema sys.database_scoped_configurations fornece informações sobre configurações com escopo dentro de um banco de dados. Opções de configuração com escopo de banco de dados só aparecem quando sys.database_scoped_configurations são substituições para as configurações padrão do servidor. A visualização do sistema sys.configurations mostra apenas configurações para todo o servidor.

Examples

Estes exemplos demonstram o uso de ALTER DATABASE SCOPED CONFIGURATION.

A. Conceder permissão

Este exemplo concede a permissão necessária para executar ALTER DATABASE SCOPED CONFIGURATION ao usuário Joe.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION TO [Joe];

B. Definir MAXDOP

Este exemplo define MAXDOP = 1 para um banco de dados primário e MAXDOP = 4 para um banco de dados secundário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
SET MAXDOP = 1;

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = 4;

Este exemplo define o MAXDOP para um banco de dados secundário igual ao que é definido para seu banco de dados primário em um cenário de geo-replicação.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET MAXDOP = PRIMARY;

C. Definir LEGACY_CARDINALITY_ESTIMATION

Este exemplo define LEGACY_CARDINALITY_ESTIMATION para ON para um banco de dados secundário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = ON;

Este exemplo se estabelece LEGACY_CARDINALITY_ESTIMATION para um banco de dados secundário, pois ele está no banco de dados primário em um cenário de geo-replicação.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;

D. Definir PARAMETER_SNIFFING

O exemplo a OFF seguir define PARAMETER_SNIFFING como um banco de dados primário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;

O exemplo a OFF seguir define PARAMETER_SNIFFING como um banco de dados secundário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;

O exemplo a seguir define PARAMETER_SNIFFING um banco de dados secundário para corresponder ao banco de dados primário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;

E. Definir QUERY_OPTIMIZER_HOTFIXES

Defina QUERY_OPTIMIZER_HOTFIXES para ON para um banco de dados primário em um cenário de replicação geográfica.

ALTER DATABASE SCOPED CONFIGURATION
SET QUERY_OPTIMIZER_HOTFIXES = ON;

F. Limpar o cache de procedimentos

O exemplo a seguir limpa o cache de procedimentos. Você pode limpar o cache de procedimentos somente para um banco de dados primário.

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;

G. Definir IDENTITY_CACHE

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

O exemplo a seguir desabilita o cache de identidade.

ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;

H. Definir OPTIMIZE_FOR_AD_HOC_WORKLOADS

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Este exemplo permite armazenar um stub de plano compilado no cache quando um lote é compilado pela primeira vez.

ALTER DATABASE SCOPED CONFIGURATION
SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I. Definir ELEVATE_ONLINE

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Este exemplo define ELEVATE_ONLINE como FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_ONLINE = FAIL_UNSUPPORTED;

J. Definir ELEVATE_RESUMABLE

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Este exemplo define ELEVATE_RESUMABLE como WHEN_SUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;

K. Apagar um plano de consulta do cache do plano

aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Este exemplo limpa um plano específico do cache de procedimentos:

ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L. Definir duração da pausa

Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure

Este exemplo define a duração da pausa do índice retomável como 60 minutos.

ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;

M. Habilitar e desabilitar o carregamento de hashes do razão

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores

Este exemplo permite carregar hashes do razão em uma conta de armazenamento do Azure.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';

Este exemplo desabilita o carregamento de hashes do razão.

ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;

N. Habilitar versões prévias do recurso

Habilite a capacidade de usar recursos na versão prévia.

ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';

O. Permitir que o índice de vetor fique obsoleto

No estado de visualização atual do Banco de Dados SQL do Azure e do Banco de Dados SQL do Fabric, os índices vetoriais tornam as tabelas somente leitura. Para tornar a tabela gravável, habilite a seguinte configuração no escopo do banco de dados:

ALTER DATABASE SCOPED CONFIGURATION
SET ALLOW_STALE_VECTOR_INDEX = ON;

SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'ALLOW_STALE_VECTOR_INDEX';

Quando ALLOW_STALE_VECTOR_INDEX = ONo índice de vetor não é atualizado quando você insere ou atualiza novos dados na tabela. Para atualizar o índice vetorial, você deve descartá-lo e recriá-lo.

Essa opção de configuração atualmente não está disponível no SQL Server 2025 (17.x).