ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Essa instrução permite várias definições de configuração de banco de dados no nível do banco de dados individual.This statement enables several database configuration settings at the individual database level. Essa instrução está disponível no Banco de dados SQL do AzureAzure SQL Database e no SQL ServerSQL Server começando pelo SQL Server 2016 (13.x)SQL Server 2016 (13.x).This statement is available in Banco de dados SQL do AzureAzure SQL Database and in SQL ServerSQL Server beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x). Essas configurações são:Those settings are:

  • Limpar o cache de procedimento.Clear procedure cache.
  • Definir o parâmetro MAXDOP para um valor arbitrário (1, 2,...) para o banco de dados primário com base naquilo que funciona melhor para esse banco de dados específico e definir um valor diferente (como 0) para todos os bancos de dados secundários usados (como para consultas de relatórios).Set the MAXDOP parameter to an arbitrary value (1,2, ...) for the primary database based on what works best for that particular database and set a different value (such as 0) for all secondary database used (such as for reporting queries).
  • Defina o modelo de estimativa de cardinalidade do otimizador de consulta independente do nível de compatibilidade do banco de dados.Set the query optimizer cardinality estimation model independent of the database to compatibility level.
  • Habilitar ou desabilitar a detecção de parâmetro no nível do banco de dados.Enable or disable parameter sniffing at the database level.
  • Habilitar ou desabilitar hotfixes de otimização de consulta no nível do banco de dados.Enable or disable query optimization hotfixes at the database level.
  • Habilitar ou desabilitar o cache de identidade no nível do banco de dados.Enable or disable the identity cache at the database level.
  • Habilitar ou desabilitar um stub de plano compilado para ser armazenado em cache quando um lote for compilado pela primeira vez.Enable or disable a compiled plan stub to be stored in cache when a batch is compiled for the first time.
  • Habilite ou desabilite a coleta de estatísticas de execução para módulos T-SQL compilados nativamente.Enable or disable collection of execution statistics for natively compiled T-SQL modules.
  • Habilitar ou desabilitar online pelas opções padrão para instruções DDL compatíveis com a sintaxe ONLINE =.Enable or disable online by default options for DDL statements that support the ONLINE = syntax.
  • Habilitar ou desabilitar retomáveis pelas opções padrão para instruções DDL compatíveis com a sintaxe RESUMABLE =.Enable or disable resumable by default options for DDL statements that support the RESUMABLE = syntax.
  • Habilite ou desabilite recursos de processamento de consulta inteligente.Enable or disable Intelligent query processing features.
  • Habilitar ou desabilitar a imposição de plano acelerada.Enable or disable accelerated plan forcing.
  • Habilitar ou desabilitar a funcionalidade de remoção automática de tabelas temporárias globais.Enable or disable the auto-drop functionality of global temporary tables.
  • Habilite ou desabilite a infraestrutura de criação de perfil de consulta leve.Enable or disable the lightweight query profiling infrastructure.
  • Habilitar ou desabilitar a nova mensagem de erro String or binary data would be truncated.Enable or disable the new String or binary data would be truncated error message.
  • Habilitar ou desabilitar a coleta do último plano de execução real em sys.dm_exec_query_plan_stats.Enable or disable collection of last actual execution plan in sys.dm_exec_query_plan_stats.
  • Especifique o número de minutos que uma operação de índice retomável em pausa permanece assim antes de ser anulada automaticamente pelo mecanismo do SQL Server.Specify the number of minutes that a paused resumable index operation is paused before it is automatically aborted by the SQL Server engine.

ícone de link Convenções de sintaxe Transact-SQLlink icon Transact-SQL Syntax Conventions

SintaxeSyntax

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 }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | ACCELERATED_PLAN_FORCING = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTODROP = { 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>
}

Importante

Começando com SQL Server 2019 (15.x)SQL Server 2019 (15.x) e em Banco de dados SQL do AzureAzure SQL Database, alguns nomes de opções foram alterados:Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) and in Banco de dados SQL do AzureAzure SQL Database, some option names have changed:

  • DISABLE_INTERLEAVED_EXECUTION_TVF foi alterado para INTERLEAVED_EXECUTION_TVFDISABLE_INTERLEAVED_EXECUTION_TVF changed to INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK foi alterado para BATCH_MODE_MEMORY_GRANT_FEEDBACKDISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK changed to BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS foi alterado para BATCH_MODE_ADAPTIVE_JOINSDISABLE_BATCH_MODE_ADAPTIVE_JOINS changed to BATCH_MODE_ADAPTIVE_JOINS

ArgumentosArguments

FOR SECONDARYFOR SECONDARY

Especifica as definições para bancos de dados secundários (todos os bancos de dados secundários precisam ter valores idênticos).Specifies the settings for secondary databases (all secondary databases must have the identical values).

CLEAR PROCEDURE_CACHE [plan_handle]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.Clears the procedure (plan) cache for the database, and can be executed both on the primary and the secondaries.

Especifique um identificador de plano de consulta para limpar um único plano de consulta do cache do plano.Specify a query plan handle to clear a single query plan from the plan cache.

APLICA-SE A: Especificar um identificador de plano de consulta está disponível no Banco de Dados SQL do Azure e no SQL Server 2019 ou superior.APPLIES TO: Specifying a query plan handle is available in Azure SQL Database and SQL Server 2019 or higher.

