Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Use este comando para ativar várias definições de configuração da base de dados ao nível individual da base de dados .
Important
Diferentes DATABASE SCOPED CONFIGURATION opções são suportadas em diferentes versões e plataformas do Motor de Base de Dados SQL. Este artigo descreve todas asDATABASE SCOPED CONFIGURATION opções. As versões, quando aplicável, são anotadas. Certifica-te de que usas a sintaxe disponível na versão do serviço que estás a usar.
As seguintes definições são suportadas no Azure SQL Database, SQL database no Microsoft Fabric, Azure SQL Managed Instance e no SQL Server, conforme indicado pela linha Aplica-se para cada definição na secção Argumentos :
- Limpe o cache de procedimentos.
- 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 orientação sobre como escolher um MAXDOP, revise Configuração do servidor: grau máximo de paralelismo.
- Defina o modelo de estimativa de cardinalidade do otimizador de consulta independente do banco de dados para o nível de compatibilidade.
- Habilite ou desabilite a deteção de parâmetros no nível do banco de dados.
- Habilite ou desabilite hotfixes de otimização de consulta no nível do banco de dados.
- Habilite ou desabilite o cache de identidade no nível do banco de dados.
- Habilite ou desabilite um stub de plano compilado para ser armazenado em cache quando um lote for compilado pela primeira vez.
- Habilite ou desabilite a coleta de estatísticas de execução para módulos Transact-SQL compilados nativamente.
- Habilite ou desabilite opções online por padrão para instruções DDL que suportam a sintaxe
ONLINE =. - Habilite ou desabilite opções retomáveis por padrão para instruções DDL que suportam a sintaxe
RESUMABLE =. - Ative ou desative as funcionalidades de processamento inteligente de consultas em bases de dados SQL .
- Habilite ou desabilite a força acelerada do plano.
- Habilite ou desative a funcionalidade de queda automática de tabelas temporárias globais.
- Habilite ou desabilite a infraestrutura de criação de perfil de consulta leve .
- Habilite ou desabilite a nova mensagem de erro
String or binary data would be truncated. - Habilite ou desabilite a coleta do último plano de execução real no 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 Motor de Base de Dados.
- Habilite ou desabilite a espera por bloqueios com baixa prioridade para atualização assíncrona de estatísticas.
- Habilite ou desabilite o carregamento de resumos do razão para o Armazenamento de Blobs do Azure.
- Definir a versão padrão do índice de texto completo (
1ou2). - No Azure Synapse Analytics, define o nível de compatibilidade de uma base de dados de utilizador.
Transact-SQL convenções de sintaxe
Syntax
Sintaxe para SQL Server, Azure SQL Database, base de dados SQL no Microsoft Fabric e Azure SQL Managed Instance:
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 do 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 definições para bases de dados secundárias. Todas as bases de dados secundárias devem ter valores idênticos.
LIMPAR PROCEDURE_CACHE [ plan_handle ]
Limpa a cache do procedimento (plano) da base de dados. Podes executar este comando tanto no primário como no secundário.
Para limpar um único plano de consulta do cache do plano, especifique um handle de plano de consulta.
Aplica-se a: A especificação de 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 = { LIGADO | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite um mecanismo otimizado para a imposição de planos de consulta, aplicável a todas as formas de imposição de planos, como Query Store Force Plan, Automatic Tuningou a dica de consulta USE PLAN. O padrão é ON.
Note
Não é recomendado desativar a força acelerada do plano.
ALLOW_STALE_VECTOR_INDEX = { ON | DESLIGADO }
Aplica-se a: Azure SQL Database e base de dados SQL no Microsoft Fabric
Atualmente, no Azure SQL Database e na base de dados SQL no Microsoft Fabric, os índices vetoriais tornam as tabelas apenas de leitura. Para permitir que a tabela seja escrita, use a ALLOW_STALE_VECTOR_INDEX configuração com âmbito de base 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 = ON, o índice vetorial não é atualizado ao inserir ou atualizar novos dados na tabela. Para atualizar o índice vetorial, tens de o deixar cair e recriar.
Note
A ALLOW_STALE_VECTOR_INDEX opção de configuração com âmbito de base de dados não está atualmente disponível no SQL Server 2025 (17.x).
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Se ativar atualizações estatísticas assíncronas, ativar esta configuração faz com que o pedido de atualização em segundo plano aguarde por um Sch-M bloqueio numa fila de baixa prioridade. Esta espera evita bloquear outras sessões em cenários de alta concorrência. Para obter mais informações, consulte AUTO_UPDATE_STATISTICS_ASYNC. O padrão é OFF.
BATCH_MODE_ADAPTIVE_JOINS = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Ativa ou desativa as junções adaptativas em modo batch no âmbito da base de dados, mantendo ainda o nível de compatibilidade da base de dados 140 ou superior. O padrão é ON. As junções adaptáveis do modo de lote são um recurso que faz parte de de processamento inteligente de consultas introduzido no SQL Server 2017 (14.x).
Para versões de compatibilidade de base de dados nível 130 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite ou desativa o feedback de concessão de memória em modo batch no âmbito da base de dados, mantendo ainda o nível de compatibilidade da base de dados 140 ou superior. O padrão é ON. O feedback de concessão de memória em modo de lote, introduzido no SQL Server 2017 (14.x), faz parte do conjunto inteligente de recursos de processamento de consultas. Para obter mais informações, consulte Comentários de concessão de memória.
Para versões de compatibilidade de base de dados nível 130 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
BATCH_MODE_ON_ROWSTORE = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Ativa ou desativa o modo batch no rowstore no âmbito da base de dados, mantendo ainda o nível de compatibilidade com base de dados 150 e superior. O padrão é ON. O modo de lote no armazenamento de linhas é um recurso que faz parte de família de recursos processamento inteligente de consultas.
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
CE_FEEDBACK = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
O feedback CE aborda problemas de regressão percebidos que resultam de pressupostos incorretos do modelo CE ao utilizar o CE padrão (CE120 ou superior). O feedback do CE pode usar seletivamente diferentes pressupostos do modelo. Requer o Repositório de Consultas habilitado e no modo READ_WRITE. Para obter mais informações, consulte Feedback da estimativa de cardinalidade (CE). O padrão é ON no nível de compatibilidade de banco de dados 160 e superior.
DEFERRED_COMPILATION_TV = { ATIVADO | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite ou desativa a compilação diferida de variáveis de tabela no âmbito da base de dados, mantendo o nível de compatibilidade com base de dados 150 ou superior. O padrão é ON. A compilação diferida de variáveis de tabela é uma funcionalidade que faz parte da família de funcionalidades de processamento inteligente de consultas .
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
DOP_FEEDBACK = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Azure SQL Database, base de dados SQL no Microsoft Fabric, Azure SQL Managed Instance com a política SQL Server 2025 ou Always-up-todata de atualização
Identifica ineficiências de paralelismo para consultas repetidas, com base no tempo decorrido e nas esperas. Se o uso do paralelismo for ineficiente, o feedback do DOP reduz o DOP para a execução seguinte da consulta, a partir do DOP configurado, e verifica se isso ajuda. Requer o Repositório de Consultas habilitado e no modo READ_WRITE. Para obter mais informações, consulte Comentários sobre o grau de paralelismo (DOP). O padrão é OFF.
ELEVATE_ONLINE = { DESLIGADO | 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 SQL do Azure
Permite selecionar opções para fazer com que o mecanismo eleve automaticamente as operações suportadas para online.
Esta opção só se aplica a instruções DDL que suportam o WITH (ONLINE = <syntax>). Os í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 especificado na declaração.
sys.database_scoped_configurations reflete o valor atual de ELEVATE_ONLINE. Estas opções aplicam-se apenas a operações suportadas online. Você pode substituir a configuração padrão enviando uma instrução com a opção ONLINE especificada.
FAIL_UNSUPPORTED
Este valor eleva todas as operações DDL suportadas para ONLINE. As operações que não suportam a execução online falham e geram um erro.
Adicionar uma coluna a uma tabela é uma operação online no caso geral. Em alguns cenários, por exemplo, quando adicionando uma coluna não anulável, uma coluna não pode ser adicionada online. Nesses casos, se FAIL_UNSUPPORTED for definido, a operação falha.
WHEN_SUPPORTED
Este valor eleva as operações que suportam ONLINE. As operações que não suportam online são executadas offline.
Para mais informações, consulte Diretrizes para operações de índice online.
ELEVATE_RESUMABLE = { DESLIGADO | 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 SQL do Azure
Permite selecionar opções para fazer com que o mecanismo eleve automaticamente as operações suportadas para retomáveis.
Esta opção só se aplica a instruções DDL que suportam o WITH (RESUMABLE = <syntax>). Os índices XML não são afetados.
O padrão é OFF, o que significa que as operações não são elevadas a retomáveis a menos que especificado na instrução.
sys.database_scoped_configurations reflete o valor atual de ELEVATE_RESUMABLE. Essas opções só se aplicam a operações que são suportadas para retomable. Você pode substituir a configuração padrão enviando uma instrução com a opção RESUMABLE especificada.
FAIL_UNSUPPORTED
Este valor eleva todas as operações DDL suportadas para RESUMABLE. As operações que não suportam execução retomável falham e geram um erro.
WHEN_SUPPORTED
Este valor eleva as operações que suportam RESUMABLE. Operações que não suportam o retomável são executadas como não retomáveis.
Para mais informações, consulte Diretrizes para operações de índice online.
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { LIGADO | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Controla se as estatísticas de execução para funções escalares definidas pelo utilizador (UDF) aparecem na visão sys.dm_exec_function_stats do sistema. 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 percetível. Pode evitar esta sobrecarga definindo a EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS configuração com o âmbito da base de dados para OFF. O padrão é ON.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Quando resolve consultas de longa duração com perfil leve de estatísticas de execução de consultas ou o sys.dm_exec_query_statistics_xml DMV, FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION o SQL Server gera um fragmento XML Showplan que inclui o ParameterRuntimeValue.
Important
Não ative continuamente a FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION opção de configuração com âmbito de base de dados num ambiente de produção. Ative-o apenas para fins de resolução de problemas com tempo limitado. Esta opção de configuração com âmbito de base de dados adiciona sobrecarga extra e possivelmente significativa de CPU e memória, à medida que o SQL Server cria um fragmento XML Showplan com informação dos parâmetros de execução, quer a sys.dm_exec_query_statistics_xml infraestrutura do DMV ou do perfil leve de estatísticas de execução de consultas esteja ativada 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. Esta configuração só entra em vigor quando se emite uma CREATE FULLTEXT INDEX instrução para novos índices ou uma ALTER FULLTEXT CATALOG ... REBUILD instrução para reconstruir todos os índices de 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 estes componentes já não estão incluídos no SQL Server 2025 (17.x) e versões posteriores, têm de ser copiados manualmente a partir 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 os componentes de texto completo que os seguintes procedimentos armazenados, vistas e funções do sistema reportam e utilizam:
- sp_help_fulltext_system_components
- sys.fulltext_languages
- sys.fulltext_document_types
- sys.dm_fts_parser
IDENTITY_CACHE = { EM | DESLIGADO }
Aplica-se a: SQL Server 2017 (14.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Habilita ou desabilita o cache de identidade no nível do banco de dados. O padrão é ON. A cache de identidade melhora INSERT o desempenho em tabelas com colunas de identidade. Para evitar lacunas nos valores de uma coluna de identidade quando o servidor reinicia inesperadamente ou faz failover para um servidor secundário, desative a IDENTITY_CACHE opção. Esta opção é semelhante à flag de traço existente 272, mas está definida ao nível da base de dados.
Podes definir esta opção apenas para a réplica principal. Para obter mais informações, consulte colunas de identidade.
INTERLEAVED_EXECUTION_TVF = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite ou desativa a execução intercalada para funções com valores de tabela de múltiplas instruções no âmbito da base de dados ou instrução, mantendo ainda o nível de compatibilidade da base de dados 140 ou superior. O padrão é ON. A execução intercalada é uma funcionalidade que faz parte do processamento adaptativo de consultas na Azure SQL Database. Para mais informações, veja Processamento inteligente de consultas.
Para versões de compatibilidade de base de dados nível 130 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
No SQL Server 2017 (14.x) apenas, a opção INTERLEAVED_EXECUTION_TVF tinha o nome mais antigo de DISABLE_INTERLEAVED_EXECUTION_TVF.
ISOLATE_SECURITY_POLICY_CARDINALITY = { EM | DESLIGADO}
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite controlar se um predicado de segurança ao nível de linha (RLS) afeta a cardinalidade do plano de execução da consulta geral do utilizador. 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 contendo 1 milhão de 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 de escopo de banco de dados definida como OFF, a estimativa de cardinalidade desse predicado é 10. Quando essa configuração de escopo do banco de dados está ATIVADA, a otimização de consulta estima 1 milhão de linhas. Recomenda-se usar o valor padrão para a maioria das cargas de trabalho.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Define a funcionalidade de autodrop para tabelas temporárias globais. O padrão é ON, o que significa que as tabelas temporárias globais são automaticamente descartadas quando não estão em uso por qualquer sessão ou tarefa. Quando definido para OFF, só pode eliminar explicitamente tabelas temporárias globais usando uma DROP TABLE instrução ou elas são automaticamente descartadas ao reiniciar o serviço.
- No Azure SQL Database bases de dados individuais e pools elásticos, defina esta opção nas bases de dados individuais dos utilizadores.
- No SQL Server e Azure SQL Managed Instance, defina esta opção em
tempdb. A configuração em bancos de dados de usuários individuais não tem efeito.
LAST_QUERY_PLAN_STATS = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite habilitar ou desabilitar a coleta das estatísticas do último plano de consulta (equivalente a um plano de execução real) no sys.dm_exec_query_plan_stats. O padrão é OFF.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <cadeia de caracteres de URL do ponto de extremidade> | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Azure SQL Database
Habilita ou desabilita o carregamento de resumos contábeis no Armazenamento de Blobs do Azure. Para habilitar o carregamento de resumos do livro-razão, especifique o ponto de extremidade de uma conta de armazenamento de Blob do Azure. Para desativar o carregamento de resumos do livro-razão, defina o valor da opção como OFF. O padrão é OFF.
LEGACY_CARDINALITY_ESTIMATION = { EM | DESLIGADO | PRIMÁRIO }
Permite definir o modelo de estimativa de cardinalidade do otimizador de consulta para o SQL Server 2012 e versão anterior, 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 como ON é equivalente a habilitar o sinalizador de rastreamento 9481.
- Para definir esta opção ao nível da consulta, adicione a
QUERYTRACEONdica da consulta. - Para definir esta opção ao nível da consulta no SQL Server 2016 (13.x) com o Service Pack 1 e versões posteriores, adicione a dicade consulta USE HINT em vez de usar a flag de traço.
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 de acordo. PRIMARY é a configuração padrão para os secundários.
Para mais informações, consulte Estimativa de Cardinalidade (SQL Server).
LIGHTWEIGHT_QUERY_PROFILING = { LIGADO | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite habilitar ou desabilitar a infraestrutura de criação de perfil de consulta leve . A infraestrutura leve de criação de perfil de consulta (LWP) fornece dados de desempenho de consulta de forma 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 padrão grau máximo de paralelismo (MAXDOP) que deve ser usada para instruções. 0 é o valor padrão e indica que a configuração do servidor é usada em vez disso. O MAXDOP no âmbito da base de dados sobrepõe (a menos que esteja definido para 0) o max degree of parallelism conjunto ao nível do servidor por sp_configure. As dicas de consulta ainda podem substituir o MAXDOP com escopo do banco de dados para ajustar consultas específicas que precisam de configurações diferentes. Todas estas definiçõ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 usar na execução paralela do plano. O SQL Server considera planos de execução paralela para consultas, operações DDL (linguagem de definição de dados de índice), inserção paralela, coluna de alteração online, coleta de estatísticas paralelas e população de cursor estática e orientada por conjunto de chaves.
O limite de de
Para definir esta opção ao 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 com escopo de 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 o MAXDOP de forma ideal no Banco de Dados SQL do Azure, consulte Configurar o MAXDOP no Banco de Dados SQL do Azure.
- Para definir esta opção ao nível da consulta, use a
MAXDOPdica da consulta. - Para definir esta opção ao nível do servidor, use a opção de configuraçãodo servidor com grau máximo de paralelismo (MAXDOP).
- Para definir esta opção ao nível da carga de trabalho, use a
MAX_DOPopção de configuração do grupo de carga de trabalho Resource Governor.
PRIMARY
Só pode ser definido para os secundários, enquanto o banco de dados no primário, e indica que a configuração é a definida para o primário. Se a configuração para o primário mudar, o valor nos secundários muda de acordo sem a necessidade de definir o valor secundário explicitamente. PRIMARY é a configuração padrão para os secundários.
Para mais informações, veja Grau de Paralelismo.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores e Banco de Dados SQL do Azure
Ativa ou desativa a funcionalidade percentual de feedback de concessão de memória para todas as execuções de consultas que começam na base de dados. O padrão é ON. Para mais informações, veja Feedback de concessão de memória em modo percentil e persistência.
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Ativa ou desativa a persistência de feedback de concessão de memória para todas as execuções de consultas que iniciam na base de dados. O padrão é ON. Para mais informações, veja Feedback de concessão de memória em modo percentil e persistência.
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
OTIMIZE_FOR_AD_HOC_WORKLOADS = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permite ou desativa o armazenamento de um stub de plano compilado na cache quando um lote é compilado pela primeira vez. O padrão é OFF. Depois de ativar a configuração OPTIMIZE_FOR_AD_HOC_WORKLOADS com escopo da base de dados para uma base de dados, a base de dados armazena um stub de plano compilado na cache quando um lote é compilado pela primeira vez. Os stubs de plano consomem menos memória do que o plano compilado completo. Se um lote for compilado ou executado novamente, o Motor de Base de Dados remove o stub de plano compilado e substitui-lo por um plano compilado completo.
OPTIMIZED_PLAN_FORCING = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Azure SQL Database
O esforço de plano otimizado reduz a sobrecarga de compilação para a repetição de consultas forçadas. O padrão é ON. Depois de gerado o plano de execução da consulta, passos específicos de compilação são armazenados para reutilização como um script de reprodução de otimização. Um script de repetição de otimização é armazenado como parte do XML de plano de execução compactado em Query Store, em um atributo OptimizationReplay oculto. Para obter mais informações, consulte Forçar plano otimizado com o Repositório de Consultas.
OPTIMIZED_SP_EXECUTESQL = { EM | DESLIGADO }
Aplica-se a: SQL Server 2025 (17.x), Azure SQL Database e base de dados SQL 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á a ser compilado 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 o seu plano compilado na cache do plano. Outras sessões abortam a espera no bloqueio de compilação e reutilizam o plano assim que ele estiver disponível. Este comportamento faz com que sp_executesql objetos atuem como procedimentos armazenados e disparos do ponto de vista da compilação.
OPTIONAL_PARAMETER_OPTIMIZATION = { ON | DESLIGADO }
Aplica-se a: SQL Server 2025 (17.x), Azure SQL Database e base de dados SQL no Microsoft Fabric
Ativa ou desativa a funcionalidade de otimização opcional do plano de parâmetros (OPPO ). O padrão é ON iniciar no nível de compatibilidade de banco de dados 170.
Quando ativada, a otimização do plano adaptável gera vários planos de execução para consultas que incluem parâmetros opcionais. Estes planos normalmente utilizam 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 tempo de execução com base em se o parâmetro é NULL, o que melhora o desempenho para consultas que, de outra forma, poderiam usar como padrão um desempenho abaixo do ideal para esses padrões de consulta.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { EM | DESLIGADO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
A otimização do plano de sensibilidade a parâmetros (PSP) aborda o cenário em que um único plano armazenado em cache para uma consulta parametrizada não é ideal para todos os possíveis valores de parâmetros de entrada. Esta situação ocorre com distribuições de dados não uniformes. O padrão é ON a partir do nível de compatibilidade de banco de dados 160. Para obter mais informações, consulte otimização do plano sensível a parâmetros.
PARAMETER_SNIFFING = { EM | DESLIGADO | PRIMÁRIO }
Habilita ou desabilita deteção de parâmetros. O padrão é ON. A configuração PARAMETER_SNIFFING como OFF é equivalente a habilitar o sinalizador de rastreamento 4136.
- 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 de consulta, ade dica de consulta
USE HINTtambém está disponível.
PRIMARY
Este valor é válido apenas nas secundárias enquanto a base de dados está na primária. Especifica que o valor para esta definição em todas as secundárias é o conjunto de valores para a primária. Se a configuração no primário para usar parâmetro sniffing mudar, o valor nos secundários mudará de acordo sem a necessidade de definir o valor secundário explicitamente. PRIMARY é a configuração padrão para os secundários.
Para mais informações sobre PARAMETER_SNIFFING, veja "Eu cheiro 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 SQL do Azure
A PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES opção determina quanto tempo (em minutos) o índice retomável fica pausado antes de o Motor de Base de Dados o abortar automaticamente.
- O valor padrão é definido para um dia (1.440 minutos).
- A duração mínima é definida para 1 minuto.
- A duração máxima é de 71.582 minutos.
- Quando definido para
0, uma operação pausada nunca aborta automaticamente.
O valor atual dessa opção é exibido em sys.database_scoped_configurations.
PREVIEW_FEATURES = { EM | DESLIGADO }
Aplica-se a: SQL Server 2025 (17.x), Azure SQL Database, base de dados SQL no Microsoft Fabric
Atenção
Os 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, consulte Visualizar recursos 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 = { EM | 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 hotfixes de otimização de consulta, independentemente do nível de compatibilidade do banco de dados. O padrão é OFF, que desativa hotfixes de otimização de consultas que foram lançados após o nível de compatibilidade mais alto disponível para uma versão específica (pós-RTM). Definir QUERY_OPTIMIZER_HOTFIXES para ON é equivalente a ativar o traço flag 4199.
- Para definir esta opção ao nível da consulta, adicione a
QUERYTRACEONdica da consulta. - Para ativar esta funcionalidade ao nível da 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 a bandeira de traço.
Quando usa a QUERYTRACEON dica para ativar o Query Optimizer predefinido do SQL Server 7.0 até às versões SQL Server 2012 (11.x) ou os hotfixes do Query Optimizer, cria-se uma condição OR entre a hint de consulta e a definição de configuração com âmbito da base de dados. Se qualquer uma das opções estiver ativada, aplicam-se as configurações com âmbito da base de dados.
PRIMARY
Este valor é válido apenas nas secundárias enquanto a base de dados está na primária. Especifica que o valor para esta definição em todas as secundárias é o conjunto de valores para a primária. Se a configuração para o primário mudar, o valor nos secundários muda de acordo sem a necessidade de definir o valor secundário explicitamente. PRIMARY é a configuração padrão para os secundários.
Para mais informações sobre QUERY_OPTIMIZER_HOTFIXES, consulte o modelo de serviço 4199 do otimizador de consultas do otimizador de consultas do SQL Server.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Ative ou desative o feedback de concessão de memória em modo linha no âmbito da base de dados, mantendo ainda o nível de compatibilidade com a base de dados 150 ou superior. O padrão é ON. O feedback de concessão de memória em modo linha é uma funcionalidade que faz parte do processamento inteligente de consultas 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 obter mais informações sobre comentários de concessão de memória, consulte Comentários de concessão de memória.
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
TSQL_SCALAR_UDF_INLINING = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, e Azure SQL Database (a funcionalidade está em pré-visualização)
Ative ou desative o inlining do T-SQL Scalar UDF no âmbito da base de dados, mantendo ainda o nível de compatibilidade com base de dados 150 ou superior. O padrão é ON. T-SQL Scalar UDF inlining faz parte da família de recursos processamento inteligente de consultas
Note
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, esta configuração com âmbito de base de dados não tem efeito.
VERBOSE_TRUNCATION_WARNINGS = { EM | DESLIGADO }
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Habilite ou desabilite 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 de banco de dados 150, os 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 de banco de dados 150, os erros de truncamento geram a mensagem de erro anterior 8152.
Para versões de nível de compatibilidade de base de dados 140 ou inferiores, a mensagem de erro 2628 continua a ser uma mensagem de erro opt-in que requer que a flag de rastreio 460 esteja ativada, e esta configuração com âmbito de base de dados não tem efeito.
XTP_PROCEDURE_EXECUTION_STATISTICS = { EM | DESLIGADO }
Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada 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 refletem-se em sys.dm_exec_procedure_stats.
As estatísticas de execução no nível do módulo para módulos T-SQL compilados nativamente são coletadas se essa opção estiver ATIVADA ou se a coleta de estatísticas estiver habilitada por meio sp_xtp_control_proc_exec_stats.
XTP_QUERY_EXECUTION_STATISTICS = { EM | DESLIGADO }
Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Habilita ou desabilita a coleta de estatísticas de execução no nível da 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 no sys.dm_exec_query_stats e no Query Store.
As estatísticas de execução em nível de instrução para módulos T-SQL compilados nativamente são coletadas se essa opção for ONou se a coleta de estatísticas estiver habilitada por meio sp_xtp_control_query_exec_stats.
Para obter mais informações sobre o monitoramento de desempenho de módulos Transact-SQL compilados nativamente, consulte Monitoring Performance of Natively Compiled Stored Procedures.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
Aplica-se apenas a: Azure Synapse Analytics
Define Transact-SQL e comportamentos de processamento de consulta para serem compatíveis com a versão especificada do mecanismo de banco de dados. Depois de a configurar, quando uma consulta é executada nessa base de dados, ela usa apenas as funcionalidades compatíveis. Em cada nível de compatibilidade, vários aprimoramentos de processamento de consulta são suportados. Cada nível absorve a funcionalidade do nível anterior. O nível de compatibilidade de um banco de dados é definido como AUTO por padrão quando ele é criado pela primeira vez e essa é a configuração recomendada. O nível de compatibilidade é preservado mesmo após as operações de pausa/retomada do banco de dados, backup/restauração. O padrão é AUTO.
| Nível de compatibilidade | Comments |
|---|---|
AUTO |
Default. O motor Synapse Analytics atualiza automaticamente o seu valor. Está representado por 0em sys.database_scoped_configurations.
AUTO atualmente mapeia para o nível de compatibilidade 30 funcionalidade. |
10 |
Exercita os comportamentos de Transact-SQL e mecanismo de consulta antes da introdução do suporte de nível de compatibilidade. |
20 |
Primeiro nível de compatibilidade que inclui Transact-SQL fechado e comportamentos do mecanismo de consulta. O sp_describe_undeclared_parameters de procedimento armazenado do sistema é suportado neste nível. |
30 |
Inclui novos comportamentos do mecanismo de consulta. |
40 |
Inclui novos comportamentos do mecanismo de consulta. |
50 |
A distribuição multi-coluna é suportada sob este nível. Para saber mais, consulte CRIAR TABELA, CRIAR TABELA COMO SELECT E CRIAR VISUALIZAÇÃO MATERIALIZADA COMO SELECT. |
9000 |
Nível de compatibilidade de visualização. A documentação específica de funcionalidades indica as funcionalidades de pré-visualização bloqueadas sob este nível. Este nível também inclui habilidades do mais alto nível não-9000. |
Permissions
Requer ALTER ANY DATABASE SCOPED CONFIGURATION no banco de dados. Um utilizador com CONTROL permissão numa base de dados pode conceder essa permissão.
Remarks
Embora você possa configurar bancos de dados secundários para ter definições de configuração de escopo diferentes de seus primários, todos os bancos de dados secundários usam a mesma configuração. Não podes configurar definições diferentes para secundários individuais.
A execução dessa instrução limpa o cache de procedimento no banco de dados atual, o que significa que todas as consultas precisam ser recompiladas.
Para consultas de nome em três partes, as definições para a ligação atual à base de dados da consulta são respeitadas, exceto para módulos SQL (como procedimentos, funções e triggers) que são compilados noutro contexto de base de dados e, portanto, utilizam as opções da base de dados onde residem. Da mesma forma, ao atualizar estatísticas de forma assíncrona, a configuração de ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY para o banco de dados onde as estatísticas residem é honrada.
O ALTER_DATABASE_SCOPED_CONFIGURATION evento é adicionado como um evento DDL que pode ser usado para disparar um gatilho DDL. É uma criança do ALTER_DATABASE_EVENTS grupo gatilho.
Quando restaura ou anexa uma base de dados, as definições de configuração com âmbito de base de dados são mantidas e permanecem na base de dados.
A partir do SQL Server 2019 (15.x), no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure, alguns nomes de opção foram alterados:
-
DISABLE_INTERLEAVED_EXECUTION_TVFalterado paraINTERLEAVED_EXECUTION_TVF -
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACKalterado paraBATCH_MODE_MEMORY_GRANT_FEEDBACK -
DISABLE_BATCH_MODE_ADAPTIVE_JOINSalterado paraBATCH_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á ativada (1) ou desativada (0) numa base de dados, consulte sys.database_scoped_configurations. Por exemplo, para verificar o valor de LEGACY_CARDINALITY_ESTIMATION, use uma consulta assim:
USE <user_database>;
SELECT
name,
value,
value_for_secondary
FROM sys.database_scoped_configurations
WHERE name = 'LEGACY_CARDINALITY_ESTIMATION';
Limitations
MAXDOP
Definições granulares podem sobrepor-se às definições globais, e o governador de recursos pode limitar todas as outras definições MAXDOP. A seguinte lógica aplica-se ao MAXDOP cenário:
A dica de consulta substitui a configuração de escopo do
sp_configuree 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), é sobreposta pela definição do governador de recursos.
Se a dica da consulta não for zero (0), está limitada pela definição do governador de recursos.
A configuração com âmbito de base de dados (a menos que seja zero) sobrepõe a
sp_configuredefinição, a menos que haja uma dica de consulta, e está limitada pela definição de governador de recursos.A configuração do governador de recursos sobrepõe-se à definição
sp_configure.
Recuperação de desastres geo-replicada (DR)
Bases de dados secundárias legíveis (Always On Availability Groups, Azure SQL Database e Azure SQL Managed Instance geo-replicated) utilizam o valor secundário verificando o estado da base de dados. Embora a recompilação não ocorra no failover, e tecnicamente o novo primário tenha consultas que usam as definições secundárias, as definições entre primário e secundário só variam quando a carga de trabalho é diferente. Assim, as consultas em cache usam as definições ótimas, enquanto as novas consultas escolhem as novas definições que lhes são adequadas.
DacFx
A ALTER DATABASE SCOPED CONFIGURATION funcionalidade 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 da base de dados, as 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 BACPAC a partir de uma base de dados SQL Database ou SQL Server 2016 (13.x) que utilize esta funcionalidade não pode ser importada para um servidor down-level.
Metadata
A vista do sistema sys.database_scoped_configurations fornece informação sobre configurações com escopo dentro de uma base de dados. As opções de configuração com âmbito de base de dados só aparecem quando sys.database_scoped_configurations são sobreposições para as definições padrão do servidor. A visualização do sistema sys.configurations só mostra definições para todo o servidor.
Examples
Estes exemplos demonstram a utilização de ALTER DATABASE SCOPED CONFIGURATION.
A. Conceder permissão
Este exemplo concede ao utilizador Joea permissão necessária para executar ALTER DATABASE SCOPED CONFIGURATION .
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 uma base de dados secundária como é definido para a sua base de dados principal num 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 como 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 define LEGACY_CARDINALITY_ESTIMATION uma base de dados secundária tal como está na base de dados primária num cenário de geo-replicação.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. Definir PARAMETER_SNIFFING
O exemplo seguinte define PARAMETER_SNIFFING para OFF uma base de dados primária num cenário de geo-replicação.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
O exemplo seguinte define PARAMETER_SNIFFING para OFF uma base de dados secundária num cenário de geo-replicação.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = OFF;
O exemplo seguinte estabelece PARAMETER_SNIFFING uma base de dados secundária para corresponder à base de dados primária num cenário de geo-replicação.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET PARAMETER_SNIFFING = PRIMARY;
E. Definir QUERY_OPTIMIZER_HOTFIXES
Defina QUERY_OPTIMIZER_HOTFIXES como 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 cache de procedimentos
O exemplo seguinte limpa a cache do procedimento. Só pode limpar a cache do procedimento para uma base de dados primária.
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 SQL do Azure
O exemplo seguinte desativa a cache de identidade.
ALTER DATABASE SCOPED CONFIGURATION
SET IDENTITY_CACHE = OFF;
H. Definir OTIMIZE_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 SQL do Azure
Este exemplo permite armazenar um stub de plano compilado na cache quando um batch é 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 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 SQL do Azure
Este exemplo define ELEVATE_RESUMABLE como WHEN_SUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION
SET ELEVATE_RESUMABLE = WHEN_SUPPORTED;
K. Limpar um plano de consulta do cache de planos
Aplica-se a: SQL Server 2019 (15.x) e versões posteriores, Banco de Dados SQL do Azure e Instância Gerenciada 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 pausada
Aplica-se a: Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Este exemplo define a duração pausada do índice retomável como 60 minutos.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60;
M. Ativar e desativar o carregamento de resumos contábeis
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores
Este exemplo permite carregar resumos do razão para uma conta de armazenamento do Azure.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net';
Este exemplo desativa o carregamento de resumos contábeis.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF;
N. Ativar funcionalidades de pré-visualização
Habilite a capacidade de usar recursos na visualização.
ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES';
O. Permitir que o índice vetorial fique obsoleto
No estado atual de pré-visualização da Azure SQL Database e da base de dados Fabric SQL, os índices vetoriais tornam as tabelas apenas de leitura. Para tornar a tabela gravável, ative a seguinte configuração com âmbito de base 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 = ON, o índice vetorial não é atualizado ao inserir ou atualizar novos dados na tabela. Para atualizar o índice vetorial, tens de o deixar cair e recriar.
Esta opção de configuração não está atualmente disponível no SQL Server 2025 (17.x).
Conteúdo relacionado
- sys.database_scoped_configurations
- sys.configurations
- Bases de Dados e Vistas do Catálogo de Ficheiros (Transact-SQL)
- Opções de configuração do Server
- ÍNDICE ALTER (Transact-SQL)
- CRIAR ÍNDICE (Transact-SQL)
- Recomendações e diretrizes para a opção de configuração "grau máximo de paralelismo" no SQL Server
- Como funcionam as operações de índice on-line
- Executar operações de índice on-line
- Processamento inteligente de consultas em bancos de dados SQL
- Feedback de concessão de memória
- Feedback da estimativa de cardinalidade (CE)
- Grau de paralelismo (DOP) feedback