ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Banco de Dados
SQL do Azure Instância
Gerenciada de SQL do Azure Banco de dados SQL do Azure Synapse Analytics
no Microsoft Fabric
Esse comando permite várias definições de configuração de banco de dados no nível do banco de dados individual.
Importante
Há suporte para diferentes DATABASE SCOPED CONFIGURATION
opções em diferentes versões do SQL Server ou serviços do Azure. Esta página descreve todas asDATABASE SCOPED CONFIGURATION
opções. As versões, quando aplicável, são anotadas. Certifique-se de usar a sintaxe que está disponível na versão do serviço que você está usando.
As seguintes configurações 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 recursos de processamento de consulta inteligente.
- 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 que uma operação de índice retomável pausada é pausada antes de ser anulada automaticamente pelo Mecanismo 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.
Essa configuração só está disponível no Azure Synapse Analytics.
- Definir o nível de compatibilidade de um banco de dados de usuário
Convenções de sintaxe de Transact-SQL
Sintaxe
-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY}
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| ACCELERATED_PLAN_FORCING = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
}
Importante
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 paraINTERLEAVED_EXECUTION_TVF
-
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
foi alterado paraBATCH_MODE_MEMORY_GRANT_FEEDBACK
-
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
foi alterado paraBATCH_MODE_ADAPTIVE_JOINS
-- Syntax for Azure Synapse Analytics
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Argumentos
FOR SECONDARY
Especifica as definições para bancos de dados secundários (todos os bancos de dados secundários precisam ter valores idênticos).
CLEAR PROCEDURE_CACHE [plan_handle]
Limpa o cache do procedimento (plano) para o banco de dados e pode ser executado tanto no primário quanto no secundário.
Especifique um identificador de plano de consulta para limpar um único plano de consulta do cache do plano.
Aplica-se a: a especificação de um identificador de plano de consulta está disponível começando pelo SQL Server 2019 (15.x), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure.
MAXDOP = {<value> | PRIMARY }
<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 substitui (a menos que seja definido como 0) o grau máximo de paralelismo definido 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 MAXDOP definido para o Grupo de carga de trabalho.
É possível usar a opção MAXDOP para limitar o número de processadores a serem usados na execução paralela do plano. 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.
Observação
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 uma execução de consulta paralela, uma solicitação única pode gerar várias tarefas que são atribuídas a um agendador. Para saber mais, confira o Guia de arquitetura de threads e tarefas.
Para definir essa opção no nível da instância, confira Configurar a opção max degree of parallelism de configuração do servidor.
Observação
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. MAXDOP pode ser configurado para cada banco de dados, conforme descrito no artigo atual. Para obter recomendações sobre a configuraração ideal do MAXDOP, confira a seção Recursos Adicionais.
Dica
Para fazer isso no nível da consulta, use o MAXDOP, dica de consulta.
Para fazer isso no nível do servidor, use o MAXDOP (grau máximo de paralelismo) na opção de configuração do servidor.
Para fazer isso no nível de carga de trabalho, use a opção de configuração de grupo de carga de trabalho do Resource GovernorMAX_DOP.
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.
LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }
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. Definir LEGACY_CARDINALITY_ESTIMATION
para ON
é equivalente a habilitar sinalizador de rastreamento 9481.
Dica
Para fazer isso no nível da consulta, adicione a dica de consulta do QUERYTRACEON. A partir do SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a dica de consulta USE HINTem 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.
PARAMETER_SNIFFING = { ON | OFF | PRIMARY }
Habilita ou desabilita a detecção de parâmetro. O padrão é ON
. Definir PARAMETER_SNIFFING
para OFF
é equivalente a habilitar sinalizador de rastreamento 4136.
Dica
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 só é válido nos secundários enquanto o banco de dados está no primário e especifica que o valor dessa configuração em todos os secundários será 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.
QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }
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 depois que o nível de compatibilidade mais alto disponível foi introduzido para uma versão específica (pós-RTM). Definir isso como ON
é equivalente a habilitar sinalizador de rastreamento 4199.
Aplica-se a: SQL Server (a partir do SQL Server 2016 (13.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Dica
Para fazer isso no nível da consulta, adicione a dica de consulta do QUERYTRACEON. Começando com o SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, adicione a dica de consulta USE HINT em vez de usar o sinalizador de rastreamento.
PRIMARY
Esse valor só é válido nos secundários enquanto o banco de dados está no primário e especifica que o valor dessa configuração em todos os secundários será 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.
IDENTITY_CACHE = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2017 (14.x)), 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 é usado para melhorar o desempenho de INSERT em tabelas com colunas de identidade. Para evitar lacunas nos valores de uma coluna de identidade nos casos em que 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 272 existente, exceto que ela pode ser definida no nível do banco de dados em vez de apenas no nível do servidor.
Observação
Essa opção só pode ser definida para o primário. Para obter mais informações, confira colunas de identidade.
INTERLEAVED_EXECUTION_TVF = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar a execução intercalada para funções com valor de tabela com várias instruções no escopo do banco de dados ou da instrução, mantendo o nível de compatibilidade do banco de dados como 140 e superior. O padrão é ON
. A execução intercalada é um recurso que faz parte do processamento de consulta adaptável em Banco de Dados SQL do Azure. Para saber mais, confira Processamento de consulta inteligente.
Observação
Para o nível de compatibilidade do banco de dados 130 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
Somente no SQL Server 2017 (14.x), a opção INTERLEAVED_EXECUTION_TVF tinha o nome mais antigo DISABLE_INTERLEAVED_EXECUTION_TVF.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar Comentários de concessão de memória de modo de lote no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 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.
Observação
Para o nível de compatibilidade do banco de dados 130 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar junções adaptáveis do modo de lote no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 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).
Observação
Para o nível de compatibilidade do banco de dados 130 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
TSQL_SCALAR_UDF_INLINING = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)) e Banco de Dados SQL do Azure (o recurso está em versão prévia)
Permite habilitar ou desabilitar o inlining UDF do T-SQL Scalar no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 150 e superior. O padrão é ON
. O inlining UDF Escalar do T-SQL faz parte da família de recursos de Processamento de consulta inteligente.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), 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. 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.
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.
Observação
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 definida, 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.
Observação
Você pode substituir a configuração padrão ao enviar uma instrução com a opção ONLINE especificada.
ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), 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. 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.
FAIL_UNSUPPORTED
Este 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
Este valor eleva operações que dão suporte a RESUMABLE. As operações que não dão suporte à resumável são executadas sem ressuem.
Observação
Você pode substituir a configuração padrão ao enviar uma instrução com a opção RESUMABLE especificada.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Habilita ou desabilita um stub de plano compilado para ser armazenado em cache quando um lote é compilado pela primeira vez. O padrão é OFF
. Depois que a configuração no escopo do banco de dados OPTIMIZE_FOR_AD_HOC_WORKLOADS
estiver habilitada para um banco de dados, um stub de plano compilado será armazenado em cache quando um lote for compilado pela primeira vez. Os stubs de plano têm um volume de memória menor em comparação com o tamanho do plano compilado completo. Se um lote for compilado ou executado novamente, o stub do plano compilado será removido e substituído por um plano compilado completo.
XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
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 | OFF }
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 ON
ou 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.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar Comentários de concessão de memória de modo de linha no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 150 e superior. O padrão é ON
. O feedback de concessão de memória de 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.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 [16.x]) e banco de dados SQL do Azure
Permite desabilitar o percentil de comentários de concessão de memória para todas as execuções de consulta originadas no banco de dados. O padrão é ON
. Para obter informações completas, confira Feedback sobre concessão de memória do modo de persistência e percentil.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
Aplica-se a: SQL Server, a partir do SQL Server 2022 (16.x), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite desabilitar a persistência de comentários de concessão de memória para todas as execuções de consulta originadas no banco de dados. O padrão é ON
. Para obter informações completas, confira Feedback sobre concessão de memória do modo de persistência e percentil.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
BATCH_MODE_ON_ROWSTORE = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar o modo de lote em rowstore no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 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.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
DEFERRED_COMPILATION_TV = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite habilitar ou desabilitar a compilação adiada de variável de tabela no escopo do banco de dados, mantendo o nível de compatibilidade do banco de dados como 150 e superior. O padrão é ON
. Compilação adiada de variável de tabela é um recurso que faz parte da família de recursos Processamento de consulta inteligente.
Observação
Para o nível de compatibilidade do banco de dados 140 ou menor, esta configuração com escopo de banco de dados não tem nenhum efeito.
ACCELERATED_PLAN_FORCING = { ON | OFF }
Aplica-se ao: SQL Server (Começando pelo SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada do Azure SQL
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
.
Observação
Não é recomendável desabilitar a força acelerada do plano.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite definir a funcionalidade de soltar automaticamente 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 definidas como OFF
, as tabelas temporárias globais só podem ser descartadas explicitamente usando uma instrução DROP TABLE
ou são descartadas automaticamente na reinicialização do Mecanismo de Banco de Dados.
- Em bancos de dados individuais e pools elásticos do Banco de Dados SQL do Azure, essa opção é definida nos bancos de dados de usuário individuais.
- No SQL Server e na Instância Gerenciada de SQL do Azure, essa opção deve ser definida em
tempdb
. A configuração em bancos de dados de usuário individuais não tem efeito.
LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), 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
.
VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite 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) apresenta uma mensagem de erro nova e mais específica (2628) para esse 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 inferior, a mensagem de erro 2628 continua sendo uma mensagem de erro de aceitação que exige que sinalizador de rastreamento 460 sejam habilitados e essa configuração com escopo de banco de dados não tem efeito.
LAST_QUERY_PLAN_STATS = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), 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
.
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
Aplica-se a: SQL Server, a partir do SQL Server 2022 (16.x), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
A opção PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
determina por quanto tempo (em minutos) o índice retomável ficará em pausa antes de ser anulado automaticamente pelo mecanismo.
- 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 anula automaticamente
O valor atual da opção é exibido em sys.database_scoped_configurations.
ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF}
Aplica-se a: SQL Server (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Permite que você controle se um predicado da RLS (Segurança em Nível de Linha) é afetado pela cardinalidade do plano de execução da consulta geral do usuário. O padrão é OFF
. Quando ISOLATE_SECURITY_POLICY_CARDINALITY
é 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. É recomendável usar o valor padrão para a maioria das cargas de trabalho.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
Aplica-se a: somente 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 definido, quando uma consulta é executada nesse banco de dados, somente os recursos compatíveis são exercitados. 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 | Comentários |
---|---|
AUTO |
Padrão. O valor é atualizado automaticamente pelo mecanismo do Synapse Analytics e é representado por 0 em sys.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 |
Há suporte para a Distribuição de Várias Colunas nesse nível. Para saber mais, confira CREATE TABLE, CREATE TABLE AS SELECT e CREATE MATERIALIZED VIEW. |
9000 |
Nível de compatibilidade da versão prévia. As versões prévias dos recursos controlados neste nível são mencionadas na documentação específica de cada recurso. Esse nível também inclui habilidades de nível não9000 mais alto. |
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
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
Permite que você controle se as estatísticas de execução para UDF (funções definidas pelo usuário) escalares são mostradas 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. Isso pode ser evitado definindo a configuração no escopo do banco de dados do EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS
como OFF
. O padrão é ON
.
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 (16.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Se a atualização de estatísticas assíncronas estiver habilitada, habilitar essa configuração fará com que a solicitação em segundo plano que atualiza as estatísticas aguarde um Sch-M
bloqueio em uma fila de baixa prioridade, para evitar o bloqueio de outras sessões em cenários de alta simultaneidade. Para obter mais informações, confira AUTO_UPDATE_STATISTICS_ASYNC. O padrão é OFF
.
OPTIMIZED_PLAN_FORCING = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 [16.x]) e banco de dados SQL do Azure
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, as 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. Saiba mais em Forçar plano otimizado com o Repositório de Consultas.
DOP_FEEDBACK = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 [16.x]) e banco de dados SQL do Azure
Identifica ineficiências de paralelismo em consultas repetidas, com base no tempo decorrido e nas esperas. Se o uso de paralelismo for considerado ineficiente, os comentários do DOP reduzirão o DOP na próxima execução da consulta, de qualquer que seja o DOP configurado, e verificarão se isso ajudou. Requer o Repositório de Consultas habilitado e no modo READ_WRITE
. Para obter mais informações, confira Feedback de DOP (Graus de Paralelismo). O padrão é OFF
.
CE_FEEDBACK = { ON | OFF }
Aplica-se a: SQL Server, a partir do SQL Server 2022 (16.x), 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 padrão (CE120 ou superior) e 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.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
Aplica-se a: SQL Server, a partir do SQL Server 2022 (16.x), 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. Isso é o que ocorre com distribuições de dados não uniformes. 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.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <cadeia de caracteres de URL de ponto de extremidade> | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 (16.x))
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
.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { ON | OFF }
Aplica-se a: SQL Server (a partir do SQL Server 2022 (16.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Faz com que o SQL Server gere um fragmento XML do Plano de Execução com o ParameterRuntimeValue ao usar a infraestrutura de criação de perfil das estatísticas de execução de consulta leve ou a execução da DMV sys.dm_exec_query_statistics_xml
ao solucionar problemas de consultas de execução prolongada.
Importante
A FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION
opção de configuração no escopo do banco de dados não deve ser habilitada continuamente em um ambiente de produção, mas apenas para fins de solução de problemas por tempo limitado. O uso dessa opção de configuração com escopo de banco de dados introduz uma sobrecarga adicional e possivelmente significativa de CPU e memória à medida que criamos um fragmento XML de Plano de Execução com informações de parâmetro de runtime, se a infraestrutura de perfil de estatísticas de execução de consulta leve ou DMV sys.dm_exec_query_statistics_xml
está habilitada ou não.
OPTIMIZED_SP_EXECUTESQL = { ON | DESLIGADO }
Aplica-se a: Banco de Dados SQL do Azure
Habilita ou desabilita o comportamento de serialização de compilação de sp_executesql
quando um lote é compilado. O padrão é OFF
. Permitir lotes que usam sp_executesql
para serializar o processo de compilação reduz o impacto das tempestades de compilação. Uma tempestade de compilação refere-se a 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. Isso permite que sp_executesql
se comportem como objetos, como procedimentos armazenados e gatilhos de uma perspectiva de compilação.
Permissões
Requer ALTER ANY DATABASE SCOPED CONFIGURATION
no banco de dados. Essa permissão pode ser concedida por um usuário com a permissão CONTROL
em um banco de dados.
Comentários
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. Configurações diferentes não podem ser configuradas 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 evento ALTER_DATABASE_SCOPED_CONFIGURATION
é adicionado como um evento DDL que pode ser usado para acionar um gatilho DDL e é um filho do grupo do gatilho ALTER_DATABASE_EVENTS
.
Quando um determinado banco de dados é restaurado ou anexado, as definições de configuração no escopo do banco de dados são transferidas 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 paraINTERLEAVED_EXECUTION_TVF
-
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
foi alterado paraBATCH_MODE_MEMORY_GRANT_FEEDBACK
-
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
foi alterado paraBATCH_MODE_ADAPTIVE_JOINS
No banco de dados SQL no Microsoft Fabric, a autenticação é por meio da passagem da ID do Microsoft Entra, usando USER IDENTITY
.
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, você pode consultar sys.database_scoped_configurations. Por exemplo, para verificar o valor de 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';
Limitações
MAXDOP
As configurações granulares podem substituir as globais e o Resource Governor pode limitar a todas as outras configurações de MAXDOP. A lógica para MAXDOP
configuração é a seguinte:
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 for definida como zero (0), ela será substituída pela configuração do Resource Governor.
Se a dica de consulta não for zero (0), ela será limitada pela configuração do administrador de recursos.
A configuração no escopo do banco de dados (a menos que seja zero) substitui a configuração
sp_configure
, a menos que haja uma dica de consulta e seja limitada pela configuração do Resource Governor.A configuração de
sp_configure
substituída pela configuração do Resource Governor.
QUERY_OPTIMIZER_HOTFIXES
Quando a dica QUERYTRACEON
é usada 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, ela é uma condição OR entre a dica de consulta e a definição de configuração de banco de dados com escopo, o que significa que se qualquer uma for habilitada, ambas as configurações de banco de dados com escopo se aplicarão.
DR de área geográfica
Os bancos de dados secundários para leitura (Grupos de Disponibilidade Always On e bancos de dados com replicação geográfica de Banco de Dados SQL do Azure e Instância Gerenciada do Azure SQL) usam o valor secundário verificando o estado do banco de dados. Embora a recompilação não ocorra no failover e tecnicamente o novo primário tenha consultas que usam as configurações do secundário, a ideia é que a configuração entre o primário e o secundário apenas varie quando a carga de trabalho for diferente e, portanto, as consultas armazenadas em cache estiverem usando as configurações ideais, enquanto as novas consultas estarão selecionando as novas configurações apropriadas para elas.
DacFx
Como ALTER DATABASE SCOPED CONFIGURATION
é um novo recurso no Banco de Dados SQL do Azure, A Instância Gerenciada de SQL do Azure e o SQL Server (a partir do SQL Server 2016 (13.x)) que afeta o esquema de banco de dados, as exportações do esquema (com ou sem dados) não podem ser importadas para uma versão mais antiga do SQL Server, como o SQL Server 2012 (11.x) ou o SQL Server 2014 (12.x). Por exemplo, uma exportação para um DACPAC ou um BACPAC de um Banco de Dados SQL ou de um banco de dados do SQL Server 2016 (13.x) que tiver usado esse novo recurso não poderá ser importada em um servidor de nível inferior.
ELEVATE_ONLINE
Essa opção é aplicável somente a instruções DDL com suporte a WITH (ONLINE = <syntax>)
. Índices XML não são afetados.
ELEVATE_RESUMABLE
Essa opção é aplicável somente a instruções DDL com suporte a WITH (RESUMABLE = <syntax>)
. Índices XML não são afetados.
Metadados
O Modo de Exibição do Sistema sys.database_scoped_configurations (Transact-SQL) fornece informações sobre as configurações com escopo em um banco de dados. As opções de configuração no escopo do banco de dados só aparecem na sys.database_scoped_configurations
porque elas são substituições das configurações padrão de todo o servidor. O Modo de Exibição do Sistema sys.configurations (Transact-SQL) mostra apenas as configurações de todo o servidor.
Exemplos
Estes exemplos demonstram o uso de ALTER DATABASE SCOPED CONFIGURATION
.
a. Conceder permissão
Este exemplo concede 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 MAXDOP para um banco de dados secundário como o mesmo que está definido para seu banco de dados primário em um cenário de replicação geográfica.
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 define LEGACY_CARDINALITY_ESTIMATION
para um banco de dados secundário como é para seu banco de dados primário em um cenário de replicação geográfica.
ALTER DATABASE SCOPED CONFIGURATION
FOR SECONDARY
SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
D. Definir PARAMETER_SNIFFING
Este exemplo define PARAMETER_SNIFFING
para OFF
para um banco de dados primário em um cenário de replicação geográfica.
ALTER DATABASE SCOPED CONFIGURATION
SET PARAMETER_SNIFFING = OFF;
Este exemplo define PARAMETER_SNIFFING
para OFF
para 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;
Este exemplo define PARAMETER_SNIFFING
para o banco de dados secundário como está no 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 procedimento
Este exemplo limpa o cache de procedimento (é possível somente para um banco de dados primário).
ALTER DATABASE SCOPED CONFIGURATION
CLEAR PROCEDURE_CACHE;
G. Definir IDENTITY_CACHE
Aplica-se a: SQL Server (a partir do SQL Server 2017 (14.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Este exemplo 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 (a partir do SQL Server 2019 (15.x)), Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Este exemplo habilita um stub de plano compilado para ser armazenado em 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 (a partir do SQL Server 2019 (15.x)), 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 (a partir do SQL Server 2019 (15.x)), 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 (a partir do SQL Server 2019 (15.x)), 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 (a partir do SQL Server 2022 (16.x))
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;
Recursos adicionais
Recursos de MAXDOP
- Grau de paralelismo
- Recomendações e diretrizes para a opção de configuração “max degree of parallelism” no SQL Server
Recursos de LEGACY_CARDINALITY_ESTIMATION
- Estimativa de cardinalidade (SQL Server)
- Otimizar os planos de consulta com o avaliador de cardinalidade do SQL Server 2014
Recursos de PARAMETER_SNIFFING
- Detecção de parâmetros
- "I smell a parameter!" (Sinto cheiro de parâmetro!)
Recursos de QUERY_OPTIMIZER_HOTFIXES
- Sinalizadores de rastreamento
- Modelo de serviço do sinalizador de rastreamento 4199 de hotfix do otimizador de consulta do SQL Server
Recursos ELEVATE_ONLINE
Diretrizes para operações de índice online
Recursos ELEVATE_RESUMABLE
Diretrizes para operações de índice online
Conteúdo relacionado
- sys.database_scoped_configurations
- sys.configurations
- Exibição de catálogo do bancos de dados e de arquivos (Transact-SQL)
- Opções de configuração do servidor (SQL Server)
- ALTER INDEX (Transact-SQL)
- CREATE INDEX (Transact-SQL)
- Recomendações e diretrizes para a opção de configuração “max degree of parallelism” no SQL Server
- Como funcionam as operações de índice online
- Executar operações de índice online
- Processamento inteligente de consultas em bancos de dados SQL
- Feedback de concessão de memória
- Feedback da CE (estimativa de cardinalidade)
- Comentários de DOP (grau de paralelismo)