MAXDOP = {<value> | PRIMARY } <value>MAXDOP = {<value> | PRIMARY } <value>

Especifica a configuração MAXDOP (grau máximo de paralelismo) padrão que deve ser usada nas instruções.Specifies the default max degree of parallelism (MAXDOP) setting that should be used for statements. 0 é o valor padrão e indica que a configuração do servidor será usada.0 is the default value and indicates that the server configuration will be used instead. O MAXDOP no escopo do banco de dados (a menos que esteja definido como 0) substitui o max degree of parallelism definido no nível do servidor por sp_configure.The MAXDOP at the database scope overrides (unless it is set to 0) the max degree of parallelism set at the server level by 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.Query hints can still override the database scoped MAXDOP in order to tune specific queries that need different setting. Todas essas configurações são limitadas pelo MAXDOP definido para o Grupo de carga de trabalho.All these settings are limited by the MAXDOP set for the Workload Group.

É possível usar a opção MAXDOP para limitar o número de processadores a serem usados na execução paralela do plano.You can use the MAXDOP option to limit the number of processors to use in parallel plan execution. SQL ServerSQL 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.considers parallel execution plans for queries, index data definition language (DDL) operations, parallel insert, online alter column, parallel stats collection, and static and keyset-driven cursor population.

Observação

O limite de MAXDOP (grau máximo de paralelismo) é definido por tarefa.The max degree of parallelism (MAXDOP) limit is set per task. Não é um limite por solicitação ou por consulta.It is not a per request or per query limit. 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.This means that during a parallel query execution, a single request can spawn multiple tasks which are assigned to a scheduler. Para saber mais, confira o Guia de arquitetura de threads e tarefas.For more information, see the Thread and Task Architecture Guide.

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.To set this option at the instance level, see Configure the max degree of parallelism Server Configuration Option.

Observação

No Banco de dados SQL do AzureAzure SQL Database, a configuração de grau máximo de paralelismo em nível de servidor é sempre definida como 0.In Banco de dados SQL do AzureAzure SQL Database, the server-level max degree of parallelism configuration is always set to 0. MAXDOP pode ser configurado para cada banco de dados, conforme descrito no artigo atual.MAXDOP can be configured for each database as described in the current article. Para obter recomendações sobre como configurar o MAXDOP de forma ideal, consulte a seção Recursos Adicionais.For recommendations on configuring MAXDOP optimally, see the Additional Resources section.

Dica

Para fazer isso no nível da consulta, use a dica de consulta do MAXDOP.To accomplish this at the query level, use the MAXDOP query hint.
Para fazer isso no nível do servidor, use o MAXDOP (grau máximo de paralelismo) na opção de configuração do servidor.To accomplish this at the server level, use the max degree of parallelism (MAXDOP) server configuration option.
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 Governor MAX_DOP.To accomplish this at the workload level, use the MAX_DOP Resource Governor workload group configuration option.

PRIMARYPRIMARY

Só pode ser definida para os secundários, enquanto o banco de dados está no primário e indica que a configuração será a definida para o primário.Can only be set for the secondaries, while the database in on the primary, and indicates that the configuration will be the one set for the primary. Se a configuração do primário for alterada, o valor nos secundários será alterado da maneira apropriada sem precisar ser definido explicitamente.If the configuration for the primary changes, the value on the secondaries will change accordingly without the need to set the secondaries value explicitly. PRIMARY é a configuração padrão dos secundários.PRIMARY is the default setting for the secondaries.

LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }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.Enables you to set the query optimizer cardinality estimation model to the SQL Server 2012 and earlier version independent of the compatibility level of the database. 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.The default is OFF, which sets the query optimizer cardinality estimation model based on the compatibility level of the database. Configurar LEGACY_CARDINALITY_ESTIMATION como ON equivale a habilitar Sinalizador de Rastreamento 9481.Setting LEGACY_CARDINALITY_ESTIMATION to ON is equivalent to enabling Trace Flag 9481.

Dica

Para fazer isso no nível da consulta, adicione a dica de consulta QUERYTRACEON.To accomplish this at the query level, add the QUERYTRACEON query hint. Começando com o SQL Server 2016 (13.x)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.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, add the USE HINT query hint instead of using the trace flag.

PRIMARYPRIMARY

Esse valor só é válido nos 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 será o valor definido para o primário.This value is only valid on secondaries while the database in on the primary, and specifies that the query optimizer cardinality estimation model setting on all secondaries will be the value set for the primary. Se a configuração no primário para o modelo de estimativa de cardinalidade do otimizador de consulta for alterado, o valor nos secundários será alterado da maneira adequada.If the configuration on the primary for the query optimizer cardinality estimation model changes, the value on the secondaries will change accordingly. PRIMARY é a configuração padrão dos secundários.PRIMARY is the default setting for the secondaries.

PARAMETER_SNIFFING = { ON | OFF | PRIMARY}PARAMETER_SNIFFING = { ON | OFF | PRIMARY}

Habilita ou desabilita a detecção de parâmetro.Enables or disables parameter sniffing. O padrão é ON.The default is ON. Configurar PARAMETER_SNIFFING como OFF equivale a habilitar Sinalizador de Rastreamento 4136.Setting PARAMETER_SNIFFING to OFF is equivalent to enabling Trace Flag 4136.

Dica

Para fazer isso no nível da consulta, confira a dica de consulta OPTIMIZE FOR UNKNOWN.To accomplish this at the query level, see the OPTIMIZE FOR UNKNOWN query hint. Começando com o SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, para fazer isso no nível da consulta, a dica de consulta USE HINT também está disponível.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, the USE HINT query hint is also available.

PRIMARYPRIMARY

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.This value is only valid on secondaries while the database in on the primary, and specifies that the value for this setting on all secondaries will be the value set for the primary. Se a configuração do primário para o uso de detecção de parâmetro fora alterada, o valor nos secundários será alterado da maneira apropriada sem a necessidade de definir o valor dos secundários explicitamente.If the configuration on the primary for using parameter sniffing changes, the value on the secondaries will change accordingly without the need to set the secondaries value explicitly. PRIMARY é a configuração padrão dos secundários.PRIMARY is the default setting for the secondaries.

QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }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.Enables or disables query optimization hotfixes regardless of the compatibility level of the database. O padrão é OFF, que desabilita os hotfixes de otimização de consulta que foram lançados depois que o nível de compatibilidade mais alto disponível foi introduzido para uma versão específica de (pós-RTM).The default is OFF, which disables query optimization hotfixes that were released after the highest available compatibility level was introduced for a specific version (post-RTM). Definir como ON equivale a habilitar o sinalizador de rastreamento 4199.Setting this to ON is equivalent to enabling Trace Flag 4199.

Dica

Para fazer isso no nível da consulta, adicione a dica de consulta QUERYTRACEON.To accomplish this at the query level, add the QUERYTRACEON query hint. Começando com o SQL Server 2016 (13.x)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.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, add the USE HINT query hint instead of using the trace flag.

PRIMARYPRIMARY

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.This value is only valid on secondaries while the database in on the primary, and specifies that the value for this setting on all secondaries is the value set for the primary. Se a configuração do primário for alterada, o valor nos secundários será alterado da maneira apropriada sem precisar ser definido explicitamente.If the configuration for the primary changes, the value on the secondaries changes accordingly without the need to set the secondaries value explicitly. PRIMARY é a configuração padrão dos secundários.PRIMARY is the default setting for the secondaries.

IDENTITY_CACHE = { ON | OFF }IDENTITY_CACHE = { ON | OFF }

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database

Habilita ou desabilita o cache de identidade no nível do banco de dados.Enables or disables identity cache at the database level. O padrão é ON.The default is ON. O cache de identidade é usado para melhorar o desempenho de INSERT em tabelas com colunas de identidade.Identity caching is used to improve INSERT performance on tables with identity columns. Para evitar lacunas nos valores de uma coluna de identidade em casos em que o servidor é reiniciado inesperadamente ou efetua failover para um servidor secundário, desabilite a opção IDENTITY_CACHE.To avoid gaps in the values of an identity column in cases where the server restarts unexpectedly or fails over to a secondary server, disable the IDENTITY_CACHE option. 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.This option is similar to the existing Trace Flag 272, except that it can be set at the database level rather than only at the server level.

Observação

Essa opção só pode ser definida para o primário.This option can only be set for the PRIMARY. Para obter mais informações, confira colunas de identidade.For more information, see identity columns.

INTERLEAVED_EXECUTION_TVF = { ON | OFF }INTERLEAVED_EXECUTION_TVF = { ON | OFF }

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database

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.Allows you to enable or disable Interleaved execution for multi-statement table-valued functions at the database or statement scope while still maintaining database compatibility level 140 and higher. A execução intercalada é um recurso que faz parte do processamento de consulta adaptável em Banco de dados SQL do AzureAzure SQL Database.Interleaved execution is a feature that is part of Adaptive query processing in Banco de dados SQL do AzureAzure SQL Database. Para saber mais, confira Processamento de consulta inteligente.For more information, please refer to Intelligent query processing.

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.For database compatibility level 130 or lower, this database scoped configuration has no effect.

Somente no SQL Server 2017 (14.x), a opção INTERLEAVED_EXECUTION_TVF tinha o nome mais antigo DISABLE_INTERLEAVED_EXECUTION_TVF.In SQL Server 2017 (14.x) only, the option INTERLEAVED_EXECUTION_TVF had the older name of DISABLE_INTERLEAVED_EXECUTION_TVF.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database

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.Allows you to enable or disable batch mode memory grant feedback at the database scope while still maintaining database compatibility level 140 and higher. Os comentários de concessão de memória de modo de lote é um recurso que faz parte do Processamento de consulta inteligente introduzido no SQL Server 2017 (14.x)SQL Server 2017 (14.x).Batch mode memory grant feedback a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)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.For database compatibility level 130 or lower, this database scoped configuration has no effect.

BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF}BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database

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.Allows you to enable or disable batch mode adaptive joins at the database scope while still maintaining database compatibility level 140 and higher. 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)SQL Server 2017 (14.x).Batch mode adaptive joins is a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)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.For database compatibility level 130 or lower, this database scoped configuration has no effect.

TSQL_SCALAR_UDF_INLINING = { ON | OFF }TSQL_SCALAR_UDF_INLINING = { ON | OFF }

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

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.Allows you to enable or disable T-SQL Scalar UDF inlining at the database scope while still maintaining database compatibility level 150 and higher. O inlining UDF Escalar do T-SQL faz parte da família de recursos de Processamento de consulta inteligente.T-SQL Scalar UDF inlining is part of the Intelligent query processing feature family.

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.For database compatibility level 140 or lower, this database scoped configuration has no effect.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

APLICA-SE A: Banco de dados SQL do AzureAzure SQL Database (o recurso está na versão prévia pública)APPLIES TO: Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

Permite que você selecione as opções para fazer com que o mecanismo eleve automaticamente operações com suporte para online.Allows you to select options to cause the engine to automatically elevate supported operations to online. O padrão é OFF, o que significa que as operações não serão elevadas para online, a menos que especificado na instrução.The default is OFF, which means operations will not be elevated to online unless specified in the statement. sys.database_scoped_configurations reflete o valor atual de ELEVATE_ONLINE.sys.database_scoped_configurations reflects the current value of ELEVATE_ONLINE. Essas opções serão aplicadas somente a operações que têm suporte para online.These options will only apply to operations that are supported for online.

FAIL_UNSUPPORTEDFAIL_UNSUPPORTED

Este valor eleva todas as operações DDL com suporte para ONLINE.This value elevates all supported DDL operations to ONLINE. Operações que não oferecem suporte à execução online falharão e gerarão um aviso.Operations that do not support online execution will fail and throw a warning.

WHEN_SUPPORTEDWHEN_SUPPORTED

Este valor eleva operações que dão suporte a ONLINE.This value elevates operations that support ONLINE. As operações sem suporte online serão executadas offline.Operations that do not support online will be run offline.

Observação

Você pode substituir a configuração padrão ao enviar uma instrução com a opção ONLINE especificada.You can override the default setting by submitting a statement with the ONLINE option specified.

ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

Permite que você selecione as opções para fazer com que o mecanismo eleve automaticamente operações com suporte para retomáveis.Allows you to select options to cause the engine to automatically elevate supported operations to resumable. O padrão é OFF, o que significa que as operações não serão elevadas para retomáveis, a menos que especificado na instrução.The default is OFF, which means operations are not be elevated to resumable unless specified in the statement. sys.database_scoped_configurations reflete o valor atual de ELEVATE_RESUMABLE.sys.database_scoped_configurations reflects the current value of ELEVATE_RESUMABLE. Essas opções serão aplicadas somente a operações que têm suporte para retomável.These options only apply to operations that are supported for resumable.

FAIL_UNSUPPORTEDFAIL_UNSUPPORTED

Este valor eleva todas as operações DDL com suporte para RESUMABLE.This value elevates all supported DDL operations to RESUMABLE. Operações que não oferecem suporte à execução retomável falharão e gerarão um aviso.Operations that do not support resumable execution fail and throw a warning.

WHEN_SUPPORTEDWHEN_SUPPORTED

Este valor eleva operações que dão suporte a RESUMABLE.This value elevates operations that support RESUMABLE. As operações que não dão suporte a retomáveis são executadas de modo não retomável.Operations that do not support resumable are run non-resumably.

Observação

Você pode substituir a configuração padrão ao enviar uma instrução com a opção RESUMABLE especificada.You can override the default setting by submitting a statement with the RESUMABLE option specified.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }

APLICA-SE A: Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: Banco de dados SQL do AzureAzure SQL Database

Habilita ou desabilita um stub de plano compilado para ser armazenado em cache quando um lote é compilado pela primeira vez.Enables or disables a compiled plan stub to be stored in cache when a batch is compiled for the first time. O padrão é OFF.The default is OFF. Quando 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.Once the database scoped configuration OPTIMIZE_FOR_AD_HOC_WORKLOADS is enabled for a database, a compiled plan stub will be stored in cache when a batch is compiled for the first time. Os stubs de plano têm um volume de memória menor em comparação com o tamanho do plano compilado completo.Plan stubs have a smaller memory footprint compared to the size of the full compiled plan. Se um lote for compilado ou executado novamente, o stub de plano compilado será removido e substituído por um plano compilado completo.If a batch is compiled or executed again, the compiled plan stub will be removed and replaced with a full compiled plan.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }

APLICA-SE A: Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: Banco de dados SQL do AzureAzure SQL Database

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.Enables or disables collection of execution statistics at the module-level for natively compiled T-SQL modules in the current database. O padrão é OFF.The default is OFF. As estatísticas de execução são refletidas em sys.dm_exec_procedure_stats.The execution statistics are reflected in 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.Module-level execution statistics for natively compiled T-SQL modules are collected if either this option is ON, or if statistics collection is enabled through sp_xtp_control_proc_exec_stats.

XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }

APLICA-SE A: Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: Banco de dados SQL do AzureAzure SQL Database

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.Enables or disables collection of execution statistics at the statement-level for natively compiled T-SQL modules in the current database. O padrão é OFF.The default is OFF. As estatísticas de execução são refletidas em sys.dm_exec_query_stats e no Repositório de Consultas.The execution statistics are reflected in sys.dm_exec_query_stats and in Query Store.

As estatísticas de execução de nível de instrução 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_query_exec_stats.Statement-level execution statistics for natively compiled T-SQL modules are collected if either this option is ON, or if statistics collection is enabled through sp_xtp_control_query_exec_stats.

Para obter mais informações sobre monitoramento de desempenho de módulos Transact-SQLTransact-SQL compilados nativamente, confira Monitorando o desempenho de procedimentos armazenados compilados nativamente.For more information about performance monitoring of natively compiled Transact-SQLTransact-SQL modules see Monitoring Performance of Natively Compiled Stored Procedures.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

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.Allows you to enable or disable row mode memory grant feedback at the database scope while still maintaining database compatibility level 150 and higher. Os comentários de concessão de memória são um recurso que faz parte do Processamento de consulta inteligente introduzido no SQL Server 2017 (14.x)SQL Server 2017 (14.x) (o modo de linha é compatível com SQL Server 2019 (15.x)SQL Server 2019 (15.x) e Banco de dados SQL do AzureAzure SQL Database).Row mode memory grant feedback a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)SQL Server 2017 (14.x) (row mode is supported in SQL Server 2019 (15.x)SQL Server 2019 (15.x) and Banco de dados SQL do AzureAzure SQL Database).

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.For database compatibility level 140 or lower, this database scoped configuration has no effect.

BATCH_MODE_ON_ROWSTORE = { ON | OFF}BATCH_MODE_ON_ROWSTORE = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

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.Allows you to enable or disable batch mode on rowstore at the database scope while still maintaining database compatibility level 150 and higher. O modo de lote em rowstore é um recurso que faz parte da família de recursos de Processamento de consulta inteligente.Batch mode on rowstore is a feature that is part of Intelligent query processing feature family.

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.For database compatibility level 140 or lower, this database scoped configuration has no effect.

DEFERRED_COMPILATION_TV = { ON | OFF}DEFERRED_COMPILATION_TV = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

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.Allows you to enable or disable table variable deferred compilation at the database scope while still maintaining database compatibility level 150 and higher. Compilação adiada de variável de tabela é um recurso que faz parte da família de recursos Processamento de consulta inteligente.Table variable deferred compilation is a feature that is part of Intelligent query processing feature family.

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.For database compatibility level 140 or lower, this database scoped configuration has no effect.

ACCELERATED_PLAN_FORCING = { ON | OFF }ACCELERATED_PLAN_FORCING = { ON | OFF }

Aplica-se ao: SQL ServerSQL Server (Começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x))

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.Enables an optimized mechanism for query plan forcing, applicable to all forms of plan forcing, such as Query Store Force Plan, Automatic Tuning, or the USE PLAN query hint. O padrão é ON.The default is ON.

Observação

Não é recomendável desabilitar a imposição de plano acelerada.It is not recommended to disable accelerated plan forcing.

GLOBAL_TEMPORARY_TABLE_AUTODROP = { ON | OFF }GLOBAL_TEMPORARY_TABLE_AUTODROP = { ON | OFF }

APLICA-SE A: Banco de dados SQL do AzureAzure SQL Database (o recurso está na versão prévia pública)APPLIES TO: Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

Permite configurar a funcionalidade de soltar automaticamente para tabelas temporárias globais.Allows setting the auto-drop functionality for global temporary tables. 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 qualquer sessão.The default is ON, which means that the global temporary tables are automatically dropped when not in use by any session. Quando definido como OFF, as tabelas temporárias globais precisarão ser descartadas explicitamente usando uma instrução DROP TABLE, ou serão removidas automaticamente na reinicialização do servidor.When set to OFF, global temporary tables need to be explicitly dropped using a DROP TABLE statement or will be automatically dropped on server restart.

  • Com bancos de dados únicos e pools elásticos do Banco de dados SQL do AzureAzure SQL Database, essa opção pode ser definida nos bancos de dados de usuários individuais do servidor do Banco de Dados SQL.With Banco de dados SQL do AzureAzure SQL Database single databases and elastic pools, this option can be set in the individual user databases of the SQL Database server.
  • Em SQL ServerSQL Server e na instância gerenciada Banco de dados SQL do AzureAzure SQL Database, essa opção é definida em TempDB e a configuração dos bancos de dados de usuário individuais não tem nenhum efeito.In SQL ServerSQL Server and Banco de dados SQL do AzureAzure SQL Database managed instance, this option is set in TempDB and the setting of the individual user databases has no effect.

LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF}LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database

Permite que você habilite ou desabilite a infraestrutura de criação de perfil de consulta leve.Allows you to enable or disable the lightweight query profiling infrastructure. 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.The lightweight query profiling infrastructure (LWP) provides query performance data more efficiently than standard profiling mechanisms and is enabled by default.

VERBOSE_TRUNCATION_WARNINGS = { ON | OFF}VERBOSE_TRUNCATION_WARNINGS = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2019 (15.x)SQL Server 2019 (15.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) and Banco de dados SQL do AzureAzure SQL Database

Permite habilitar ou desabilitar a nova mensagem de erro String or binary data would be truncated.Allows you to enable or disable the new String or binary data would be truncated error message. O SQL Server 2019 (15.x)SQL Server 2019 (15.x) apresenta uma mensagem de erro nova e mais específica (2628) para esse cenário:SQL Server 2019 (15.x)SQL Server 2019 (15.x) introduces a new, more specific error message (2628) for this scenario:

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

Quando essa opção é definida como ON no nível de compatibilidade do banco de dados 150, os erros de truncamento acionam a nova mensagem de erro 2628 para fornecer mais contexto e simplificar o processo de solução de problemas.When set to ON under database compatibility level 150, truncation errors raise the new error message 2628 to provide more context and simplify the troubleshooting process.

Quando essa opção é definida como OFF no nível de compatibilidade do banco de dados 150, os erros de truncamento acionam a mensagem de erro anterior 8152.When set to OFF under database compatibility level 150, truncation errors raise the previous error message 8152.

Para o nível de compatibilidade do banco de dados 140 ou inferior, a mensagem de erro 2628 permanece uma mensagem de erro de aceitação que exige a habilitação do sinalizador de rastreamento 460 e essa configuração no escopo do banco de dados não tem nenhum efeito.For database compatibility level 140 or lower, error message 2628 remains an opt-in error message that requires trace flag 460 to be enabled, and this database scoped configuration has no effect.

LAST_QUERY_PLAN_STATS = { ON | OFF}LAST_QUERY_PLAN_STATS = { ON | OFF}

APLICA-SE A: SQL ServerSQL Server (A partir do SQL Server 2019 (15.x)SQL Server 2019 (15.x)) (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x)) (feature is in public preview)

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.Allows you to enable or disable collection of the last query plan statistics (equivalent to an actual execution plan) in sys.dm_exec_query_plan_stats.

PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTESPAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES

APLICA-SE A: Banco de Dados SQL do Azure somenteAPPLIES TO: Azure SQL Database only

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.The PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES option determines how long (in minutes) the resumable index is being paused before being automatically aborted by the engine.

  • O valor padrão é definido como 1 dia (1.440 minutos)The default value is set to 1 day (1440 minutes)
  • A duração mínima é definida como 1 minutoThe minimum duration is set to 1 minute
  • A duração máxima é de 71.582 minutosThe maximum duration is 71582 minutes
  • Quando definido como 0, uma operação em pausa nunca será anulada automaticamenteWhen set to 0, a paused operation will never automatically abort

O valor atual da opção é exibido em sys.database_scoped_configurations.The current value for this option is displayed in sys.database_scoped_configurations.

PermissõesPermissions

Requer ALTER ANY DATABASE SCOPE CONFIGURATION no banco de dados.Requires ALTER ANY DATABASE SCOPE CONFIGURATION on the database. Essa permissão pode ser concedida por um usuário com a permissão CONTROL em um banco de dados.This permission can be granted by a user with CONTROL permission on a database.

Comentários geraisGeneral Remarks

Embora seja possível configurar bancos de dados secundários para com definições de configuração de escopo diferentes do primário, todos os bancos de dados secundários usam a mesma configuração.While you can configure secondary databases to have different scoped configuration settings from their primary, all secondary databases use the same configuration. As configurações diferentes não podem ser configuradas para secundários individuais.Different settings cannot be configured for individual secondaries.

Executar essa instrução limpa o cache de procedimento no banco de dados atual, que significa que todas as consultas precisarão ser recompiladas.Executing this statement clears the procedure cache in the current database, which means that all queries have to recompile.

Para consultas de nome de três partes, as configurações da conexão de banco de dados atual da consulta são cumpridas, já para os módulos SQL (como procedimentos, funções e gatilhos), que são compilados no contexto atual do banco de dados, são usadas as opções do banco de dados no qual eles residem.For 3-part name queries, the settings for the current database connection for the query are honored, other than for SQL modules (such as procedures, functions, and triggers) that are compiled in the current database context and therefore uses the options of the database in which they reside.

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.The ALTER_DATABASE_SCOPED_CONFIGURATION event is added as a DDL event that can be used to fire a DDL trigger, and is a child of the ALTER_DATABASE_EVENTS trigger group.

Definições de configuração no escopo do banco de dados serão transferidas para o banco de dados, o que significa que, quando um determinado banco de dados é restaurado ou anexado, as definições de configuração existentes permanecem.Database scoped configuration settings will be carried over with the database, which means that when a given database is restored or attached, the existing configuration settings remain.

Começando com SQL Server 2019 (15.x)SQL Server 2019 (15.x) e em Banco de dados SQL do AzureAzure SQL Database, alguns nomes de opções foram alterados:Starting with SQL Server 2019 (15.x)SQL Server 2019 (15.x) and in Banco de dados SQL do AzureAzure SQL Database, some option names have changed:

  • DISABLE_INTERLEAVED_EXECUTION_TVF foi alterado para INTERLEAVED_EXECUTION_TVFDISABLE_INTERLEAVED_EXECUTION_TVF changed to INTERLEAVED_EXECUTION_TVF
  • DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK foi alterado para BATCH_MODE_MEMORY_GRANT_FEEDBACKDISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK changed to BATCH_MODE_MEMORY_GRANT_FEEDBACK
  • DISABLE_BATCH_MODE_ADAPTIVE_JOINS foi alterado para BATCH_MODE_ADAPTIVE_JOINSDISABLE_BATCH_MODE_ADAPTIVE_JOINS changed to BATCH_MODE_ADAPTIVE_JOINS

Limitações e RestriçõesLimitations and Restrictions

MAXDOPMAXDOP

As configurações granulares podem substituir as globais e o Resource Governor pode limitar a todas as outras configurações de MAXDOP.The granular settings can override the global ones and that resource governor can cap all other MAXDOP settings. A lógica para a configuração de MAXDOP é a seguinte:The logic for MAXDOP setting is the following:

  • A dica de consulta substitui tanto sp_configure quanto a configuração no escopo do banco de dados.Query hint overrides both the sp_configure and the database scoped configuration. Se o grupo de recursos MAXDOP estiver definido para o grupo de carga de trabalho:If the resource group MAXDOP is set for the workload group:

    • Se a dica de consulta for definida como zero (0), ela será substituída pela configuração do Resource Governor.If the query hint is set to zero (0), it is overridden by the resource governor setting.

    • Se a dica de consulta não for zero (0), ela será limitada pela configuração do Resource Governor.If the query hint is not zero (0), it is capped by the resource governor setting.

  • 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.The database scoped configuration (unless it's zero) overrides the sp_configure setting unless there is a query hint and is capped by the resource governor setting.

  • A configuração de sp_configure substituída pela configuração do Resource Governor.The sp_configure setting is overridden by the resource governor setting.

QUERY_OPTIMIZER_HOTFIXESQUERY_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)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.When QUERYTRACEON hint is used to enable the default query optimizer of SQL Server 7.0 through SQL Server 2012 (11.x)SQL Server 2012 (11.x) versions or query optimizer hotfixes, it would be an OR condition between the query hint and the database scoped configuration setting, meaning if either is enabled, the database scoped configurations apply.

DR de área geográficaGeo DR

Bancos de dados secundários legíveis (Grupos de Disponibilidade Always On e bancos de dados com replicação geográfica do Banco de dados SQL do AzureAzure SQL Database) usam o valor secundário verificando o estado do banco de dados.Readable secondary databases (Always On Availability Groups and Banco de dados SQL do AzureAzure SQL Database geo-replicated databases), use the secondary value by checking the state of the database. 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.Even though recompile does not occur on failover and technically the new primary has queries that are using the secondary settings, the idea is that the setting between primary and secondary only vary when the workload is different and therefore the cached queries are using the optimal settings, whereas new queries pick the new settings that are appropriate for them.

DacFxDacFx

Uma vez que ALTER DATABASE SCOPED CONFIGURATION é um novo recurso no Banco de dados SQL do AzureAzure SQL Database e no SQL ServerSQL Server (começando pelo SQL Server 2016 (13.x)SQL Server 2016 (13.x)) que afeta o esquema de banco de dados, exportações do esquema (com ou sem dados) não podem ser importadas para uma versão mais antiga do SQL ServerSQL Server, como SQL Server 2012 (11.x)SQL Server 2012 (11.x) ou SQL Server 2014 (12.x)SQL Server 2014 (12.x).Since ALTER DATABASE SCOPED CONFIGURATION is a new feature in Banco de dados SQL do AzureAzure SQL Database and SQL ServerSQL Server (starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) that affects the database schema, exports of the schema (with or without data) are not able to be imported into an older version of SQL ServerSQL Server, such as SQL Server 2012 (11.x)SQL Server 2012 (11.x) or SQL Server 2014 (12.x)SQL Server 2014 (12.x). Por exemplo, uma exportação para um DACPAC ou um BACPAC de um Banco de Dados SQLSQL Database ou de um banco de dados do SQL Server 2016 (13.x)SQL Server 2016 (13.x) que tiver usado esse novo recurso não poderá ser importada em um servidor de nível inferior.For example, an export to a DACPAC or a BACPAC from an Banco de Dados SQLSQL Database or SQL Server 2016 (13.x)SQL Server 2016 (13.x) database that used this new feature would not be able to be imported into a down-level server.

ELEVATE_ONLINEELEVATE_ONLINE

Essa opção é aplicável somente a instruções DDL com suporte a WITH (ONLINE = <syntax>).This option only applies to DDL statements that support the WITH (ONLINE = <syntax>). Índices XML não são afetados.XML indexes are not affected.

ELEVATE_RESUMABLEELEVATE_RESUMABLE

Essa opção é aplicável somente a instruções DDL com suporte a WITH (RESUMABLE = <syntax>).This option only applies to DDL statements that support the WITH (RESUMABLE = <syntax>). Índices XML não são afetados.XML indexes are not affected.

MetadadosMetadata

O Modo de Exibição do Sistema sys.database_scoped_configurations (Transact-SQL) fornece informações sobre as configurações no escopo em um banco de dados.The sys.database_scoped_configurations (Transact-SQL) system view provides information about scoped configurations within a database. As opções de configuração no escopo do banco de dados só aparecem em sys.database_scoped_configurations porque elas são substituições das configurações padrão de todo o servidor.Database-scoped configuration options only show up in sys.database_scoped_configurations as they are overrides to server-wide default settings. O Modo de Exibição do Sistema sys.configurations (Transact-SQL) mostra apenas as configurações de todo o servidor.The sys.configurations (Transact-SQL) system view only shows server-wide settings.

ExemplosExamples

Esses exemplos demonstram o uso de ALTER DATABASE SCOPED CONFIGURATIONThese examples demonstrate the use of ALTER DATABASE SCOPED CONFIGURATION

A.A. Conceder permissãoGrant Permission

Este exemplo concede a permissão necessária para executar ALTER DATABASE SCOPED CONFIGURATION ao usuário José.This example grant permission required to execute ALTER DATABASE SCOPED CONFIGURATION to user Joe.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION to [Joe] ;

B.B. Definir MAXDOPSet 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.This example sets MAXDOP = 1 for a primary database and MAXDOP = 4 for a secondary database in a geo-replication scenario.

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.This example sets MAXDOP for a secondary database to be the same as it is set for its primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;

C.C. Definir LEGACY_CARDINALITY_ESTIMATIONSet 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.This example sets LEGACY_CARDINALITY_ESTIMATION to ON for a secondary database in a geo-replication scenario.

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 o mesmo que está definido para seu banco de dados primário em um cenário de replicação geográfica.This example sets LEGACY_CARDINALITY_ESTIMATION for a secondary database as it is for its primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;

D.D. Definir PARAMETER_SNIFFINGSet PARAMETER_SNIFFING

Este exemplo define PARAMETER_SNIFFING como OFF para um banco de dados primário em um cenário de replicação geográfica.This example sets PARAMETER_SNIFFING to OFF for a primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;

Este exemplo define PARAMETER_SNIFFING como OFF para um banco de dados secundário em um cenário de replicação geográfica.This example sets PARAMETER_SNIFFING to OFF for a secondary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;

Este exemplo define PARAMETER_SNIFFING para um banco de dados secundário como o mesmo que está definido em seu banco de dados primário em um cenário de replicação geográfica.This example sets PARAMETER_SNIFFING for secondary database as it is on primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;

E.E. Definir QUERY_OPTIMIZER_HOTFIXESSet 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.Set QUERY_OPTIMIZER_HOTFIXES to ON for a primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON ;

F.F. Limpar o cache de procedimentoClear Procedure Cache

Este exemplo limpa o cache de procedimento (é possível somente para um banco de dados primário).This example clears the procedure cache (possible only for a primary database).

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

G.G. Definir IDENTITY_CACHESet IDENTITY_CACHE

APLICA-SE A: SQL ServerSQL Server (começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL Database (o recurso está em versão prévia pública)APPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

Este exemplo desabilita o cache de identidade.This example disables the identity cache.

ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE = OFF ;

H.H. Definir OPTIMIZE_FOR_AD_HOC_WORKLOADSSet OPTIMIZE_FOR_AD_HOC_WORKLOADS

APLICA-SE A: Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: Banco de dados SQL do AzureAzure SQL Database

Este exemplo habilita um stub de plano compilado para ser armazenado em cache quando um lote é compilado pela primeira vez.This example enables a compiled plan stub to be stored in cache when a batch is compiled for the first time.

ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I.I. Definir ELEVATE_ONLINESet ELEVATE_ONLINE

APLICA-SE A: Banco de dados SQL do AzureAzure SQL Database (o recurso está na versão prévia pública)APPLIES TO: Banco de dados SQL do AzureAzure SQL Database (feature is in public preview)

Este exemplo define ELEVATE_ONLINE como FAIL_UNSUPPORTED.This example sets ELEVATE_ONLINE to FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_ONLINE = FAIL_UNSUPPORTED ;

J.J. Definir ELEVATE_RESUMABLESet ELEVATE_RESUMABLE

APLICA-SE A: Banco de dados SQL do AzureAzure SQL Database e SQL Server 2019 (15.x)SQL Server 2019 (15.x) (o recurso está na versão prévia pública)APPLIES TO: Banco de dados SQL do AzureAzure SQL Database and SQL Server 2019 (15.x)SQL Server 2019 (15.x) (feature is in public preview)

Este exemplo define ELEVATE_RESUMABLE como WHEN_SUPPORTED.This example sets ELEVATE_RESUMABLE to WHEN_SUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_RESUMABLE = WHEN_SUPPORTED ;

K.K. Apagar um plano de consulta do cache do planoClear a query plan from the plan cache

APLICA-SE A: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x)) e Banco de dados SQL do AzureAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Banco de dados SQL do AzureAzure SQL Database

Este exemplo limpa um plano específico do cache de procedimentoThis example clears a specific plan from the procedure cache

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

L.L. Definir duração da pausaSet paused duration

APLICA-SE A: Banco de Dados SQL do Azure somenteAPPLIES TO: Azure SQL Database only

Este exemplo define a duração da pausa do índice retomável como 60 minutos.This example sets the resumable index paused duration to 60 minutes.

ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60

Recursos adicionaisAdditional Resources

Recursos de MAXDOPMAXDOP Resources

Recursos de LEGACY_CARDINALITY_ESTIMATIONLEGACY_CARDINALITY_ESTIMATION Resources

Recursos de PARAMETER_SNIFFINGPARAMETER_SNIFFING Resources

Recursos de QUERY_OPTIMIZER_HOTFIXESQUERY_OPTIMIZER_HOTFIXES Resources

Recursos ELEVATE_ONLINEELEVATE_ONLINE Resources

Diretrizes para operações de índice onlineGuidelines for Online Index Operations

Recursos ELEVATE_RESUMABLEELEVATE_RESUMABLE Resources

Diretrizes para operações de índice onlineGuidelines for Online Index Operations

Mais informaçõesMore information

sys.database_scoped_configurations sys.database_scoped_configurations
Recomendações e diretrizes para a opção de configuração "grau máximo de paralelismo" do SQL Server Recommendations and guidelines for the "max degree of parallelism" configuration option in SQL Server
sys.configurations sys.configurations
Exibições de catálogo de bancos de dados e de arquivos Databases and Files Catalog Views
Opções de configuração de servidor Server Configuration Options
Como funcionam as operações de índice online How Online Index Operations Work
Executar operações de índice online Perform Index Operations Online
ALTER INDEX (Transact-SQL) ALTER INDEX (Transact-SQL)
CREATE INDEX (Transact-SQL)CREATE INDEX (Transact-SQL)