Opções ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)

Define as opções de banco de dados em SQL ServerSQL Server, Banco de dados SQL do AzureAzure SQL Database e SQL Data WarehouseSQL Data Warehouse.Sets database options in SQL ServerSQL Server, Banco de dados SQL do AzureAzure SQL Database and SQL Data WarehouseSQL Data Warehouse. Para obter outras opções de ALTER DATABASE, confira ALTER DATABASE.For other ALTER DATABASE options, see ALTER DATABASE.

Clique em uma das guias a seguir para ver sintaxe, argumentos, comentários, permissões e exemplos de uma versão específica do SQL com a qual você está trabalhando.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you're working.

Para obter mais informações sobre as convenções de sintaxe, consulte Convenções de sintaxe Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Clique em um produto!Click a product!

Na linha a seguir, clique em qualquer nome de produto de seu interesse.In the following row, click whichever product name you're interested in. O clique exibe conteúdo diferente aqui nesta página da Web, apropriado para qualquer produto no qual você clicar.The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

SQL ServerSQL Server

O espelhamento de banco de dados, Grupos de disponibilidade AlwaysOnAlways On availability groups e os níveis de compatibilidade são opções SET, mas são descritos em artigos separados devido ao seu tamanho.Database mirroring, Grupos de disponibilidade AlwaysOnAlways On availability groups, and compatibility levels are SET options but are described in separate articles because of their length. Para saber mais, confira Espelhamento de Banco de Dados de ALTER DATABASE, ALTER DATABASE SET HADR e Nível de compatibilidade de ALTER DATABASE.For more information, see ALTER DATABASE Database Mirroring, ALTER DATABASE SET HADR, and ALTER DATABASE Compatibility Level.

Configurações com escopo de banco de dados são usadas para definir várias configurações de banco de dados no nível do banco de dados individual.Database scoped configurations are used to set several database configurations at the individual database level. Para obter mais informações, veja ALTERAR A CONFIGURAÇÃO NO ESCOPO DO BANCO DE DADOS.For more information, see ALTER DATABASE SCOPED CONFIGURATION.

Observação

Muitas opções de definição de banco de dados podem ser configuradas para a sessão atual usando Instruções SET e são configuradas com frequência por aplicativos quando eles são conectados.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. As opções definidas no nível de sessão substituem os valores de ALTER DATABASE SET .Session level set options override the ALTER DATABASE SET values. As opções de banco de dados descritas abaixo são os valores que podem ser definidos para as sessões que não fornecem explicitamente outros valores de definição de conjunto.The database options described below are values that can be set for sessions that don't explicitly provide other set option values.

SintaxeSyntax

ALTER DATABASE { database_name | CURRENT }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}

<option_spec> ::=
{
    <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <containment_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <external_access_option>
  | FILESTREAM ( <FILESTREAM_option> )
  | <HADR_options>
  | <mixed_page_allocation_option>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <remote_data_archive_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;

<auto_option> ::=
{
    AUTO_CLOSE { ON | OFF }
  | AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
  AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
  CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<containment_option> ::=
   CONTAINMENT = { NONE | PARTIAL }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
  | CURSOR_DEFAULT { LOCAL | GLOBAL }
}

<database_mirroring_option>
  ALTER DATABASE Database Mirroring

<date_correlation_optimization_option> ::=
    DATE_CORRELATION_OPTIMIZATION { ON | OFF }

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF | SUSPEND | RESUME }

<db_state_option> ::=
    { ONLINE | OFFLINE | EMERGENCY }

<db_update_option> ::=
    { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
    { SINGLE_USER | RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::=
    DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<external_access_option> ::=
{
    DB_CHAINING { ON | OFF }
  | TRUSTWORTHY { ON | OFF }
  | DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
  | NESTED_TRIGGERS = { OFF | ON }
  | TRANSFORM_NOISE_WORDS = { OFF | ON }
  | TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}
<FILESTREAM_option> ::=
{
    NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL
  | DIRECTORY_NAME = <directory_name>
}
<HADR_options> ::=
    ALTER DATABASE SET HADR

<mixed_page_allocation_option> ::=
    MIXED_PAGE_ALLOCATION { OFF | ON }

<parameterization_option> ::=
    PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
    QUERY_STORE
    {
          = OFF
        | = ON [ ( <query_store_option_list> [,...n] ) ]
        | ( < query_store_option_list> [,...n] )
        | CLEAR [ ALL ]
    }
}

<query_store_option_list> ::=
{
      OPERATION_MODE = { READ_WRITE | READ_ONLY }
    | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
    | DATA_FLUSH_INTERVAL_SECONDS = number
    | MAX_STORAGE_SIZE_MB = number
    | INTERVAL_LENGTH_MINUTES = number
    | SIZE_BASED_CLEANUP_MODE = { AUTO | OFF }
    | QUERY_CAPTURE_MODE = { ALL | AUTO | CUSTOM | NONE }
    | MAX_PLANS_PER_QUERY = number
    | WAIT_STATS_CAPTURE_MODE = { ON | OFF }
    | QUERY_CAPTURE_POLICY = ( <query_capture_policy_option_list> [,...n] )
}

<query_capture_policy_option_list> :: =
{
    STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
    | EXECUTION_COUNT = number
    | TOTAL_COMPILE_CPU_TIME_MS = number
    | TOTAL_EXECUTION_CPU_TIME_MS = number      
}

<recovery_option> ::=
{
    RECOVERY { FULL | BULK_LOGGED | SIMPLE }
  | TORN_PAGE_DETECTION { ON | OFF }
  | PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}

<remote_data_archive_option> ::=
{
    REMOTE_DATA_ARCHIVE =
    {
        ON ( SERVER = <server_name> ,
                  {CREDENTIAL = <db_scoped_credential_name>
                     | FEDERATED_SERVICE_ACCOUNT = ON | OFF
                  }
               )
      | OFF
    }
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | DISABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS  
  | HONOR_BROKER_PRIORITY { ON | OFF}
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<target_recovery_time_option> ::=
    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

<termination>::=
{
    ROLLBACK AFTER number [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}
<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

ArgumentosArguments

database_name database_name
É o nome do banco de dados a ser modificado.Is the name of the database to be modified.

CURRENTCURRENT
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Executa a ação no banco de dados atual.Runs the action in the current database. CURRENT não é compatível com todas as opções em todos os contextos.CURRENT is not supported for all options in all contexts. Se CURRENT falhar, forneça o nome do banco de dados.If CURRENT fails, provide the database name.

<auto_option> ::=<auto_option> ::=

Controla opções automáticas.Controls automatic options.

AUTO_CLOSE { ON | OFF }AUTO_CLOSE { ON | OFF }
ONON
O banco de dados é desligado normalmente e seus recursos são liberados após a saída do último usuário.The database is shut down cleanly and its resources are freed after the last user exits.

O banco de dados é reaberto automaticamente quando um usuário tenta usá-lo de novo.The database automatically reopens when a user tries to use the database again. Por exemplo, quando é emitida uma instrução USE database_name.For example, by issuing a USE database_name statement. O banco de dados pode desligar corretamente com AUTO_CLOSE definido como ON.The database may shut down cleanly with AUTO_CLOSE set to ON. Se for assim, o banco de dados não será reaberto até que um usuário tente usar o banco de dados na próxima vez que o Mecanismo de Banco de DadosDatabase Engine for reiniciado.If so, the database doesn't reopen until a user tries to use the database the next time the Mecanismo de Banco de DadosDatabase Engine restarts.

OFFOFF
O banco de dados permanece aberto após a saída do último usuário.The database remains open after the last user exits.

A opção AUTO_CLOSE é útil para bancos de dados desktop porque permite que os arquivos de banco de dados sejam gerenciados como arquivos comuns.The AUTO_CLOSE option is useful for desktop databases because it allows for database files to be managed as regular files. Eles podem ser movidos, copiados para fazer backups ou mesmo enviados por email a outros usuários.They can be moved, copied to make backups, or even e-mailed to other users. O processo AUTO_CLOSE é assíncrono; abrir e fechar o banco de dados repetidamente não mais prejudica o desempenho.The AUTO_CLOSE process is asynchronous; repeatedly opening and closing the database doesn't reduce performance.

Observação

A opção AUTO_CLOSE não está disponível em um Banco de Dados Independente nem em Banco de Dados SQLSQL Database.The AUTO_CLOSE option isn't available in a Contained Database or on Banco de Dados SQLSQL Database. É possível determinar o status dessa opção examinando-se a coluna is_auto_close_on na exibição do catálogo sys.databases ou a propriedade IsAutoClose da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_auto_close_on column in the sys.databases catalog view or the IsAutoClose property of the DATABASEPROPERTYEX function.

Quando AUTO_CLOSE for ON, algumas colunas da exibição de catálogo sys.databases e da função DATABASEPROPERTYEX retornarão NULL, pois o banco de dados não está disponível para recuperar os dados.When AUTO_CLOSE is ON, some columns in the sys.databases catalog view and DATABASEPROPERTYEX function will return NULL because the database is unavailable to retrieve the data. Para resolver isso, execute uma instrução USE para abrir o banco de dados.To resolve this, execute a USE statement to open the database.

O espelhamento do banco de dados requer AUTO_CLOSE OFF.Database mirroring requires AUTO_CLOSE OFF.

Quando o banco de dados é definido como AUTOCLOSE = ON, uma operação que inicia o desligamento automático do banco de dados limpa o cache do plano da instância do SQL ServerSQL Server.When the database is set to AUTOCLOSE = ON, an operation that initiates an automatic database shutdown clears the plan cache for the instance of SQL ServerSQL Server. A limpeza do cache de planos gera uma recompilação de todos os planos de execução subsequentes e pode provocar uma redução repentina e temporária do desempenho de consultas.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. No SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 e superior, para cada armazenamento em cache limpo do cache de planos, o log de erros do SQL ServerSQL Server contém a seguinte mensagem informativa: "O SQL ServerSQL Server encontrou %d ocorrências de liberação de armazenamento em cache para o armazenamento em cache '%s' (parte do cache de planos) devido a operações de reconfiguração ou manutenção do banco de dados".In SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 2 and higher, for each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Essa mensagem é registrada a cada cinco minutos, contanto que o cache seja liberado dentro desse intervalo de tempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
O Otimizador de Consulta cria estatísticas em colunas únicas em predicados de consulta, conforme necessário, para melhorar os planos e o desempenho de consulta.The Query Optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estatísticas de coluna única são criadas quando o otimizador de consulta compila consultas.These single-column statistics are created when the Query Optimizer compiles queries. As estatísticas de coluna única só são criadas em colunas que ainda não são a primeira de um objeto de estatísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

OFFOFF
O otimizador de consulta não cria estatísticas em colunas únicas em predicados de consulta quando está compilando as consultas.The Query Optimizer doesn't create statistics on single columns in query predicates when it is compiling queries. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_create_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoCreateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

INCREMENTAL = ON | OFFINCREMENTAL = ON | OFF
Aplica-se a: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) ao SQL Server 2017SQL Server 2017) e Banco de dados SQL do AzureAzure SQL DatabaseApplies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017) and Banco de dados SQL do AzureAzure SQL Database

Defina AUTO_CREATE_STATISTICS como ON e INCREMENTAL como ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Essa configuração cria estatísticas criadas automaticamente como incrementais sempre que há suporte para estatísticas incrementais.This setting creates automatically created stats as incremental whenever incremental stats are supported. O valor padrão é OFF.The default value is OFF. Para saber mais, veja CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Os arquivos de banco de dados são candidatos à redução periódica.The database files are candidates for periodic shrinking.

Arquivos de dados e arquivos de log podem ser reduzidos automaticamente.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduzirá o tamanho do log de transações somente se o banco de dados estiver definido como modelo de recuperação SIMPLE ou se o log tiver sido submetido a backup.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Quando definido como OFF, os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

A opção AUTO_SHRINK faz com que os arquivos sejam reduzidos quando mais que 25% do arquivo contém espaço não utilizado.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. A opção faz com que o arquivo diminua em um dos dois tamanhos.The option causes the file to shrink to one of two sizes. Ele reduz o que for maior:It shrinks to whichever is larger:

  • o tamanho em que 25 por cento do arquivo é o espaço não utilizadothe size where 25 percent of the file is unused space
  • o tamanho do arquivo quando ele foi criadothe size of the file when it was created

Não é possível reduzir um banco de dados somente leitura.You can't shrink a read-only database.

OFFOFF
Os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Você pode determinar o status dessa opção examinando a coluna is_auto_shrink_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoShrink da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Observação

A opção AUTO_SHRINK não está disponível em um banco de dados independente.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que o otimizador de consulta atualiza as estatísticas quando elas são usadas por uma consulta e quando podem estar desatualizadas.Specifies that the Query Optimizer updates statistics when they're used by a query and when they might be out-of-date. As estatísticas ficam desatualizadas depois que operações de inserção, atualização, exclusão ou mesclagem alteram a distribuição de dados na tabela ou na exibição indexada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. O otimizador de consulta determina quando estatísticas podem estar desatualizadas contando o número de modificações de dados desde a última atualização das estatísticas e comparando o número de modificações a um limite.The Query Optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. O limite se baseia no número de linhas na tabela ou na exibição indexada.The threshold is based on the number of rows in the table or indexed view.

O otimizador de consulta verifica se há estatísticas desatualizadas antes de compilar uma consulta e executa um plano de consulta armazenado em cache.The Query Optimizer checks for out-of-date statistics before it compiles a query and it runs a cached query plan. O otimizador de consulta usa as colunas, as tabelas e as exibições indexadas no predicado de consulta para determinar quais estatísticas podem estar desatualizadas.The Query Optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. O otimizador de consulta determina essas informações antes de compilar uma consulta.The Query Optimizer determines this information before it compiles a query. Antes de executar um plano de consulta em cache, o Mecanismo de Banco de DadosDatabase Engine verifica se o plano de consulta faz referência a estatísticas atualizadas.Before executing a cached query plan, the Mecanismo de Banco de DadosDatabase Engine verifies that the query plan references up-to-date statistics.

A opção AUTO_UPDATE_STATISTICS se aplica a estatísticas criadas para índices, colunas únicas em predicados de consulta, além de estatísticas criadas por meio da instrução CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Essa opção também se aplica a estatísticas filtradas.This option also applies to filtered statistics.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

Use a opção AUTO_UPDATE_STATISTICS_ASYNC para especificar se as estatísticas são atualizadas de forma síncrona ou assíncrona.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que o otimizador de consulta não atualiza as estatísticas quando elas são usadas por uma consulta.Specifies that the Query Optimizer doesn't update statistics when they're used by a query. O otimizador de consulta também não atualiza estatísticas quando elas podem estar desatualizadas.The Query Optimizer also doesn't update statistics when they might be out-of-date. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoUpdateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são assíncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. O otimizador de consulta não aguarda a conclusão das atualizações de estatísticas para compilar consultas.The Query Optimizer doesn't wait for statistics updates to complete before it compiles queries.

Definir essa opção como ON não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Por padrão, a opção AUTO_UPDATE_STATISTICS_ASYNC é definida como OFF e o otimizador de consulta atualiza estatísticas de forma síncrona.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and the Query Optimizer updates statistics synchronously.

OFFOFF
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são síncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. O otimizador de consulta aguarda a conclusão das atualizações de estatísticas para compilar consultas.The Query Optimizer waits for statistics updates to complete before it compiles queries.

Definir essa opção como OFF não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_async_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Para obter mais informações que descrevem quando usar atualizações de estatísticas síncronas ou assíncronas, veja a seção que "Usando as opções de estatísticas em todo o banco de dados" em Estatísticas.For more information that describes when to use synchronous or asynchronous statistics updates, see the section "Using the Database-Wide Statistics Options" in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Aplica-se ao: SQL ServerSQL Server (Começando pelo SQL Server 2017 (14.x)SQL Server 2017 (14.x))Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x))

Habilita ou desabilita a opção de FORCE_LAST_GOOD_PLAN ajuste automático.Enables or disables FORCE_LAST_GOOD_PLAN automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
O Mecanismo de Banco de DadosDatabase Engine força automaticamente o último plano sabidamente válido nas consultas Transact-SQLTransact-SQL em que o novo plano SQL provoca regressões de desempenho.The Mecanismo de Banco de DadosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new SQL plan causes performance regressions. O Mecanismo de Banco de DadosDatabase Engine monitora continuamente o desempenho de consultas da consulta Transact-SQLTransact-SQL com o plano forçado.The Mecanismo de Banco de DadosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan.

Se não houver ganhos de desempenho, o Mecanismo de Banco de DadosDatabase Engine continuará usando o último plano válido conhecido.If there are performance gains, the Mecanismo de Banco de DadosDatabase Engine will keep using last known good plan. Se os ganhos de desempenho não forem detectados, o Mecanismo de Banco de DadosDatabase Engine produzirá um novo plano SQL.If performance gains are not detected, the Mecanismo de Banco de DadosDatabase Engine will produce a new SQL plan. A instrução falhará se o Repositório de Consultas não estiver habilitado ou não estiver no modo de Leitura-Gravação.The statement will fail if Query Store isn't enabled or if it isn't in Read-Write mode.

OFFOFF
O Mecanismo de Banco de DadosDatabase Engine relata possíveis regressões de desempenho de consulta causadas por alterações de plano SQL na exibição sys.dm_db_tuning_recommendations.The Mecanismo de Banco de DadosDatabase Engine reports potential query performance regressions caused by SQL plan changes in sys.dm_db_tuning_recommendations view. No entanto, essas recomendações não são aplicadas automaticamente.However, these recommendations are not automatically applied. Usuário pode monitorar recomendações ativas e corrigir problemas identificados aplicando scripts Transact-SQLTransact-SQL mostrados na exibição.User can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Este é o valor padrão.This is the default value.

<change_tracking_option> ::= <change_tracking_option> ::=
Aplica-se a: SQL ServerSQL Server e Banco de Dados SQLSQL DatabaseApplies to: SQL ServerSQL Server and Banco de Dados SQLSQL Database

Controla as opções de controle de alterações.Controls change tracking options. É possível habilitar o controle de alterações, definir opções, alterar opções e desabilitar o controle de alterações.You can enable change tracking, set options, change options, and disable change tracking. Para obter exemplos, confira a seção Exemplos mais adiante neste artigo.For examples, see the Examples section later in this article.

ONON
Habilita o controle de alterações no banco de dados.Enables change tracking for the database. Quando você habilita o controle de alterações, também pode definir as opções AUTO CLEANUP e CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
As informações de controle de alterações são removidas automaticamente após o período de retenção especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Os dados de controle de alterações não são removidos do banco de dados.Change tracking data isn't removed from the database.

CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES }

Especifica o período mínimo para manter as informações de controle de alterações no banco de dados.Specifies the minimum period for keeping change tracking information in the database. Os dados serão removidos somente quando o valor AUTO_CLEANUP for ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period é um inteiro que especifica o componente numérico do período de retenção.retention_period is an integer that specifies the numerical component of the retention period.

O período de retenção padrão é de 2 dias.The default retention period is 2 days. O período de retenção mínimo é de 1 minuto.The minimum retention period is 1 minute. O tipo de retenção padrão é DAYS.The default retention type is DAYS.

OFFOFF
Desabilita o controle de alterações no banco de dados.Disables change tracking for the database. Desabilite o controle de alterações em todas as tabelas antes de desabilitá-lo no banco de dados.Disable change tracking on all tables before you disable change tracking off the database.

<containment_option> ::= <containment_option> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Controla opções de contenção de banco de dados.Controls database containment options.

CONTAINMENT = { NONE | PARTIAL}CONTAINMENT = { NONE | PARTIAL}
NenhumaNONE
O banco de dados não é um banco de dados independente.The database isn't a contained database.

PARTIALPARTIAL
O banco de dados é um banco de dados independente.The database is a contained database. Haverá falha na configuração da contenção do banco de dados como parcial, se o banco de dados tiver replicação, Change Data Capture ou controle de alterações habilitados.Setting database containment to partial will fail if the database has replication, change data capture, or change tracking enabled. A verificação de erros é interrompida depois de uma falha.Error checking stops after one failure. Para obter mais informações sobre bancos de dados independentes, consulte Contained Databases.For more information about contained databases, see Contained Databases.

<cursor_option> ::=<cursor_option> ::=

Controla opções de cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos os cursores abertos quando você confirma ou reverte uma transação são fechados.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Os cursores permanecem abertos quando uma transação é confirmada; uma transação revertida fecha todos os cursores, exceto aqueles definidos como INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

As configurações no nível de conexão que são definidas com o uso da instrução SET substituem a configuração de banco de dados padrão por CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Clientes ODBC e OLE DB emitem uma configuração CURSOR_CLOSE_ON_COMMIT de instrução SET no nível de conexão como desativada para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

É possível determinar o status dessa opção examinando-se a coluna is_cursor_close_on_commit_on na exibição do catálogo sys.databases ou a propriedade IsCloseCursorsOnCommitEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function.

CURSOR_DEFAULT { LOCAL | GLOBAL }CURSOR_DEFAULT { LOCAL | GLOBAL }
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla se o escopo do cursor usa LOCAL ou GLOBAL.Controls whether cursor scope uses LOCAL or GLOBAL.

LOCALLOCAL
Quando você especifica LOCAL e não define um cursor como GLOBAL ao criar o cursor, o escopo do cursor é local.When you specify LOCAL and don't define a cursor as GLOBAL when you create the cursor, the cursor's scope is local. Especificamente, o escopo é local para o lote, para o procedimento armazenado ou para o gatilho em que você criou o cursor.Specifically, the scope is local to the batch, stored procedure, or trigger in which you created the cursor. O nome de cursor é válido somente dentro desse escopo.The cursor name is valid only within this scope.

O cursor pode ser referenciado por meio de variáveis de cursor local no lote, no procedimento armazenado ou no gatilho, ou em um parâmetro OUTPUT do procedimento armazenado.The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. O cursor é implicitamente desalocado quando o lote, o procedimento armazenado ou o gatilho termina.The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends. O cursor é desalocado a menos que tenha sido passado de volta em um parâmetro OUTPUT.The cursor is deallocated unless it was passed back in an OUTPUT parameter. O cursor pode ser passado de volta em um parâmetro OUTPUT.The cursor might be passed back in an OUTPUT parameter. Se o cursor passar de volta dessa forma, ele será desalocado quando a última variável que faz referência ao cursor for desalocada ou sair do escopo.If the cursor passes back this way, the cursor is deallocated when the last variable that references the cursor is deallocated or goes out of scope.

GLOBALGLOBAL
Quando GLOBAL é especificado e um cursor não é definido como LOCAL ao ser criado, o escopo do cursor é global para a conexão.When GLOBAL is specified, and a cursor isn't defined as LOCAL when created, the scope of the cursor is global to the connection. O nome do cursor pode ser referenciado em qualquer procedimento armazenado ou lote executado pela conexão.The cursor name can be referenced in any stored procedure or batch executed by the connection.

O cursor é implicitamente desalocado somente na desconexão.The cursor is implicitly deallocated only at disconnect. Para saber mais, confira DECLARE CURSOR.For more information, see DECLARE CURSOR.

Você pode determinar o status dessa opção examinando a coluna is_local_cursor_default na exibição do catálogo sys.databases.You can determine this option's status by examining the is_local_cursor_default column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsLocalCursorsDefault da função DATABASEPROPERTYEX.You can also determine the status by examining the IsLocalCursorsDefault property of the DATABASEPROPERTYEX function.

<database_mirroring> <database_mirroring>
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Veja as descrições de argumentos em Espelhamento de banco de dados ALTER DATABASE.For the argument descriptions, see ALTER DATABASE Database Mirroring.

<date_correlation_optimization_option> ::= <date_correlation_optimization_option> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla a opção date_correlation_optimization.Controls the date_correlation_optimization option.

DATE_CORRELATION_OPTIMIZATION { ON | OFF }DATE_CORRELATION_OPTIMIZATION { ON | OFF }
ONON
SQL ServerSQL Server mantém as estatísticas de correlação em que uma restrição FOREIGN KEY vincula duas tabelas quaisquer no banco de dados e as tabelas têm colunas datetime.maintains correlation statistics where a FOREIGN KEY constraint links any two tables in the database and the tables have datetime columns.

OFFOFF
As estatísticas de correlação não são mantidas.Correlation statistics are not maintained.

Para que seja possível definir DATE_CORRELATION_OPTIMIZATION como ON, não deve haver nenhuma conexão ativa com o banco de dados exceto aquela que está executando a instrução ALTER DATABASE.To set DATE_CORRELATION_OPTIMIZATION to ON, there must be no active connections to the database except for the connection that is executing the ALTER DATABASE statement. Depois, há suporte a várias conexões.Afterwards, multiple connections are supported.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_date_correlation_on na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_date_correlation_on column in the sys.databases catalog view.

<db_encryption_option> ::=<db_encryption_option> ::=

Controla o estado de criptografia do banco de dados.Controls the database encryption state.

ENCRYPTION {ON | OFF | SUSPEND | RESUME}ENCRYPTION {ON | OFF | SUSPEND | RESUME}
ONON
Define o banco de dados a ser criptografado.Sets the database to be encrypted.

OFFOFF
Define o banco de dados a não ser criptografado.Sets the database to not be encrypted.

SUSPENDSUSPEND
Aplica-se ao: SQL ServerSQL Server (Começando pelo Versão prévia do SQL Server 2019SQL Server 2019 preview)Applies to: SQL ServerSQL Server (Starting with Versão prévia do SQL Server 2019SQL Server 2019 preview)
Pode ser usado para pausar o exame de criptografia depois que a Transparent Data Encryption é habilitada ou desabilitada ou depois que a chave de criptografia é alterada.Can be used to pause the encryption scan after Transparent Data Encryption has been enabled or disabled, or after the encryption key has been changed.

RESUMERESUME
Aplica-se ao: SQL ServerSQL Server (Começando pelo Versão prévia do SQL Server 2019SQL Server 2019 preview)Applies to: SQL ServerSQL Server (Starting with Versão prévia do SQL Server 2019SQL Server 2019 preview)
Pode ser usado para retomar um exame de criptografia anteriormente em pausa.Can be used to resume a previously paused encryption scan.

Para saber mais sobre criptografia de banco de dados, confira Transparent Data Encryption e Transparent Data Encryption com o Banco de Dados SQL do Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quando a criptografia estiver habilitada no nível de banco de dados, todos os grupos de arquivos serão criptografados.When encryption is enabled at the database level, all filegroups will be encrypted. Qualquer novo grupo de arquivos herdará a propriedade criptografada.Any new filegroups will inherit the encrypted property. Se algum grupo de arquivos do banco de dados for definido como READ ONLY, haverá falha na operação de criptografia de banco de dados.If any filegroups in the database are set to READ ONLY, the database encryption operation will fail.

É possível ver o estado da criptografia do banco de dados, bem como o estado do exame de criptografia usando a exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.You can see the encryption state of the database as well as the state of the encryption scan by using the sys.dm_database_encryption_keys dynamic management view.

<db_state_option> ::= <db_state_option> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla o estado do banco de dados.Controls the state of the database.

OFFLINEOFFLINE
O banco de dados é fechado, desligado normalmente e marcado como offline.The database is closed, shut down cleanly, and marked offline. O banco de dados não pode ser modificado enquanto estiver offline.The database can't be modified while it's offline.

ONLINEONLINE
O banco de dados está aberto e disponível para uso.The database is open and available for use.

EMERGENCYEMERGENCY
O banco de dados está marcado como READ_ONLY, o log está desabilitado e o acesso é limitado aos membros da função de servidor fixa sysadmin.The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY é usado principalmente para a solução de problemas.EMERGENCY is primarily used for troubleshooting purposes. Por exemplo, um banco de dados marcado como suspeito devido a um arquivo de log corrompido pode ser definido com o estado EMERGENCY.For example, a database marked as suspect because of a corrupted log file can be set to the EMERGENCY state. Essa configuração permite habilitar o acesso somente leitura do administrador do sistema ao banco de dados.This setting could enable the system administrator read-only access to the database. Apenas membros da função de servidor fixa sysadmin podem definir um banco de dados com o estado EMERGENCY.Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.

Observação

Permissões: a permissão ALTER DATABASE do banco de dados de assunto é necessária para alterar um banco de dados para o estado offline ou de emergência.Permissions: ALTER DATABASE permission for the subject database is required to change a database to the offline or emergency state. A permissão ALTER ANY DATABASE no nível do servidor é necessária para mover um banco de dados de offline para online.The server level ALTER ANY DATABASE permission is required to move a database from offline to online.

Você pode determinar o status dessa opção examinando as colunas state e state_desc na exibição de catálogo sys.databases.You can determine this option's status by examining the state and state_desc columns in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade Status da função DATABASEPROPERTYEX.You can also determine the status by examining the Status property of the DATABASEPROPERTYEX function. Para obter mais informações, consulte Database States.For more information, see Database States.

Um banco de dados marcado como RESTORING não pode ser definido como OFFLINE, ONLINE ou EMERGENCY.A database marked as RESTORING can't be set to OFFLINE, ONLINE, or EMERGENCY. Um banco de dados pode estar no estado RESTORING durante uma operação de restauração ativa ou quando uma operação de restauração de um banco de dados ou arquivo de log falhar devido a um arquivo de backup corrompido.A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

<db_update_option> ::=<db_update_option> ::=

Controla se atualizações são permitidas no banco de dados.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Os usuários podem ler dados do banco de dados, mas não os modificar.Users can read data from the database but not modify it.

Observação

Para melhorar o desempenho da consulta, atualize as estatísticas antes de configurar um banco de dados como READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Se forem necessárias estatísticas adicionais depois de um banco de dados ser definido como READ_ONLY, o Mecanismo de Banco de DadosDatabase Engine criará estatísticas no tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Mecanismo de Banco de DadosDatabase Engine will create statistics in tempdb. Para obter mais informações sobre estatísticas para um banco de dados somente leitura, veja Estatísticas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
O banco de dados está disponível para operações de leitura e gravação.The database is available for read and write operations.

Para alterar esse estado, é necessário ter acesso exclusivo ao banco de dados.To change this state, you must have exclusive access to the database. Para obter mais informações, consulte a cláusula SINGLE_USER.For more information, see the SINGLE_USER clause.

Observação

Nos bancos de dados federados do Banco de Dados SQLSQL Database, SET { READ_ONLY | READ_WRITE } é desabilitado.On Banco de Dados SQLSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::=<db_user_access_option> ::=

Controla o acesso de usuários ao banco de dados.Controls user access to the database.

SINGLE_USERSINGLE_USER
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Especifica que somente um usuário por vez pode acessar o banco de dados.Specifies that only one user at a time can access the database. Se você especificar SINGLE_USER e outros usuários se conectarem ao banco de dados, a instrução ALTER DATABASE será bloqueada até que todos os usuários se desconectem do banco de dados especificado.If you specify SINGLE_USER and other users connect to the database, the ALTER DATABASE statement is blocked until all users disconnect from the specified database. Para substituir esse comportamento, veja a cláusula WITH <termination>.To override this behavior, see the WITH <termination> clause.

O banco de dados permanecerá no modo SINGLE_USER, mesmo que o usuário que definiu a opção saia do serviço. Nesse momento, um usuário diferente, mas somente um, poderá se conectar ao banco de dados.The database remains in SINGLE_USER mode even if the user that set the option signs out. At that point, a different user, but only one, can connect to the database.

Antes de definir o banco de dados como SINGLE_USER, verifique se a opção AUTO_UPDATE_STATISTICS_ASYNC está definida como OFF.Before you set the database to SINGLE_USER, verify the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. Quando definido como ON, o thread em segundo plano usado para a atualização de estatísticas estabelece uma conexão com o banco de dados e não é possível acessar o banco de dados em modo de usuário único.When set to ON, the background thread used to update statistics takes a connection against the database, and you will be unable to access the database in single-user mode. Para exibir o status dessa opção, consulte a coluna is_auto_update_stats_async_on na exibição do catálogo sys.databases.To view the status of this option, query the is_auto_update_stats_async_on column in the sys.databases catalog view. Se a opção estiver definida como ON, execute as tarefas a seguir:If the option is set to ON, perform the following tasks:

  1. Defina AUTO_UPDATE_STATISTICS_ASYNC como OFF.Set AUTO_UPDATE_STATISTICS_ASYNC to OFF.

  2. Verifique se há estatísticas assíncronas ativas, examinando a exibição de gerenciamento dinâmico sys.dm_exec_background_job_queue.Check for active asynchronous statistics jobs by querying the sys.dm_exec_background_job_queue dynamic management view.

Se houver tarefas ativas, permita que as tarefas sejam concluídas ou as termine manualmente usando KILL STATS JOB.If there are active jobs, either allow the jobs to complete or manually terminate them by using KILL STATS JOB.

RESTRICTED_USERRESTRICTED_USER
Permite que somente os membros da função de banco de dados fixa db_owner e das funções de servidor fixa dbcreator e sysadmin se conectem ao banco de dados.Allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database. RESTRICTED_USER não limita seu número.RESTRICTED_USER doesn't limit their number. Desconecte todas as conexões com o banco de dados usando o período especificado pela cláusula de término da instrução ALTER DATABASE.Disconnect all connections to the database using the timeframe specified by the ALTER DATABASE statement's termination clause. Depois que o banco de dados fizer a transição para o estado RESTRICTED_USER, as tentativas de conexão realizadas por usuários não qualificados serão recusadas.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused.

MULTI_USERMULTI_USER
Todos os usuários com permissões apropriadas para se conectar ao banco de dados são permitidos.All users that have the appropriate permissions to connect to the database are allowed.

Você pode determinar o status dessa opção examinando a coluna user_access na exibição do catálogo sys.databases.You can determine this option's status by examining the user_access column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade UserAccess da função DATABASEPROPERTYEX.You can also determine the status by examining the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::= <delayed_durability_option> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2014 (12.x)SQL Server 2014 (12.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017)

Controla se as transações são confirmadas completamente duráveis ou duráveis atrasadas.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas as transações após SET DISABLED são completamente duráveis.All transactions following SET DISABLED are fully durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas as transações após SET ALLOWED são completamente duráveis ou duráveis atrasadas, dependendo da opção de durabilidade definida no bloco atômico ou na instrução de confirmação.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Todas as transações após SET FORCED são duráveis atrasadas.All transactions following SET FORCED are delayed durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

<external_access_option> ::= <external_access_option> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla se o banco de dados pode ser acessado por recursos externos, como objetos de outro banco de dados.Controls whether the database can be accessed by external resources, such as objects from another database.

DB_CHAINING { ON | OFF }DB_CHAINING { ON | OFF }
ONON
O banco de dados pode ser a origem ou o destino de uma cadeia de propriedade de bancos de dados.Database can be the source or target of a cross-database ownership chain.

OFFOFF
O banco de dados não pode participar do encadeamento de propriedades de bancos de dados.Database can't participate in cross-database ownership chaining.

Importante

A instância do SQL ServerSQL Server reconhecerá essa configuração quando a opção do servidor Encadeamento de Propriedades de Bancos de Dados for 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Quando Encadeamento de Propriedades de BD for 1 (ON), todos os bancos de dados de usuário poderão participar de cadeias de propriedades de bancos de dados, independentemente do valor dessa opção.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Essa opção é definida por meio de sp_configure.This option is set by using sp_configure.

Definir essa opção requer a permissão CONTROL SERVER no banco de dados.To set this option, requires CONTROL SERVER permission on the database.

A opção DB_CHAINING não pode ser definida nestes bancos de dados do sistema: mestre, modelo e tempdb.The DB_CHAINING option can't be set on these system databases: master, model, and tempdb.

Você pode determinar o status dessa opção examinando a coluna is_db_chaining_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_db_chaining_on column in the sys.databases catalog view.

TRUSTWORTHY { ON | OFF }TRUSTWORTHY { ON | OFF }
ONON
Os módulos de banco de dados (por exemplo, funções definidas pelo usuário ou procedimentos armazenados) que usam um contexto de representação podem acessar os recursos fora do banco de dados.Database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.

OFFOFF
Os módulos de banco de dados em um contexto de representação não podem acessar os recursos fora do banco de dados.Database modules in an impersonation context can't access resources outside the database.

TRUSTWORTHY será definido como OFF sempre que o banco de dados for anexado.TRUSTWORTHY is set to OFF whenever the database is attached.

Por padrão, todos os bancos de dados do sistema, exceto o banco de dados msdb, têm TRUSTWORTHY definido como OFF.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. O valor não pode ser alterado para os bancos de dados modelo e tempdb.The value can't be changed for the model and tempdb databases. É recomendável nunca definir a opção TRUSTWORTHY como ON para o banco de dados mestre.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

Para definir essa opção, é necessário ter a permissão CONTROL SERVER no banco de dados.To set this option, requires CONTROL SERVER permission on the database.

Você pode determinar o status dessa opção examinando a coluna is_trustworthy_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_trustworthy_on column in the sys.databases catalog view.

DEFAULT_FULLTEXT_LANGUAGEDEFAULT_FULLTEXT_LANGUAGE
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica o valor de idioma padrão para colunas indexadas de texto completo.Specifies the default language value for full-text indexed columns.

Importante

Essa opção será permitida apenas quando CONTAINMENT estiver definido como PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

DEFAULT_LANGUAGEDEFAULT_LANGUAGE
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica a linguagem padrão para todos os logons recém-criados.Specifies the default language for all newly created logins. O idioma pode ser especificado com o fornecimento da ID (lcid), do nome do idioma ou do alias do idioma.Language can be specified by providing the local ID (lcid), the language name, or the language alias. Para obter uma lista de nomes de idiomas e aliases aceitáveis, veja sys.syslanguages.For a list of acceptable language names and aliases, see sys.syslanguages. Essa opção será permitida apenas quando CONTAINMENT estiver definido como PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

NESTED_TRIGGERSNESTED_TRIGGERS
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica se um gatilho AFTER pode ser colocado em cascata, ou seja, executar uma ação que inicia outro gatilho que inicia outro gatilho e assim por diante.Specifies whether an AFTER trigger can cascade; that is, perform an action that initiates another trigger, which initiates another trigger, and so on. Essa opção será permitida apenas quando CONTAINMENT estiver definido como PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

TRANSFORM_NOISE_WORDSTRANSFORM_NOISE_WORDS
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Usado para suprimir uma mensagem de erro se palavras de ruído ou palavras irrelevantes provocarem falha em uma operação Booliana em uma consulta de texto completo.Used to suppress an error message if noise words, or stopwords, cause a Boolean operation on a full-text query to fail. Essa opção será permitida apenas quando CONTAINMENT estiver definido como PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

TWO_DIGIT_YEAR_CUTOFFTWO_DIGIT_YEAR_CUTOFF
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica um inteiro de 1753 a 9999 que representa o ano de corte para interpretar anos de dois dígitos e de quatro dígitos.Specifies an integer from 1753 to 9999 that represents the cutoff year for interpreting two-digit years as four-digit years. Essa opção será permitida apenas quando CONTAINMENT estiver definido como PARTIAL.This option is allowable only when CONTAINMENT has been set to PARTIAL. Se CONTAINMENT não for definida como NOME, ocorrerão erros.If CONTAINMENT is set to NONE, errors will occur.

<FILESTREAM_option> ::= <FILESTREAM_option> ::=
Aplica-se ao: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) até SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server ( SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Controla as configurações de FileTables.Controls the settings for FileTables.

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
OFFOFF
O acesso não transacional aos dados de FileTable está desabilitado.Non-transactional access to FileTable data is disabled.

READ_ONLYREAD_ONLY
Os dados FILESTREAM em FileTables nesse banco de dados podem ser lidos por processos não transacionais.FILESTREAM data in FileTables in this database can be read by non-transactional processes.

FULLFULL
Habilita o acesso não transacional completo aos dados FILESTREAM em FileTables.Enables full, non-transactional access to FILESTREAM data in FileTables is enabled.

DIRECTORY_NAME = <directory_name> DIRECTORY_NAME = <directory_name>
Um nome de diretório compatível com o Windows.A windows-compatible directory name. Esse nome deve ser exclusivo entre todos os nomes de diretório no nível do banco de dados na instância do SQL ServerSQL Server.This name should be unique among all the database-level directory names in the SQL ServerSQL Server instance. A comparação de exclusividade não diferencia maiúsculas de minúsculas, independentemente das configurações de ordenação.Uniqueness comparison is case-insensitive, regardless of collation settings. Essa opção deve ser definida antes da criação de um FileTable neste banco de dados.This option must be set before creating a FileTable in this database.

<HADR_options> ::= <HADR_options> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Veja ALTER DATABASE SET HADR.See ALTER DATABASE SET HADR.

<mixed_page_allocation_option> ::= <mixed_page_allocation_option> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2016 (13.x)SQL Server 2016 (13.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

Controla se o banco de dados pode criar páginas iniciais usando uma extensão mista para as oito primeiras páginas de uma tabela ou um índice.Controls whether the database can create initial pages using a mixed extent for the first eight pages of a table or index.

MIXED_PAGE_ALLOCATION { OFF | ON }MIXED_PAGE_ALLOCATION { OFF | ON }
OFFOFF
O banco de dados sempre cria páginas iniciais usando extensões uniformes.The database always creates initial pages using uniform extents. OFF é o valor padrão.OFF is the default value.

ONON
O banco de dados pode criar páginas iniciais usando extensões mistas.The database can create initial pages using mixed extents.

Essa configuração está ON para todos os bancos de dados do sistema.This setting is ON for all system databases. tempdb é o único banco de dados de sistema compatível com OFF.tempdb is the only system database that supports OFF.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Controla a opção de parametrização.Controls the parameterization option. Para saber mais sobre parametrização, confira o Guia da arquitetura de processamento de consultas.For more information on parameterization, see the Query Processing Architecture Guide.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
As consultas são parametrizadas com base no comportamento padrão do banco de dados.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
O SQL ServerSQL Server parametriza todas as consultas no banco de dados.SQL ServerSQL Server parameterizes all queries in the database.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_parameterization_forced na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::= <query_store_options> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2016 (13.x)SQL Server 2016 (13.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Controla se o repositório de consultas está habilitado nesse banco de dados, além de controlar a remoção do conteúdo do repositório de consultas.Controls if the query store is enabled in this database, and also controls removing the contents of the query store. Para obter mais informações, confira Cenários de uso do Repositório de Consultas.For more information, see Query Store Usage Scenarios.

ONON
Habilita o repositório de consultas.Enables the query store.

OFFOFF
Desabilita o repositório de consultas.Disables the query store. OFF é o valor padrão.OFF is the default value.

CLEARCLEAR
Remove o conteúdo do repositório de consultas.Remove the contents of the query store.

Observação

Para o SQL Data WarehouseSQL Data Warehouse, é necessário executar ALTER DATABASE SET QUERY_STORE no banco de dados de usuário.For SQL Data WarehouseSQL Data Warehouse, you must execute ALTER DATABASE SET QUERY_STORE from the user database. Não há suporte para a execução da instrução de outra instância do depósito de dados.Executing the statement from another data warehouse instance is not supported.

OPERATION_MODE { READ_ONLY | READ_WRITE }OPERATION_MODE { READ_ONLY | READ_WRITE }
Descreve o modo de operação do repositório de consultas.Describes the operation mode of the query store.

READ_WRITEREAD_WRITE
O repositório de consultas coleta e persiste as informações das estatísticas de execução do tempo de execução e do plano de consulta.The query store collects and persists query plan and runtime execution statistics information.

READ_ONLYREAD_ONLY
As informações podem ser lidas do repositório de consultas, mas novas informações não são adicionadas.Information can be read from the query store, but new information isn't added. Se o espaço máximo designado do repositório de consultas tiver se esgotado, o repositório de consultas alterará o modo de operação para READ_ONLY.If the maximum issued space of the query store has been exhausted, the query store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Descreve a política de retenção de dados do repositório de consultas.Describes the data retention policy of the query store. STALE_QUERY_THRESHOLD_DAYS determina o número de dias que as informações de uma consulta são mantidas no repositório de consultas.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the query store. STALE_QUERY_THRESHOLD_DAYS é do tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina a frequência na qual os dados gravados no repositório de consultas é persistida no disco.Determines the frequency at which data written to the query store is persisted to disk. Para otimizar o desempenho, os dados coletados pelo repositório de consultas são gravados de maneira assíncrona no disco.To optimize for performance, data collected by the query store is asynchronously written to the disk. A frequência em que essa transferência assíncrona ocorre é configurada usando o argumento DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS é do tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina o espaço emitido para o repositório de consultas.Determines the space issued to the query store. MAX_STORAGE_SIZE_MB é do tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Determina o intervalo de tempo em que os dados de estatísticas de execução do tempo de execução são agregados no repositório de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the query store. Para otimizar o uso de espaço, as estatísticas de execução de tempo de execução no repositório de estatísticas de tempo de execução são agregadas em uma janela de tempo fixo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Essa janela de tempo fixo é configurada usando o argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES é do tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODE { AUTO | OFF }SIZE_BASED_CLEANUP_MODE { AUTO | OFF }
Controla se a limpeza será ativada automaticamente quando a quantidade total de dados se aproximar do tamanho máximo.Controls whether cleanup automatically activates when total amount of data gets close to maximum size.

AUTOAUTO
A limpeza baseada no tamanho será ativada automaticamente quando o tamanho em disco atingir 90% do max_storage_size_mb.Size-based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Limpeza com base no tamanho remove as consultas menos dispendiosas e mais antigas primeiro.Size-based cleanup removes the least expensive and oldest queries first. Ela para a aproximadamente 80% de max_storage_size_mb. Esse valor é o valor da configuração padrão.It stops at approximately 80% of max_storage_size_mb.This value is the default configuration value.

OFFOFF
A limpeza baseada no tamanho não será ativada automaticamente.Size-based cleanup won't be automatically activated.

SIZE_BASED_CLEANUP_MODE é do tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }QUERY_CAPTURE_MODE { ALL | AUTO | NONE | CUSTOM }
Designa o modo de captura da consulta ativa no momento.Designates the currently active query capture mode.

ALLALL
Captura todas as consultas.Captures all queries. ALL é o valor de configuração padrão.ALL is the default configuration value. Esse é o valor de configuração padrão do SQL Server 2016 (13.x)SQL Server 2016 (13.x) em diante.This is the default configuration value starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x).

AUTOAUTO
Captura as consultas relevantes baseadas na contagem de execução e no consumo de recursos.Capture relevant queries based on execution count and resource consumption. Esse é o valor de configuração padrão no Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0 em diante.This is the default configuration value starting with Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0.

NenhumaNONE
Pare de capturar novas consultas.Stop capturing new queries. O Repositório de Consultas continuará a coletar estatísticas de compilação e tempo de execução para consultas que já foram capturadas.Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use essa configuração com cuidado, pois você poderá deixar de capturar consultas importantes.Use this configuration with caution since you may miss capturing important queries.

CUSTOMCUSTOM
Aplica-se ao: SQL ServerSQL Server (No Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0 em diante)Applies to: SQL ServerSQL Server (Starting with Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0)

Permite o controle sobre as opções de QUERY_CAPTURE_POLICY.Allows control over the QUERY_CAPTURE_POLICY options.

QUERY_CAPTURE_MODE é do tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Define o número máximo de planos mantidos para cada consulta.Defines the maximum number of plans maintained for each query. O padrão é 200.The default is 200. MAX_PLANS_PER_QUERY é do tipo int.MAX_PLANS_PER_QUERY is type int.

<query_capture_policy_option_list> :: = <query_capture_policy_option_list> :: =
Aplica-se ao: SQL ServerSQL Server (No Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0 em diante)Applies to: SQL ServerSQL Server (Starting with Versão prévia do SQL Server 2019SQL Server 2019 preview CTP 3.0)

Controla as opções da política de captura do repositório de consultas.Controls the query store capture policy options. Exceto para STALE_CAPTURE_POLICY_THRESHOLD, essas opções definem as condições OR que precisam ocorrer para que as consultas sejam capturadas no valor de Limite da Política de Captura Obsoleta definido.Except for STALE_CAPTURE_POLICY_THRESHOLD, these options define the OR conditions that need to happen for queries to be captured in the defined Stale Capture Policy Threshold value.

STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }STALE_CAPTURE_POLICY_THRESHOLD = number { DAYS | HOURS }
Define o período de intervalo de avaliação para determinar se uma consulta deve ser capturada.Defines the evaluation interval period to determine if a query should be captured. O padrão é um dia e pode ser definido de uma hora a sete dias.The default is 1 day, and it can be set from 1 hour to seven days. number é do tipo int.number is type int.

EXECUTION_COUNTEXECUTION_COUNT
Define o número de vezes que uma consulta é executada durante o período de avaliação.Defines the number of times a query is executed over the evaluation period. O padrão é 30, o que significa que, para o Limite da Política de Captura Obsoleta padrão, uma consulta precisa ser executada, pelo menos, 30 vezes em um dia para ser persistente no Repositório de Consultas.The default is 30, which means that for the default Stale Capture Policy Threshold, a query must execute at least 30 times in one day to be persisted in Query Store. EXECUTION_COUNT é do tipo int.EXECUTION_COUNT is type int.

TOTAL_COMPILE_CPU_TIME_MSTOTAL_COMPILE_CPU_TIME_MS
Define o tempo total decorrido da CPU de compilação usado por uma consulta durante o período de avaliação.Defines total elapsed compile CPU time used by a query over the evaluation period. O padrão é 1.000, o que significa que, para o Limite da Política de Captura Obsoleta padrão, uma consulta precisa ter um total de, pelo menos, um segundo do tempo da CPU gasto durante a compilação da consulta em um dia para ser persistente no Repositório de Consultas.The default is 1000 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least one second of CPU time spent during query compilation in one day to be persisted in Query Store. TOTAL_COMPILE_CPU_TIME_MS é do tipo int.TOTAL_COMPILE_CPU_TIME_MS is type int.

TOTAL_EXECUTION_CPU_TIME_MSTOTAL_EXECUTION_CPU_TIME_MS
Define o tempo total decorrido da CPU de execução usado por uma consulta durante o período de avaliação.Defines total elapsed execution CPU time used by a query over the evaluation period. O padrão é 100, o que significa que, para o Limite da Política de Captura Obsoleta padrão, uma consulta precisa ter um total de, pelo menos, 100 ms do tempo da CPU gasto durante a execução em um dia para ser persistente no Repositório de Consultas.The default is 100 which means that for the default Stale Capture Policy Threshold, a query must have a total of at least 100 ms of CPU time spent during execution in one day to be persisted in Query Store. TOTAL_EXECUTION_CPU_TIME_MS é do tipo int.TOTAL_EXECUTION_CPU_TIME_MS is type int.

<recovery_option> ::= <recovery_option> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla as opções de recuperação de banco de dados e a verificação de erros de E/S de disco.Controls database recovery options and disk I/O error checking.

FULLFULL
Fornece recuperação completa após a falha de mídia usando backups de log de transações.Provides full recovery after media failure by using transaction log backups. Se um arquivo de dados for danificado, a recuperação de mídia poderá recuperar todas as transações confirmadas.If a data file is damaged, media recovery can restore all committed transactions. Para saber mais, confira Modelos de recuperação.For more information, see Recovery Models.

BULK_LOGGEDBULK_LOGGED
Fornece recuperação após a falha de mídia.Provides recovery after media failure. Combina o melhor desempenho e a menor quantidade de espaço de log de uso em larga escala para determinados ou operações em massa.Combines the best performance and least amount of log-space use for certain large-scale or bulk operations. Para saber mais sobre quais operações podem ser minimamente registradas, veja O log de transações.For information about what operations can be minimally logged, see The Transaction Log. No modelo de recuperação BULK_LOGGED, o registro para essas operações é mínimo.Under the BULK_LOGGED recovery model, logging for these operations is minimal. Para saber mais, confira Modelos de recuperação.For more information, see Recovery Models.

SIMPLESIMPLE
Uma estratégia simples de backup que usa um espaço de log mínimo é fornecida.A simple backup strategy that uses minimal log space is provided. O espaço de log poderá ser reutilizado automaticamente quando não for mais necessário à recuperação de falha de servidor.Log space can be automatically reused when it's no longer required for server failure recovery. Para saber mais, confira Modelos de recuperação.For more information, see Recovery Models.

Importante

O modelo de recuperação simples é mais fácil de gerenciar que os outros dois modelos, mas às custas de uma exposição maior à perda de dados se um arquivo de dados for danificado.The simple recovery model is easier to manage than the other two models but at the expense of greater data loss exposure if a data file is damaged. Todas as alterações desde o backup mais recente do banco de dados ou diferencial serão perdidas e terão que ser reinseridas manualmente.All changes since the most recent database or differential database backup are lost and must be manually reentered.

O modelo de recuperação padrão é determinado pelo modelo de recuperação do banco de dados model .The default recovery model is determined by the recovery model of the model database. Para saber mais sobre como selecionar o modelo de recuperação apropriado, veja Modelos de recuperação.For more information about selecting the appropriate recovery model, see Recovery Models.

Você pode determinar o status dessa opção examinando as colunas recovery_model e recovery_model_desc na exibição do catálogo sys.databases.You can determine this option's status by examining the recovery_model and recovery_model_desc columns in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade Recovery da função DATABASEPROPERTYEX.You can also determine the status by examining the Recovery property of the DATABASEPROPERTYEX function.

TORN_PAGE_DETECTION { ON | OFF }TORN_PAGE_DETECTION { ON | OFF }
ONON
Páginas incompletas podem ser detectadas pelo Mecanismo de Banco de DadosDatabase Engine.Incomplete pages can be detected by the Mecanismo de Banco de DadosDatabase Engine.

OFFOFF
Páginas incompletas não podem ser detectadas pelo Mecanismo de Banco de DadosDatabase Engine.Incomplete pages can't be detected by the Mecanismo de Banco de DadosDatabase Engine.

Importante

A estrutura de sintaxe TORN_PAGE_DETECTION ON | OFF será removida em uma versão futura do SQL ServerSQL Server.The syntax structure TORN_PAGE_DETECTION ON | OFF will be removed in a future version of SQL ServerSQL Server. Evite usar essa estrutura de sintaxe em novos trabalhos de desenvolvimentos e planeje modificar os aplicativos que a utilizam atualmente.Avoid using this syntax structure in new development work, and plan to modify applications that currently use the syntax structure. Use a opção PAGE_VERIFY em seu lugar.Use the PAGE_VERIFY option instead.

PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
Descobre páginas de banco de dados danificadas causadas por erros de caminho de E/S do disco.Discovers damaged database pages caused by disk I/O path errors. Erros de caminho de E/S de disco podem ser a causa dos problemas de banco de dados corrompido.Disk I/O path errors can be the cause of database corruption problems. Esses erros são causados frequentemente por falhas de energia ou falhas de hardware de disco que ocorrem no momento em que a página é gravada no disco.These errors are most often caused by power failures or disk hardware failures that occur at the time the page is written to disk.

CHECKSUMCHECKSUM
Calcula uma soma de verificação com base no conteúdo da página inteira e armazena o valor no cabeçalho da página quando a página é gravada em disco.Calculates a checksum over the contents of the whole page and stores the value in the page header when a page is written to disk. Quando a página é lida pelo disco, a soma de verificação é recalculada e comparada ao valor da soma de verificação armazenado no cabeçalho da página.When the page is read from disk, the checksum is recomputed and compared to the checksum value stored in the page header. Se os valores não forem correspondentes, a mensagem de erro 824 (indicando uma falha na soma de verificação) será informada no log de erros do SQL ServerSQL Server e no log de eventos do Windows.If the values don't match, error message 824 (indicating a checksum failure) is reported to both the SQL ServerSQL Server error log and the Windows event log. Uma falha de soma de verificação indica um problema no caminho de E/S.A checksum failure indicates an I/O path problem. Para determinar a causa principal, é necessária uma inspeção de hardware, drivers de firmware, BIOS, drivers de filtro (como software antivírus) e outros componentes de caminho de E/S.To determine the root cause requires investigation of the hardware, firmware drivers, BIOS, filter drivers (such as virus software), and other I/O path components.

TORN_PAGE_DETECTIONTORN_PAGE_DETECTION
Salva um padrão específico de 2 bits para cada setor de 512 bytes na página de banco de dados de 8 KB (quilobytes) e o armazena no cabeçalho da página do banco de dados quando a página é gravada em disco.Saves a specific 2-bit pattern for each 512-byte sector in the 8-kilobyte (KB) database page and stored in the database page header when the page is written to disk. Quando a página for lida pelo disco, os bits desativados armazenados no cabeçalho da página serão comparados às informações do setor da página real.When the page is read from disk, the torn bits stored in the page header are compared to the actual page sector information.

Valores não correspondentes indicam que apenas parte da página foi gravada em disco.Unmatched values indicate that only part of the page was written to disk. Nessa situação, a mensagem de erro 824 (indicando um erro de página interrompida) é informada no log de erros do SQL ServerSQL Server e no log de eventos do Windows.In this situation, error message 824 (indicating a torn page error) is reported to both the SQL ServerSQL Server error log and the Windows event log. Páginas interrompidas serão detectadas normalmente através da recuperação de banco de dados se realmente for uma gravação incompleta de uma página.Torn pages are typically detected by database recovery if it is truly an incomplete write of a page. Entretanto, outras falhas de caminho de E/S podem gerar uma página interrompida a qualquer momento.However, other I/O path failures can cause a torn page at any time.

NenhumaNONE
As gravações da página do banco de dados não gerarão um valor CHECKSUM ou TORN_PAGE_DETECTION.Database page writes won't generate a CHECKSUM or TORN_PAGE_DETECTION value. O SQL ServerSQL Server não verificará uma soma de verificação ou uma página interrompida durante uma leitura, mesmo que um valor de CHECKSUM ou de TORN_PAGE_DETECTION esteja presente no cabeçalho da página.SQL ServerSQL Server will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.

Considere os seguintes pontos importantes ao usar a opção PAGE_VERIFY:Consider the following important points when you use the PAGE_VERIFY option:

  • O padrão é CHECKSUM.The default is CHECKSUM.

  • Quando um usuário ou banco de dados do sistema é atualizado para o SQL Server 2005 (9.x)SQL Server 2005 (9.x) ou posterior, o valor de PAGE_VERIFY (NONE ou TORN_PAGE_DETECTION) é mantido.When a user or system database is upgraded to SQL Server 2005 (9.x)SQL Server 2005 (9.x) or a later version, the PAGE_VERIFY value (NONE or TORN_PAGE_DETECTION) is kept. Recomendamos o uso de CHECKSUM.We recommend that you use CHECKSUM.

    Observação

    Em versões anteriores do SQL ServerSQL Server, a opção de banco de dados PAGE_VERIFY é definida como NONE para o banco de dados tempdb e não pode ser modificada.In earlier versions of SQL ServerSQL Server, the PAGE_VERIFY database option is set to NONE for the tempdb database and can't be modified. No SQL Server 2008SQL Server 2008 e em versões posteriores, o valor padrão do banco de dados tempdb é CHECKSUM para novas instalações do SQL ServerSQL Server.In SQL Server 2008SQL Server 2008 and later versions, the default value for the tempdb database is CHECKSUM for new installations of SQL ServerSQL Server. Ao atualizar uma instalação do SQL ServerSQL Server, o valor padrão permanece como NONE.When upgrading an installation SQL ServerSQL Server, the default value remains NONE. A opção pode ser modificada.The option can be modified. É recomendável usar CHECKSUM para o banco de dados tempdb.We recommend that you use CHECKSUM for the tempdb database.

  • TORN_PAGE_DETECTION pode usar menos recursos, mas fornece um subconjunto mínimo da proteção CHECKSUM.TORN_PAGE_DETECTION may use fewer resources but provides a minimal subset of the CHECKSUM protection.

  • PAGE_VERIFY pode ser definido sem que o banco de dados fique offline, seja bloqueado ou a simultaneidade de usuário seja impedida nele.PAGE_VERIFY can be set without taking the database offline, locking the database, or otherwise impeding concurrency on that database.

  • CHECKSUM é mutuamente exclusivo com TORN_PAGE_DETECTION.CHECKSUM is mutually exclusive to TORN_PAGE_DETECTION. As duas opções não podem ser habilitadas ao mesmo tempo.Both options can't be enabled at the same time.

Quando a falha em uma página interrompida ou soma de verificação é detectada, é possível recuperá-las restaurando os dados ou recriando o índice se a falha estiver limitada apenas a páginas de índice.When a torn page or checksum failure is detected, you can recover by restoring the data or potentially rebuilding the index if the failure is limited only to index pages. Se você encontrar uma falha de soma de verificação, para determinar o tipo de página de banco de dados ou páginas afetadas, execute DBCC CHECKDB.If you encounter a checksum failure, to determine the type of database page or pages affected, run DBCC CHECKDB. Para saber mais sobre as opções de restauração, veja Argumentos de RESTORE.For more information about restore options, see RESTORE Arguments. Embora a restauração de dados resolva o problema de corrupção de dados, sua causa, por exemplo, falha do hardware de disco, deve ser diagnosticada e corrigida assim que possível para evitar a repetição dos erros.Although restoring the data will resolve the data corruption problem, the root cause, for example, disk hardware failure, should be diagnosed and corrected as soon as possible to prevent continuing errors.

O SQL ServerSQL Server repetirá mais quatro vezes qualquer leitura que falhe com uma soma de verificação, página interrompida ou outro erro de E/S.SQL ServerSQL Server will retry any read that fails with a checksum, torn page, or other I/O error four times. Se a leitura for bem-sucedida em qualquer uma das tentativas de repetição, uma mensagem será gravada no log de erros.If the read is successful in any one of the retry attempts, a message is written to the error log. O comando que disparou a leitura continuará.The command that triggered the read will continue. O comando falhará com a mensagem de erro 824 se as novas tentativas falharem.The command will fail with error message 824 if the retry attempts fail.

Para obter mais informações sobre mensagens de erro 823, 824 e 825, veja:For more information about error messages 823, 824 and 825, see:

A configuração atual dessa opção pode ser determinada examinando a coluna page_verify_option na exibição do catálogo sys.databases ou a propriedade IsTornPageDetectionEnabled da função DATABASEPROPERTYEX.The current setting of this option can be determined by examining the page_verify_option column in the sys.databases catalog view or the IsTornPageDetectionEnabled property of the DATABASEPROPERTYEX function.

<remote_data_archive_option> ::= <remote_data_archive_option> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2016 (13.x)SQL Server 2016 (13.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

Habilita ou desabilita o Stretch Database para o banco de dados.Enables or disables Stretch Database for the database. Para obter mais informações, consulte Stretch Database.For more info, see Stretch Database.

REMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name>, { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } )| OFFREMOTE_DATA_ARCHIVE = { ON ( SERVER = <server_name> , { CREDENTIAL = <db_scoped_credential_name> | FEDERATED_SERVICE_ACCOUNT = ON | OFF } )| OFF
ONON
Habilita o Stretch Database para o banco de dados.Enables Stretch Database for the database. Para obter mais informações, incluindo os pré-requisitos adicionais, veja Habilitar o Stretch Database para um banco de dados.For more info, including additional prerequisites, see Enable Stretch Database for a database.

Permissões: A habilitação do Stretch Database para um banco de dados ou uma tabela exige permissões db_owner.Permissions: Enabling Stretch Database for a database or a table requires db_owner permissions. A habilitação do Stretch Database para um banco de dados também exige permissões CONTROL DATABASE.Enabling Stretch Database for a database also requires CONTROL DATABASE permissions.

SERVER = <server_name>SERVER = <server_name>
Especifica o endereço do servidor do Azure.Specifies the address of the Azure server. Inclua a parte .database.windows.net do nome.Include the .database.windows.net portion of the name. Por exemplo, MyStretchDatabaseServer.database.windows.net.For example, MyStretchDatabaseServer.database.windows.net.

CREDENTIAL = <db_scoped_credential_name>CREDENTIAL = <db_scoped_credential_name>
Especifica a credencial no escopo do banco de dados que a instância do SQL ServerSQL Server usa para se conectar ao servidor do Azure.Specifies the database scoped credential that the instance of SQL ServerSQL Server uses to connect to the Azure server. Verifique se que a credencial existe antes de executar esse comando.Make sure the credential exists before you run this command. Para saber mais, confira CREATE DATABASE SCOPED CREDENTIAL.For more info, see CREATE DATABASE SCOPED CREDENTIAL.

FEDERATED_SERVICE_ACCOUNT = { ON | OFF }FEDERATED_SERVICE_ACCOUNT = { ON | OFF }
Você poderá usar uma conta de serviço federada para o SQL Server local se comunicar com o servidor remoto do Azure quando todas as condições a seguir forem verdadeiras.You can use a federated service account for the on-premises SQL Server to communicate with the remote Azure server when the following conditions are all true.

  • A conta do serviço na qual a instância do SQL Server está sendo executada é uma conta de domínio.The service account under which the instance of SQL Server is running is a domain account.
  • A conta de domínio pertence a um domínio cujo Active Directory é federado com o Azure Active Directory.The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.
  • O servidor remoto do Azure está configurado para permitir a autenticação do Azure Active Directory.The remote Azure server is configured to support Azure Active Directory authentication.
  • A conta de serviço na qual a instância do SQL Server está sendo executada deve ser configurada como uma conta dbmanager ou sysadmin no servidor remoto do Azure.The service account under which the instance of SQL Server is running must be configured as a dbmanager or sysadmin account on the remote Azure server.

Se você especificar que a conta de serviço federada está ON, você também não poderá especificar o argumento CREDENTIAL.If you specify that the federated service account is ON, you can't also specify the CREDENTIAL argument. Forneça o argumento CREDENTIAL se você especificar OFF.Provide the CREDENTIAL argument if you specify OFF.

OFFOFF
Desabilita o Stretch Database para o banco de dados.Disables Stretch Database for the database. Para obter mais informações, consulte Desabilitar Stretch Database e trazer de volta dados remotos.For more info, see Disable Stretch Database and bring back remote data.

Você só pode desabilitar o Stretch Database para um banco de dados depois que o banco de dados não contiver nenhuma tabela habilitada para o Stretch Database.You can only disable Stretch Database for a database after the database no longer contains any tables that are enabled for Stretch Database. Depois de desabilitar o Stretch Database, interrompa a migração de dados.After you disable Stretch Database, data migration stops. Além disso, os resultados da consulta não incluem mais resultados de tabelas remotas.Also, query results no longer include results from remote tables.

Desabilitar o Stretch não remove o banco de dados remoto.Disabling Stretch doesn't remove the remote database. Se você quiser excluir o banco de dados remoto, descarte-o usando o Portal do Azure.If you want to delete the remote database, you have to drop it by using the Azure portal.

<service_broker_option> ::= <service_broker_option> ::=
Aplica-se ao: SQL ServerSQL ServerApplies to: SQL ServerSQL Server

Controla as seguintes opções do Service BrokerService Broker: habilita ou desabilita a entrega de mensagens, define um novo identificador do Service BrokerService Broker ou define as prioridades de conversa como ON ou OFF.Controls the following Service BrokerService Broker options: enables or disables message delivery, sets a new Service BrokerService Broker identifier, or sets conversation priorities to ON or OFF.

ENABLE_BROKERENABLE_BROKER
Especifica que o Service BrokerService Broker está habilitado para o banco de dados especificado.Specifies that Service BrokerService Broker is enabled for the specified database. A entrega de mensagens é iniciada e o sinalizador is_broker_enabled é definido como true na exibição do catálogo sys.databases.Message delivery is started, and the is_broker_enabled flag is set to true in the sys.databases catalog view. O banco de dados mantém o identificador Service BrokerService Broker existente.The database keeps the existing Service BrokerService Broker identifier. O Service Broker não pode ser habilitado quando o banco de dados é a entidade de segurança em uma configuração de espelhamento de banco de dados.Service broker can't be enabled while the database is the principal in a database mirroring configuration.

Observação

ENABLE_BROKER requer um bloqueio de banco de dados exclusivo.ENABLE_BROKER requires an exclusive database lock. Se outras sessões bloquearam recursos no banco de dados, ENABLE_BROKER esperará até que as outras sessões liberem os bloqueios.If other sessions have locked resources in the database, ENABLE_BROKER will wait until the other sessions release their locks. Para habilitar o Service BrokerService Broker em um banco de dados de usuário, verifique se nenhuma outra sessão está usando o banco de dados antes de executar a instrução ALTER DATABASE SET ENABLE_BROKER, por exemplo, colocando o banco de dados no modo de usuário único.To enable Service BrokerService Broker in a user database, ensure that no other sessions are using the database before you run the ALTER DATABASE SET ENABLE_BROKER statement, such as by putting the database in single user mode. Para habilitar o Service BrokerService Broker no banco de dados msdb, primeiro interrompe o SQL ServerSQL Server Agent para que o Service BrokerService Broker possa obter o bloqueio necessário.To enable Service BrokerService Broker in the msdb database, first stop SQL ServerSQL Server Agent so that Service BrokerService Broker can obtain the necessary lock.

DISABLE_BROKERDISABLE_BROKER
Especifica que o Service BrokerService Broker está desabilitado para o banco de dados especificado.Specifies that Service BrokerService Broker is disabled for the specified database. A entrega de mensagens é interrompida e o sinalizador is_broker_enabled é definido como false na exibição do catálogo sys.databases.Message delivery is stopped, and the is_broker_enabled flag is set to false in the sys.databases catalog view. O banco de dados mantém o identificador Service BrokerService Broker existente.The database keeps the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Especifica que o banco de dados deve receber um novo identificador de agente.Specifies that the database should receive a new broker identifier. O banco de dados atua como um novo service broker.The database acts as a new service broker. Dessa forma, todas as conversas existentes no banco de dados são imediatamente removidas sem produzir mensagens de caixa de diálogo de término.As such, all existing conversations in the database are immediately removed without producing end dialog messages. Qualquer rota que referencia o antigo identificador do Service BrokerService Broker deve ser recriada novamente com o novo identificador.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Especifica que a entrega de mensagens do Service BrokerService Broker está habilitada.Specifies that Service BrokerService Broker message delivery is enabled. Essa configuração preserva o identificador Service BrokerService Broker existente para o banco de dados.This setting preserves the existing Service BrokerService Broker identifier for the database. Service BrokerService Broker termina todas as conversas no banco de dados com um erro.ends all conversations in the database with an error. Essa configuração permite que os aplicativos executem a limpeza regular das conversas existentes.This setting enables applications to run regular cleanup for existing conversations.

HONOR_BROKER_PRIORITY {ON | OFF}HONOR_BROKER_PRIORITY {ON | OFF}
ONON
As operações de envio levam em conta os níveis de prioridade atribuídos às conversas.Send operations take into consideration the priority levels that are assigned to conversations. As mensagens de conversas com altos níveis de prioridade são enviadas antes das mensagens de conversas com baixos níveis de prioridade atribuídos.Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low-priority levels.

OFFOFF
As operações de envio são executadas como se todas as conversas tivessem o nível de prioridade padrão.Send operations run as if all conversations have the default priority level.

As alterações na opção HONOR_BROKER_PRIORITY entram em vigor imediatamente para os novos diálogos ou diálogos que não tenham mensagens esperando para serem enviadas.Changes to the HONOR_BROKER_PRIORITY option take effect immediately for new dialogs or dialogs that have no messages waiting to be sent. Caixas de diálogo com mensagens serão enviadas quando ALTER DATABASE for executado não captará a nova configuração até que algumas das mensagens da caixa de diálogo sejam enviadas.Dialogs with messages to be sent when ALTER DATABASE is run won't pick up the new setting until some of the messages for the dialog are sent. O tempo necessário para que todas as caixas de diálogo comecem a usar a nova configuração pode variar consideravelmente.The amount of time before all dialogs start using the new setting can vary considerably.

A configuração atual dessa propriedade é relatada na coluna is_broker_priority_honored da exibição do catálogo sys.databases.The current setting of this property is reported in the is_broker_priority_honored column in the sys.databases catalog view.

<snapshot_option> ::=<snapshot_option> ::=

Calcula o nível de isolamento da transação.Calculates the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita a opção de Instantâneo no nível do banco de dados.Enables Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it is enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações podem especificar o nível de isolamento da transação SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Ao executar uma transação no nível de isolamento SNAPSHOT, todas as instruções consultam um instantâneo de dados, se houver um no início da instrução.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Se uma transação que executa no nível de isolamento SNAPSHOT acessar dados em vários bancos de dados, ALLOW_SNAPSHOT_ISOLATION deverá ser definido como ON em todos os bancos de dados ou cada instrução na transação deverá usar dicas de bloqueio em qualquer referência em uma cláusula FROM para uma tabela em um banco de dados onde ALLOW_SNAPSHOT_ISOLATION seja OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Desliga a opção de Instantâneo no nível do banco de dados.Turns off the Snapshot option at the database level. As transações não podem especificar o nível de isolamento da transação SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Ao definir ALLOW_SNAPSHOT_ISOLATION para um novo estado (de ON para OFF ou de OFF para ON), ALTER DATABASE não retorna o controle para o chamador até que todas as transações existentes no banco de dados sejam confirmadas.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Se o banco de dados já estiver no estado especificado na instrução ALTER DATABASE, o controle será retornado ao chamador imediatamente.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Se a instrução ALTER DATABASE não for retornada rapidamente, use sys.dm_tran_active_snapshot_database_transactions para determinar se há transações de longa duração.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Se a instrução ALTER DATABASE for cancelada, o banco de dados permanecerá no estado que estava quando ALTER DATABASE foi iniciada.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. A exibição do catálogo sys.databases indica o estado de transações de isolamento de instantâneo no banco de dados.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Se snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF fará uma pausa de seis segundos e tentará novamente executar a operação.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Não será possível alterar o estado de ALLOW_SNAPSHOT_ISOLATION se o banco de dados for OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Se você definir ALLOW_SNAPSHOT_ISOLATION em um banco de dados READ_ONLY, a configuração será mantida se o banco de dados for definido mais tarde como READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

É possível alterar as configurações ALLOW_SNAPSHOT_ISOLATION para os bancos de dados mestre, modelo, msdb e tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. A configuração é mantida sempre que a instância do Mecanismo de Banco de DadosDatabase Engine é interrompida e reiniciada se você altera a configuração para tempdb.The setting is kept every time the instance of the Mecanismo de Banco de DadosDatabase Engine is stopped and restarted if you change the setting for tempdb. Ao alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

A opção é ON, por padrão, para os bancos de dados mestre e msdb.The option is ON, by default, for the master and msdb databases.

A configuração atual dessa opção pode ser determinada examinando-se a coluna snapshot_isolation_state na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Habilita a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Enables Read-Committed Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações que especificam o nível de isolamento de leitura confirmada usam o controle de versão de linha, em vez de bloqueio.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Todas as instruções consultam um instantâneo de dados, se houver um no início da instrução quando uma transação é executada no nível de isolamento de leitura confirmada.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the read committed isolation level.

OFFOFF
Desliga a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Turns off Read-Committed Snapshot option at the database level. As transações que especificam o nível de isolamento READ COMMITTED usam bloqueio.Transactions specifying the READ COMMITTED isolation level use locking.

Para definir READ_COMMITTED_SNAPSHOT como ON ou OFF, não deve haver nenhuma conexão ativa com o banco de dados exceto para a que está executando o comando ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection executing the ALTER DATABASE command. Entretanto, o banco de dados não precisa estar no modo de usuário único.However, the database doesn't have to be in single-user mode. Não é possível alterar o estado dessa opção quando o banco de dados for OFFLINE.You can't change the state of this option when the database is OFFLINE.

Se você definir READ_COMMITTED_SNAPSHOT em um banco de dados READ_ONLY, a configuração será mantida quando o banco de dados for definido mais tarde como READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT não pode ser ativado como ON para os bancos de dados do sistema mestre, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Se você alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_read_committed_snapshot_on na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Aviso

Quando uma tabela for criada com DURABILITY = SCHEMA_ONLY, e READ_COMMITTED_SNAPSHOT depois forem alterado usando ALTER DATABASE, os dados na tabela serão perdidos.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
Aplica-se a: SQL ServerSQL Server (do SQL Server 2014 (12.x)SQL Server 2014 (12.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017)

ONON
Quando o nível de isolamento da transação é definido com qualquer nível de isolamento inferior a SNAPSHOT, todas as operações Transact-SQLTransact-SQL interpretadas em tabelas com otimização de memória são executadas no isolamento de SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Exemplos de níveis de isolamento inferiores ao snapshot são READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Essas operações são executadas não importa se o nível de isolamento da transação é definido explicitamente no nível de sessão ou se a opção é usada implicitamente.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Não eleva o nível de isolamento da transação para operações interpretadas do Transact-SQLTransact-SQL em tabelas com otimização de memória.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Não será possível alterar o estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT se o banco de dados for OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

A opção padrão é OFF.The default option is OFF.

A configuração atual dessa opção pode ser determinada, examinando a coluna is_memory_optimized_elevate_to_snapshot_on na exibição de catálogo sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Controla as opções de conformidade ANSI no nível de banco de dados.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Determina o valor padrão, NULL ou NOT NULL, de uma coluna ou um tipo CLR definido pelo usuário para o qual a nulidade não é definida explicitamente nas instruções CREATE TABLE ou ALTER TABLE.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. As colunas definidas com restrições seguem as regras de restrição, qualquer que seja essa configuração.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
O valor padrão é NULL.The default value is NULL.

OFFOFF
O valor padrão é NOT NULL.The default value is NOT NULL.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULL_DEFAULT como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para compatibilidade ANSI, definir a opção de banco de dados ANSI_NULL_DEFAULT como ON altera o banco de dados padrão para NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Você pode determinar o status dessa opção examinando a coluna is_ansi_null_default_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullDefault da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Todas as comparações com um valor nulo são avaliadas como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
As comparações de valores não UNICODE com um valor nulo são avaliadas como TRUE se ambos os valores são NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_NULLS sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULLS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

SET ANSI_NULLS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_ansi_nulls_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
As cadeias de caracteres são preenchidas com a mesma largura antes da conversão.Strings are padded to the same length before conversion. Também são preenchidas com o mesmo comprimento antes de inserir para um tipo de dados varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Insere espaços em branco à direita em valores de caractere em colunas varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Também deixa zeros à direita em valores binários inseridos nas colunas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Os valores não são preenchidos com o tamanho da coluna.Values aren't padded to the length of the column.

Quando OFF é especificado, essa configuração afeta apenas a definição de novas colunas.When OFF is specified, this setting affects only the definition of new columns.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_PADDING sempre será ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. É recomendável sempre definir ANSI_PADDING como ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING deve ser ON ao criar ou manipular índices em colunas computadas ou exibições indexadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Colunas char(n) e binary(n) que permitem valores nulos são preenchidas até o comprimento da coluna quando ANSI_PADDING está definido como ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Espaços em branco e zeros à direita são cortados quando ANSI_PADDING está OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. As colunas char(n) e binary(n) que não permitem valores nulos sempre são preenchidas até o tamanho da coluna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_PADDING como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Você pode determinar o status dessa opção examinando a coluna is_ansi_padding_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiPaddingEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
Erros ou avisos são emitidos quando ocorrem condições como divisão por zero.Errors or warnings are issued when conditions such as divide-by-zero occur. Erros e avisos também são emitidos quando valores nulos aparecerem em funções de agregação.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Nenhum aviso é acionado e os valores nulos são retornados quando ocorrem condições como divisão por zero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

SET ANSI_WARNINGS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_WARNINGS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_WARNINGS.

Você pode determinar o status dessa opção examinando a coluna is_ansi_warnings_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiWarningsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Uma consulta é encerrada quando ocorre um estouro ou um erro de divisão por zero durante a execução da consulta.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Uma mensagem de aviso é exibida quando um desses erros ocorre.A warning message is displayed when one of these errors occurs. A consulta, o lote ou a transação continuará sendo processado como se nenhum erro tivesse ocorrido, mesmo que um aviso seja exibido.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

SET ARITHABORT também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_arithabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsArithmeticAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

Para saber mais, confira ALTER DATABASE Compatibility Level.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
O resultado de uma operação de concatenação será NULL quando qualquer operando for NULL.The result of a concatenation operation is NULL when either operand is NULL. Por exemplo, concatenar a cadeia de caracteres "This is" e NULL gera o valor NULL, em vez do valor "This is".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
O valor nulo é tratado como uma cadeia de caracteres vazia.The null value is treated as an empty character string.

CONCAT_NULL_YIELDS_NULL deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

Em uma versão futura do SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Por padrão, clientes ODBC e OLE DB emitem uma configuração CONCAT_NULL_YIELDS_NULL de instrução SET no nível de conexão como ON para a sessão ao se conectar a uma instância do SQL ServerSQL Server.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Para saber mais, confira SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Você pode determinar o status dessa opção examinando a coluna is_concat_null_yields_null_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsNullConcat da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
As aspas duplas podem ser utilizadas para conter identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas as cadeias de caracteres delimitadas por aspas duplas são interpretadas como identificadores de objeto.All strings delimited by double quotation marks are interpreted as object identifiers. Os identificadores entre aspas não precisam seguir as regras Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Eles podem ser palavras-chave e incluir caracteres não permitidos nos identificadores Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Se o sinal de aspas simples (') fizer parte da cadeia de caracteres literal, ele poderá ser representado por aspas duplas (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Os identificadores não podem estar entre aspas e precisam seguir todas as regras do Transact-SQLTransact-SQL para identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literais podem ser delimitados por aspas simples ou duplas.Literals can be delimited by either single or double quotation marks.

O SQL ServerSQL Server também permite que os identificadores sejam delimitados por colchetes ([ ]).SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Identificadores entre colchetes sempre podem ser usados, seja qual for a configuração QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obter mais informações, consulte Database Identifiers.For more information, see Database Identifiers.

Quando uma tabela é criada, a opção QUOTED IDENTIFIER sempre é armazenada como ON nos metadados da tabela.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. A opção é armazenada mesmo que seja definida como OFF quando a tabela é criada.The option is stored even if the option is set to OFF when the table is created.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Clientes ODBC e OLE DB emitem uma instrução SET no nível de conexão configurando QUOTED_IDENTIFIER como ON por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Você pode determinar o status dessa opção examinando a coluna is_quoted_identifier_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsQuotedIdentifiersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Um erro é gerado quando ocorre perda de precisão em uma expressão.An error is generated when loss of precision occurs in an expression.

OFFOFF
As perdas de precisão não geram mensagens de erro e o resultado é arredondado para a precisão da coluna ou da variável que armazena o resultado.Losses of precision don't generate error messages and the result is rounded to the precision of the column or variable storing the result.

NUMERIC_ROUNDABORT deve ser definido como OFF ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_numeric_roundabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsNumericRoundAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
O disparo recursivo de gatilhos AFTER é permitido.Recursive firing of AFTER triggers is allowed.

OFFOFF
Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Observação

Somente a recursão direta será evitada quando RECURSIVE_TRIGGERS estiver definido como OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para desabilitar a recursão indireta, é necessário definir também a opção do servidor nested triggers como 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases ou a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::= <target_recovery_time_option> ::=
Aplica-se a: SQL ServerSQL Server (do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server (SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017)

Especifica a frequência de pontos de verificação indiretos por banco de dados.Specifies the frequency of indirect checkpoints on a per-database basis. No SQL Server 2016 (13.x)SQL Server 2016 (13.x) em diante, o valor padrão para novos bancos de dados é de 1 minuto, o que indica que o banco de dados usará pontos de verificação indiretos.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Para versões mais antigas, o padrão é 0, o que indica que o banco de dados usará pontos de verificação automáticos cuja frequência depende da configuração do intervalo de recuperação da instância de servidor.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft recomenda 1 minuto para a maioria dos sistemas.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Especifica o limite máximo no tempo para recuperar o banco de dados especificado no caso de uma falha.Specifies the maximum bound on the time to recover the specified database in the event of a crash. target_recovery_time é do tipo int.target_recovery_time is type int.

SECONDSSECONDS
Indica que target_recovery_time é expresso como o número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time é expresso como o número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para saber mais sobre pontos de verificação indiretos, confira Pontos de verificação de banco de dados.For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::=WITH <termination> ::=

Especifica quando reverter transações incompletas quando há transição do banco de dados de um estado para outro.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Se a cláusula de término for omitida, a instrução ALTER DATABASE aguardará indefinidamente se houver algum bloqueio no banco de dados.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Somente uma cláusula de término pode ser especificada e ela sucede as cláusulas SET.Only one termination clause can be specified, and it follows the SET clauses.

Observação

Nem todas as opções de banco de dados usam a cláusula WITH <termination>.Not all database options use the WITH <termination> clause. Para saber mais, confira a tabela emOpções de configuração na seção Comentários deste artigo.For more information, see the table under "Setting Options of the "Remarks" section of this article.

ROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER number [SECONDS] | ROLLBACK IMMEDIATE

Especifica se a reversão deve ser feita após o número de segundos especificado ou imediatamente.Specifies whether to roll back after the specified number of seconds or immediately. number é do tipo int.number is type int.

NO_WAITNO_WAIT
Especifica que a solicitação falhará se a alteração solicitada do estado ou da opção de banco de dados não puder ser concluída imediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Concluir imediatamente significa não esperar a confirmação ou a reversão das transações por conta própria.Completing immediately means not waiting for transactions to commit or roll back on their own.

Opções de configuraçãoSetting Options

Para recuperar as configurações atuais das opções de banco de dados, use a exibição do catálogo sys.databases ou DATABASEPROPERTYEXTo retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Depois de definir uma opção de banco de dados, a modificação entra em vigor imediatamente.After you set a database option, the modification takes effect immediately.

Você pode alterar os valores padrão para qualquer uma das opções de banco de dados para todos os bancos de dados recém-criados.You can change the default values for any one of the database options for all newly created databases. Para fazer isso, altere a opção de banco de dados apropriada no modelo de banco de dados.To do so, change the appropriate database option in the model database.

Nem todas as opções de banco de dados usam a cláusula WITH <termination> ou podem ser especificadas em combinação com outras opções.Not all database options use the WITH <termination> clause or can be specified in combination with other options. A tabela a seguir lista essas opções e seu status de opção e término.The following table lists these options and their option and termination status.

Categoria de opçõesOptions category Pode ser especificado com outras opçõesCan be specified with other options Pode usar a cláusula WITH <termination>Can use the WITH <termination> clause
<db_state_option><db_state_option> SimYes SimYes
<db_user_access_option><db_user_access_option> SimYes SimYes
<db_update_option><db_update_option> SimYes SimYes
<delayed_durability_option><delayed_durability_option> SimYes SimYes
<external_access_option><external_access_option> SimYes NãoNo
<cursor_option><cursor_option> SimYes NãoNo
<auto_option><auto_option> SimYes NãoNo
<sql_option><sql_option> SimYes NãoNo
<recovery_option><recovery_option> SimYes NãoNo
<target_recovery_time_option><target_recovery_time_option> NãoNo SimYes
<database_mirroring_option><database_mirroring_option> NãoNo NãoNo
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NãoNo NãoNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NãoNo SimYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT SimYes SimYes
<service_broker_option><service_broker_option> SimYes NãoNo
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION SimYes SimYes
<parameterization_option><parameterization_option> SimYes SimYes
<change_tracking_option><change_tracking_option> SimYes SimYes
<db_encryption_option><db_encryption_option> SimYes NãoNo

O cache de planos da instância do SQL ServerSQL Server é limpo com a definição de uma das seguintes opções:The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options:

OFFLINEOFFLINE READ_WRITEREAD_WRITE
ONLINEONLINE MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT
MODIFY_NAMEMODIFY_NAME MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE
COLLATECOLLATE MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY
READ_ONLYREAD_ONLY

O cache de procedimento também é liberado nos seguintes cenários.The procedure cache is also flushed in the following scenarios.

  • Um banco de dados tem a opção de banco de dados AUTO_CLOSE definida como ON.A database has the AUTO_CLOSE database option set to ON. Quando nenhuma conexão de usuário fizer referência ou usar o banco de dados, a tarefa de banco de dados tentará fechar e encerrar o banco de dados automaticamente.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Execute diversas consultas em um banco de dados que tem opções padrão.You run several queries against a database that has default options. O banco de dados é removido.Then, the database is dropped.
  • Um instantâneo de banco de dados para um banco de dados de origem é removido.A database snapshot for a source database is dropped.
  • Você recria com sucesso o log de transação para um banco de dados.You successfully rebuild the transaction log for a database.
  • Você restaura um backup de banco de dados.You restore a database backup.
  • Você desanexa um banco de dados.You detach a database.

A limpeza do cache de planos gera uma recompilação de todos os planos de execução subsequentes e pode provocar uma redução repentina e temporária do desempenho de consultas.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Para cada armazenamento em cache limpo no cache de planos, o log de erros do SQL ServerSQL Server contém a seguinte mensagem informativa: "SQL ServerSQL Server encontrou %d ocorrências de liberação de armazenamento em cache para o armazenamento em cache '%s' (parte do cache de planos) devido a operações de reconfiguração ou manutenção do banco de dados".For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Essa mensagem é registrada a cada cinco minutos, contanto que o cache seja liberado dentro desse intervalo de tempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

ExemplosExamples

A.A. Configurando opções em um banco de dadosSetting options on a database

O exemplo a seguir define o modelo de recuperação e as opções de verificação de página de dados para o banco de dados de exemplo AdventureWorks2012AdventureWorks2012 .The following example sets the recovery model and data page verification options for the AdventureWorks2012AdventureWorks2012 sample database.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET RECOVERY FULL PAGE_VERIFY CHECKSUM;
GO

B.B. Configurando o banco de dados como READ_ONLYSetting the database to READ_ONLY

Alterar o estado de um banco de dados ou grupo de arquivos para READ_ONLY ou READ_WRITE requer acesso exclusivo ao banco de dados.Changing the state of a database or filegroup to READ_ONLY or READ_WRITE requires exclusive access to the database. O exemplo a seguir define o banco de dados como o modo SINGLE_USER para obter acesso exclusivo.The following example sets the database to SINGLE_USER mode to obtain exclusive access. Em seguida, o exemplo define o estado do banco de dados AdventureWorks2012AdventureWorks2012 como READ_ONLY e retorna o acesso ao banco de dados para todos os usuários.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

Observação

Este exemplo usa a opção de término WITH ROLLBACK IMMEDIATE na primeira instrução ALTER DATABASE .This example uses the termination option WITH ROLLBACK IMMEDIATE in the first ALTER DATABASE statement. Todas as transações incompletas serão revertidas e qualquer outra conexão com o banco de dados AdventureWorks2012AdventureWorks2012 será desconectada imediatamente.All incomplete transactions will be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database will be immediately disconnected.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

C.C. Habilitando o isolamento de instantâneo em um banco de dadosEnabling snapshot isolation on a database

O exemplo a seguir habilita a opção de estrutura de isolamento de instantâneo para o banco de dados AdventureWorks2012AdventureWorks2012 .The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE AdventureWorks2012;
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2012';
GO

O conjunto de resultados mostra que a estrutura de isolamento de instantâneo está habilitada.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriçãodescription
AdventureWorks2012AdventureWorks2012 11 ONON

D.D. Habilitando, modificando e desabilitando o controle de alteraçõesEnabling, modifying, and disabling change tracking

O exemplo a seguir habilita o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 e define o período de retenção para 2 dias.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

O exemplo a seguir mostra como alterar o período de retenção para 3 dias.The following example shows how to change the retention period to 3 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

O exemplo a seguir mostra como desabilitar o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = OFF;

E.E. Habilitando o repositório de consultasEnabling the query store

Aplica-se ao: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) até SQL Server 2017SQL Server 2017)Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017)

O exemplo a seguir habilita o repositório de consultas e configura os parâmetros do repositório de consultas.The following example enables the query store and configures query store parameters.

ALTER DATABASE AdventureWorks2012
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE,
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      QUERY_CAPTURE_MODE = AUTO,
      MAX_STORAGE_SIZE_MB = 1024,
      INTERVAL_LENGTH_MINUTES = 60
    );

F.F. Como habilitar o repositório de consultas com estatísticas de esperaEnabling the query store with wait statistics

Aplica-se ao: SQL ServerSQL Server (Do SQL Server 2017 (14.x)SQL Server 2017 (14.x) em diante)Applies to: SQL ServerSQL Server (Starting wityh SQL Server 2017 (14.x)SQL Server 2017 (14.x))

O exemplo a seguir habilita o repositório de consultas e configura os parâmetros do repositório de consultas.The following example enables the query store and configures query store parameters.

ALTER DATABASE AdventureWorks2016
SET QUERY_STORE = ON
    (
      OPERATION_MODE = READ_WRITE, 
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024, 
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO, 
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
    );

G.G. Como habilitar o repositório de consultas com opções de política de captura personalizadasEnabling the query store with custom capture policy options

Aplica-se ao: SQL ServerSQL Server (Começando pelo Versão prévia do SQL Server 2019SQL Server 2019 preview)Applies to: SQL ServerSQL Server (Starting with Versão prévia do SQL Server 2019SQL Server 2019 preview)

O exemplo a seguir habilita o repositório de consultas e configura os parâmetros do repositório de consultas.The following example enables the query store and configures query store parameters.

ALTER DATABASE AdventureWorks2016 
SET QUERY_STORE = ON 
    (
      OPERATION_MODE = READ_WRITE, 
      CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 ),
      DATA_FLUSH_INTERVAL_SECONDS = 900,
      MAX_STORAGE_SIZE_MB = 1024, 
      INTERVAL_LENGTH_MINUTES = 60,
      SIZE_BASED_CLEANUP_MODE = AUTO, 
      MAX_PLANS_PER_QUERY = 200,
      WAIT_STATS_CAPTURE_MODE = ON,
      QUERY_CAPTURE_MODE = CUSTOM,
      QUERY_CAPTURE_POLICY = (
        STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
        EXECUTION_COUNT = 30,
        TOTAL_COMPILE_CPU_TIME_MS = 1000,
        TOTAL_EXECUTION_CPU_TIME_MS = 100 
      )
    );

Consulte TambémSee Also

SQL ServerSQL Server * Banco de dados individual/pool elástico
do Banco de Dados SQL *
 
* SQL Database
single database/elastic pool *
 
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse

 

Banco de dados individual/pool elástico do Banco de Dados SQL do AzureAzure SQL Database single database/elastic pool

Níveis de compatibilidade são opções SET, mas são descritas em Nível de Compatibilidade de ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Observação

Muitas opções de definição de banco de dados podem ser configuradas para a sessão atual usando Instruções SET e são configuradas com frequência por aplicativos quando eles são conectados.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. As opções definidas no nível de sessão substituem os valores de ALTER DATABASE SET .Session level set options override the ALTER DATABASE SET values. As opções de banco de dados descritas abaixo são os valores que podem ser definidos para as sessões que não fornecem explicitamente outros valores de definição de conjunto.The database options described below are values that can be set for sessions that don't explicitly provide other set option values.

SintaxeSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <option_spec> [ ,...n ] [ WITH <termination> ]
}
;

<option_spec> ::=
{
    <auto_option>
  | <automatic_tuning_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;
<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
  | AUTOMATIC_TUNING ( CREATE_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( DROP_INDEX = { DEFAULT | ON | OFF } )
  | AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF } )
}

<change_tracking_option> ::=
{
  CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<db_update_option> ::=
  { READ_ONLY | READ_WRITE }

<db_user_access_option> ::=
  { RESTRICTED_USER | MULTI_USER }

<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
    = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = [ AUTO | OFF ]
  | QUERY_CAPTURE_MODE = [ ALL | AUTO | NONE ]
  | MAX_PLANS_PER_QUERY = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<termination>::=
{
    ROLLBACK AFTER integer [ SECONDS ]
  | ROLLBACK IMMEDIATE
  | NO_WAIT
}

<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

ArgumentosArguments

database_name database_name
É o nome do banco de dados a ser modificado.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT executa a ação no banco de dados atual.CURRENT runs the action in the current database. CURRENT não é compatível com todas as opções em todos os contextos.CURRENT isn't supported for all options in all contexts. Se CURRENT falhar, forneça o nome do banco de dados.If CURRENT fails, provide the database name.

<auto_option> ::=<auto_option> ::=

Controla opções automáticas.Controls automatic options. AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
O otimizador de consulta cria estatísticas em colunas únicas em predicados de consulta, conforme necessário, para melhorar planos e desempenho de consulta.The query optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estatísticas de coluna única são criadas quando o otimizador de consulta compila consultas.These single-column statistics are created when the query optimizer compiles queries. As estatísticas de coluna única só são criadas em colunas que ainda não são a primeira de um objeto de estatísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

OFFOFF
O otimizador de consulta não cria estatísticas em colunas únicas em predicados de consulta quando está compilando as consultas.The query optimizer doesn't create statistics on single columns in query predicates when it is compiling queries. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_create_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoCreateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

INCREMENTAL = ON | OFFINCREMENTAL = ON | OFF
Defina AUTO_CREATE_STATISTICS como ON e INCREMENTAL como ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Essa configuração cria estatísticas criadas automaticamente como incrementais sempre que há suporte para estatísticas incrementais.This setting creates automatically created stats as incremental whenever incremental stats are supported. O valor padrão é OFF.The default value is OFF. Para saber mais, veja CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Os arquivos de banco de dados são candidatos à redução periódica.The database files are candidates for periodic shrinking.

Arquivos de dados e arquivos de log podem ser reduzidos automaticamente.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduzirá o tamanho do log de transações somente se o banco de dados estiver definido como modelo de recuperação SIMPLE ou se o log tiver sido submetido a backup.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Quando definido como OFF, os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

A opção AUTO_SHRINK faz com que os arquivos sejam reduzidos quando mais que 25% do arquivo contém espaço não utilizado.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. A opção faz com que o arquivo diminua em um dos dois tamanhos.The option causes the file to shrink to one of two sizes. Ele reduz o que for maior:It shrinks to whichever is larger:

  • o tamanho em que 25% do arquivo é o espaço não utilizadoThe size where 25 percent of the file is unused space
  • o tamanho do arquivo quando ele foi criadoThe size of the file when it was created

Não é possível reduzir um banco de dados somente leitura.You can't shrink a read-only database.

OFFOFF
Os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Você pode determinar o status dessa opção examinando a coluna is_auto_shrink_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoShrink da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Observação

A opção AUTO_SHRINK não está disponível em um banco de dados independente.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que o otimizador de consulta atualiza as estatísticas quando elas são usadas por uma consulta e quando podem estar desatualizadas.Specifies that the query optimizer updates statistics when they're used by a query and when they might be out-of-date. As estatísticas ficam desatualizadas depois que operações de inserção, atualização, exclusão ou mesclagem alteram a distribuição de dados na tabela ou na exibição indexada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. O otimizador de consulta determina quando estatísticas podem estar desatualizadas contando o número de modificações de dados desde a última atualização das estatísticas e comparando o número de modificações a um limite.The query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. O limite se baseia no número de linhas na tabela ou na exibição indexada.The threshold is based on the number of rows in the table or indexed view.

O otimizador de consulta verifica se há estatísticas desatualizadas antes de compilar uma consulta e executa um plano de consulta em cache.The query optimizer checks for out-of-date statistics before it compiles a query and it runs a cached query plan. O otimizador de consulta usa as colunas, as tabelas e as exibições indexadas no predicado de consulta para determinar quais estatísticas podem estar desatualizadas.The query optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. O otimizador de consulta determina essas informações antes de compilar uma consulta.The query optimizer determines this information before it compiles a query. Antes de executar um plano de consulta em cache, o Mecanismo de Banco de DadosDatabase Engine verifica se o plano de consulta faz referência a estatísticas atualizadas.Before executing a cached query plan, the Mecanismo de Banco de DadosDatabase Engine verifies that the query plan references up-to-date statistics.

A opção AUTO_UPDATE_STATISTICS se aplica a estatísticas criadas para índices, colunas únicas em predicados de consulta, além de estatísticas criadas por meio da instrução CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Essa opção também se aplica a estatísticas filtradas.This option also applies to filtered statistics.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

Use a opção AUTO_UPDATE_STATISTICS_ASYNC para especificar se as estatísticas são atualizadas de forma síncrona ou assíncrona.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que o otimizador de consulta não atualiza as estatísticas quando elas são usadas por uma consulta.Specifies that the query optimizer doesn't update statistics when they're used by a query. O otimizador de consulta também não atualiza estatísticas quando elas podem estar desatualizadas.The query optimizer also doesn't update statistics when they might be out-of-date. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoUpdateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são assíncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. O otimizador de consulta não aguarda a conclusão das atualizações de estatísticas para compilar consultas.The query optimizer doesn't wait for statistics updates to complete before it compiles queries.

Definir essa opção como ON não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Por padrão, a opção AUTO_UPDATE_STATISTICS_ASYNC é definida como OFF e o otimizador de consulta atualiza estatísticas de forma síncrona.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and the query optimizer updates statistics synchronously.

OFFOFF
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são síncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. O otimizador de consulta aguarda a conclusão das atualizações de estatísticas para compilar consultas.The query optimizer waits for statistics updates to complete before it compiles queries.

Definir essa opção como OFF não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_async_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Para obter mais informações que descrevem quando usar atualizações de estatísticas síncronas ou assíncronas, veja a seção que "Usando as opções de estatísticas em todo o banco de dados" em Estatísticas.For more information that describes when to use synchronous or asynchronous statistics updates, see the section "Using the Database-Wide Statistics Options" in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Aplica-se a: SQL Server 2017 (14.x)SQL Server 2017 (14.x).Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x).

Controla opções automáticas para ajuste automático.Controls automatic options for automatic tuning.

AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }AUTOMATIC_TUNING = { AUTO | INHERIT | CUSTOM }
AUTOAUTO
Configurar o valor de ajuste automático como AUTO aplicará a configuração padrão do Azure ao ajuste automático.Setting the automatic tuning value to AUTO will apply Azure configuration defaults for automatic tuning.

INHERITINHERIT
Ao usar o valor INHERIT, você herdará a configuração padrão do servidor pai.Using the value INHERIT will inherit the default configuration from the parent server. Isso será útil principalmente se você quiser personalizar a configuração de ajuste automático em um servidor pai e fazer com que todos os bancos de dados deste servidor herdem (INHERIT) essas configurações personalizadas.This is especially useful if you would like to customize automatic tuning configuration on a parent server, and have all the databases on such server INHERIT these custom settings. Observe que para a herança funcionar, as três opções de ajuste individuais, FORCE_LAST_GOOD_PLAN, CREATE_INDEX e DROP_INDEX, precisam ser configuradas como DEFAULT nos bancos de dados.Please note that in order for the inheritance to work, the three individual tuning options FORCE_LAST_GOOD_PLAN, CREATE_INDEX and DROP_INDEX need to be set to DEFAULT on databases.

CUSTOMCUSTOM
Ao usar o valor CUSTOM, você precisará personalizar manualmente cada opção de configuração de ajuste automático disponível nos bancos de dados.Using the value CUSTOM, you will need to manually custom configure each of the automatic tuning options available on databases.

Habilita ou desabilita a opção CREATE_INDEX de ajuste automático do gerenciamento de índices automático.Enables or disables automatic index management CREATE_INDEX option of automatic tuning.

CREATE_INDEX = { DEFAULT | ON | OFF }CREATE_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFALT
Herda as configurações padrão do servidor.Inherits default settings from the server. Nesse caso, as opções de habilitar ou desabilitar os recursos individuais de ajuste automático são definidas no nível do servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Quando habilitado, os índices ausentes são gerados de forma automática em um banco de dados.When enabled, missing indexes are automatically generated on a database. Após a criação do índice, os ganhos de desempenho da carga de trabalho são verificados.Following the index creation, gains to the performance of the workload are verified. Quando o índice criado não oferecer mais benefícios para o desempenho da carga de trabalho, será automaticamente revertido.When such created index no longer provides benefits to the workload performance, it is automatically reverted. Os índices criados automaticamente são sinalizados como gerados pelo sistema.Indexes automatically created are flagged as a system generated indexed.

OFFOFF
Não gera índices ausentes de modo automático no banco de dados.Doesn't automatically generate missing indexes on the database.

Habilita ou desabilita a opção DROP_INDEX de ajuste automático do gerenciamento de índices automático.Enables or disables automatic index management DROP_INDEX option of automatic tuning.

DROP_INDEX = { DEFAULT | ON | OFF }DROP_INDEX = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Herda as configurações padrão do servidor.Inherits default settings from the server. Nesse caso, as opções de habilitar ou desabilitar os recursos individuais de ajuste automático são definidas no nível do servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
Remove automaticamente os índices duplicados ou que não são mais úteis da carga de trabalho de desempenho.Automatically drops duplicate or no longer useful indexes to the performance workload.

OFFOFF
Não remove índices ausentes automaticamente no banco de dados.Doesn't automatically drop missing indexes on the database.

Habilita ou desabilita a opção FORCE_LAST_GOOD_PLAN de ajuste automático da correção de plano automática.Enables or disables automatic plan correction FORCE_LAST_GOOD_PLAN option of automatic tuning.

FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }FORCE_LAST_GOOD_PLAN = { DEFAULT | ON | OFF }
DEFAULTDEFAULT
Herda as configurações padrão do servidor.Inherits default settings from the server. Nesse caso, as opções de habilitar ou desabilitar os recursos individuais de ajuste automático são definidas no nível do servidor.In this case, options of enabling or disabling individual Automatic tuning features are defined at the server level.

ONON
O Mecanismo de Banco de DadosDatabase Engine força automaticamente o último plano sabidamente válido nas consultas Transact-SQLTransact-SQL em que o novo plano SQL provoca regressões de desempenho.The Mecanismo de Banco de DadosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new SQL plan causes performance regressions. O Mecanismo de Banco de DadosDatabase Engine monitora continuamente o desempenho de consultas da consulta Transact-SQLTransact-SQL com o plano forçado.The Mecanismo de Banco de DadosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Se não houver ganhos de desempenho, o Mecanismo de Banco de DadosDatabase Engine continuará usando o último plano válido conhecido.If there are performance gains, the Mecanismo de Banco de DadosDatabase Engine will keep using last known good plan. Se os ganhos de desempenho não forem detectados, o Mecanismo de Banco de DadosDatabase Engine produzirá um novo plano SQL.If performance gains are not detected, the Mecanismo de Banco de DadosDatabase Engine will produce a new SQL plan. A instrução falhará se o Repositório de Consultas não estiver habilitado ou não estiver no modo de Leitura-Gravação.The statement will fail if Query Store isn't enabled or if it isn't in Read-Write mode.

OFFOFF
O Mecanismo de Banco de DadosDatabase Engine relata possíveis regressões de desempenho de consulta causadas por alterações de plano SQL na exibição sys.dm_db_tuning_recommendations.The Mecanismo de Banco de DadosDatabase Engine reports potential query performance regressions caused by SQL plan changes in sys.dm_db_tuning_recommendations view. No entanto, essas recomendações não são aplicadas automaticamente.However, these recommendations are not automatically applied. Usuário pode monitorar recomendações ativas e corrigir problemas identificados aplicando scripts Transact-SQLTransact-SQL mostrados na exibição.User can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Este é o valor padrão.This is the default value.

<change_tracking_option> ::=<change_tracking_option> ::=

Controla as opções de controle de alterações.Controls change tracking options. É possível habilitar o controle de alterações, definir opções, alterar opções e desabilitar o controle de alterações.You can enable change tracking, set options, change options, and disable change tracking. Para obter exemplos, confira a seção Exemplos mais adiante neste artigo.For examples, see the Examples section later in this article.

ONON
Habilita o controle de alterações no banco de dados.Enables change tracking for the database. Quando você habilita o controle de alterações, também pode definir as opções AUTO CLEANUP e CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
As informações de controle de alterações são removidas automaticamente após o período de retenção especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Os dados de controle de alterações não são removidos do banco de dados.Change tracking data isn't removed from the database.

CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES } Especifica o período mínimo para manter informações no banco de dados de controle de alterações.CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES } Specifies the minimum period for keeping change tracking information in the database. Os dados serão removidos somente quando o valor AUTO_CLEANUP for ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period é um inteiro que especifica o componente numérico do período de retenção.retention_period is an integer that specifies the numerical component of the retention period.

O período de retenção padrão é de 2 dias.The default retention period is 2 days. O período de retenção mínimo é de 1 minuto.The minimum retention period is 1 minute. O tipo de retenção padrão é DAYS.The default retention type is DAYS.

OFFOFF
Desabilita o controle de alterações no banco de dados.Disables change tracking for the database. Desabilite o controle de alterações em todas as tabelas antes de desabilitá-lo no banco de dados.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::=<cursor_option> ::=

Controla opções de cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos os cursores abertos quando você confirma ou reverte uma transação são fechados.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Os cursores permanecem abertos quando uma transação é confirmada; uma transação revertida fecha todos os cursores, exceto aqueles definidos como INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

As configurações no nível de conexão que são definidas com o uso da instrução SET substituem a configuração de banco de dados padrão por CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Clientes ODBC e OLE DB emitem uma configuração CURSOR_CLOSE_ON_COMMIT de instrução SET no nível de conexão como desativada para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

É possível determinar o status dessa opção examinando a coluna is_cursor_close_on_commit_on na exibição do catálogo sys.databases ou a propriedade IsCloseCursorsOnCommitEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. O cursor é implicitamente desalocado somente na desconexão.The cursor is implicitly deallocated only at disconnect. Para saber mais, confira DECLARE CURSOR.For more information, see DECLARE CURSOR.

<db_encryption_option> ::=<db_encryption_option> ::=

Controla o estado de criptografia do banco de dados.Controls the database encryption state.

ENCRYPTION {ON | OFF}ENCRYPTION {ON | OFF}
Define o banco de dados a ser criptografado (ON) ou não criptografado (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Para saber mais sobre criptografia de banco de dados, confira Transparent Data Encryption e Transparent Data Encryption com o Banco de Dados SQL do Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quando a criptografia estiver habilitada no nível de banco de dados, todos os grupos de arquivos serão criptografados.When encryption is enabled at the database level, all filegroups will be encrypted. Qualquer novo grupo de arquivos herdará a propriedade criptografada.Any new filegroups will inherit the encrypted property. Se algum grupo de arquivos do banco de dados for definido como READ ONLY, haverá falha na operação de criptografia de banco de dados.If any filegroups in the database are set to READ ONLY, the database encryption operation will fail.

É possível ver o estado da criptografia do banco de dados usando a exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::=<db_update_option> ::=

Controla se atualizações são permitidas no banco de dados.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Os usuários podem ler dados do banco de dados, mas não os modificar.Users can read data from the database but not modify it.

Observação

Para melhorar o desempenho da consulta, atualize as estatísticas antes de configurar um banco de dados como READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Se forem necessárias estatísticas adicionais depois de um banco de dados ser definido como READ_ONLY, o Mecanismo de Banco de DadosDatabase Engine criará estatísticas no tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Mecanismo de Banco de DadosDatabase Engine will create statistics in tempdb. Para obter mais informações sobre estatísticas para um banco de dados somente leitura, veja Estatísticas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
O banco de dados está disponível para operações de leitura e gravação.The database is available for read and write operations.

Para alterar esse estado, é necessário ter acesso exclusivo ao banco de dados.To change this state, you must have exclusive access to the database. Para obter mais informações, consulte a cláusula SINGLE_USER.For more information, see the SINGLE_USER clause.

Observação

Nos bancos de dados federados do Banco de Dados SQLSQL Database, SET { READ_ONLY | READ_WRITE } é desabilitado.On Banco de Dados SQLSQL Database federated databases, SET { READ_ONLY | READ_WRITE } is disabled.

<db_user_access_option> ::=<db_user_access_option> ::=

Controla o acesso de usuários ao banco de dados.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
RESTRICTED_USER permite que somente os membros da função de banco de dados fixa db_owner e das funções de servidor fixas dbcreator e sysadmin conectem-se ao banco de dados, mas não limita seu número.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Todas as conexões com o banco de dados são desconectadas no período especificado pela cláusula de término da instrução ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Depois que o banco de dados fizer a transição para o estado RESTRICTED_USER, as tentativas de conexão realizadas por usuários não qualificados serão recusadas.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER não pode ser modificado com a instância gerenciada do Banco de Dados SQL.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Todos os usuários com permissões apropriadas para se conectar ao banco de dados são permitidos.All users that have the appropriate permissions to connect to the database are allowed.

Você pode determinar o status dessa opção examinando a coluna user_access na exibição do catálogo sys.databases ou a propriedade UserAccess da função DATABASEPROPERTYEX.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::=<delayed_durability_option> ::=

Controla se as transações são confirmadas completamente duráveis ou duráveis atrasadas.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas as transações após SET DISABLED são completamente duráveis.All transactions following SET DISABLED are fully durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas as transações após SET ALLOWED são completamente duráveis ou duráveis atrasadas, dependendo da opção de durabilidade definida no bloco atômico ou na instrução de confirmação.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Todas as transações após SET FORCED são duráveis atrasadas.All transactions following SET FORCED are delayed durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Controla a opção de parametrização.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
As consultas são parametrizadas com base no comportamento padrão do banco de dados.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
O SQL ServerSQL Server parametriza todas as consultas no banco de dados.SQL ServerSQL Server parameterizes all queries in the database.

A configuração atual desta opção pode ser determinada por meio do exame da coluna is_parameterization_forced na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Controla se o repositório de consultas está habilitado nesse banco de dados, além de controlar a remoção do conteúdo do repositório de consultas.Controls if the query store is enabled in this database, and also controls removing the contents of the query store.

ONON
Habilita o repositório de consultas.Enables the query store.

OFFOFF
Desabilita o repositório de consultas.Disables the query store. Este é o valor padrão.This is the default value.

CLEARCLEAR
Remove o conteúdo do repositório de consultas.Remove the contents of the query store.

OPERATION_MODEOPERATION_MODE
Descreve o modo de operação do repositório de consultas.Describes the operation mode of the query store. Os valores válidos são READ_ONLY e READ_WRITE.Valid values are READ_ONLY and READ_WRITE. No modo READ_WRITE, o repositório de consultas coleta e persiste as informações das estatísticas de execução do plano de consulta e do tempo de execução.In READ_WRITE mode, the query store collects and persists query plan and runtime execution statistics information. No modo READ_ONLY, as informações podem ser lidas do repositório de consultas, mas novas informações não são adicionadas.In READ_ONLY mode, information can be read from the query store, but new information isn't added. Se o espaço máximo alocado do repositório de consultas tiver se esgotado, o repositório de consultas alterará o modo de operação para READ_ONLY.If the maximum allocated space of the query store has been exhausted, the query store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Descreve a política de retenção de dados do repositório de consultas.Describes the data retention policy of the query store. STALE_QUERY_THRESHOLD_DAYS determina o número de dias que as informações de uma consulta são mantidas no repositório de consultas.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the query store. STALE_QUERY_THRESHOLD_DAYS é do tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina a frequência na qual os dados gravados no repositório de consultas é persistida no disco.Determines the frequency at which data written to the query store is persisted to disk. Para otimizar o desempenho, os dados coletados pelo repositório de consultas são gravados de maneira assíncrona no disco.To optimize for performance, data collected by the query store is asynchronously written to the disk. A frequência em que essa transferência assíncrona ocorre é configurada usando o argumento DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS é do tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina o espaço alocado para o repositório de consultas.Determines the space allocated to the query store. MAX_STORAGE_SIZE_MB é do tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Determina o intervalo de tempo em que os dados de estatísticas de execução do tempo de execução são agregados no repositório de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the query store. Para otimizar o uso de espaço, as estatísticas de execução de tempo de execução no repositório de estatísticas de tempo de execução são agregadas em uma janela de tempo fixo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Essa janela de tempo fixo é configurada usando o argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES é do tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Controla se a limpeza será ativada automaticamente quando a quantidade total de dados se aproximar do tamanho máximo:Controls whether cleanup will be automatically activated when total amount of data gets close to maximum size:

OFFOFF
A limpeza com base no tamanho não será ativada automaticamente.Size based cleanup won't be automatically activated.

AUTOAUTO
A limpeza com base em tamanho será ativada automaticamente quando o tamanho em disco atingir 90% do max_storage_size_mb.Size based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Limpeza com base no tamanho remove as consultas menos dispendiosas e mais antigas primeiro.Size based cleanup removes the least expensive and oldest queries first. Ele para a aproximadamente 80% do max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Esse é o valor de configuração padrão.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE é do tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Designa o modo de captura de consulta ativo no momento:Designates the currently active query capture mode:

ALLALL
Todas as consultas são capturadas.All queries are captured. Esse é o valor de configuração padrão.This is the default configuration value.

AUTOAUTO
Captura consultas de relevantes com base na contagem de execução e no consumo de recursos. Esse é o valor de configuração padrão para Banco de Dados SQLSQL DatabaseCapture relevant queries based on execution count and resource consumption.This is the default configuration value for Banco de Dados SQLSQL Database

NenhumaNONE
Pare de capturar novas consultas.Stop capturing new queries. O Repositório de Consultas continuará a coletar estatísticas de compilação e tempo de execução para consultas que já foram capturadas.Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use essa configuração com cuidado, pois você poderá deixar de capturar consultas importantes.Use this configuration with caution since you may miss to capture important queries.

QUERY_CAPTURE_MODE é do tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Um número inteiro que representa a quantidade máxima de planos de manutenção para cada consulta.An integer representing the maximum number of plans maintained for each query. O padrão é 200.Default is 200.

<snapshot_option> ::=<snapshot_option> ::=

Determina o nível de isolamento da transação.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita a opção de Instantâneo no nível do banco de dados.Enables Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it is enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações podem especificar o nível de isolamento da transação SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Ao executar uma transação no nível de isolamento SNAPSHOT, todas as instruções consultam um instantâneo de dados, se houver um no início da instrução.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Se uma transação que executa no nível de isolamento SNAPSHOT acessar dados em vários bancos de dados, ALLOW_SNAPSHOT_ISOLATION deverá ser definido como ON em todos os bancos de dados ou cada instrução na transação deverá usar dicas de bloqueio em qualquer referência em uma cláusula FROM para uma tabela em um banco de dados onde ALLOW_SNAPSHOT_ISOLATION seja OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Desliga a opção de Instantâneo no nível do banco de dados.Turns off the Snapshot option at the database level. As transações não podem especificar o nível de isolamento da transação SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Ao definir ALLOW_SNAPSHOT_ISOLATION para um novo estado (de ON para OFF ou de OFF para ON), ALTER DATABASE não retorna o controle para o chamador até que todas as transações existentes no banco de dados sejam confirmadas.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Se o banco de dados já estiver no estado especificado na instrução ALTER DATABASE, o controle será retornado ao chamador imediatamente.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Se a instrução ALTER DATABASE não for retornada rapidamente, use sys.dm_tran_active_snapshot_database_transactions para determinar se há transações de longa duração.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Se a instrução ALTER DATABASE for cancelada, o banco de dados permanecerá no estado que estava quando ALTER DATABASE foi iniciada.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. A exibição do catálogo sys.databases indica o estado de transações de isolamento de instantâneo no banco de dados.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Se snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF fará uma pausa de seis segundos e tentará novamente executar a operação.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Não será possível alterar o estado de ALLOW_SNAPSHOT_ISOLATION se o banco de dados for OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Se você definir ALLOW_SNAPSHOT_ISOLATION em um banco de dados READ_ONLY, a configuração será mantida se o banco de dados for definido mais tarde como READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

É possível alterar as configurações ALLOW_SNAPSHOT_ISOLATION para os bancos de dados mestre, modelo, msdb e tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. A configuração é mantida sempre que a instância do Mecanismo de Banco de DadosDatabase Engine é interrompida e reiniciada se você altera a configuração para tempdb.The setting is kept every time the instance of the Mecanismo de Banco de DadosDatabase Engine is stopped and restarted if you change the setting for tempdb. Ao alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

A opção é ON, por padrão, para os bancos de dados mestre e msdb.The option is ON, by default, for the master and msdb databases.

A configuração atual dessa opção pode ser determinada examinando-se a coluna snapshot_isolation_state na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Habilita a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Enables Read-Committed Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações que especificam o nível de isolamento de leitura confirmada usam o controle de versão de linha, em vez de bloqueio.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Todas as instruções consultam um instantâneo de dados, se houver um no início da instrução quando uma transação é executada no nível de isolamento de leitura confirmada.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the read committed isolation level.

OFFOFF
Desliga a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Turns off Read-Committed Snapshot option at the database level. As transações que especificam o nível de isolamento READ COMMITTED usam bloqueio.Transactions specifying the READ COMMITTED isolation level use locking.

Para definir READ_COMMITTED_SNAPSHOT como ON ou OFF, não deve haver nenhuma conexão ativa com o banco de dados exceto para a que está executando o comando ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection executing the ALTER DATABASE command. Entretanto, o banco de dados não precisa estar no modo de usuário único.However, the database doesn't have to be in single-user mode. Não é possível alterar o estado dessa opção quando o banco de dados for OFFLINE.You can't change the state of this option when the database is OFFLINE.

Se você definir READ_COMMITTED_SNAPSHOT em um banco de dados READ_ONLY, a configuração será mantida quando o banco de dados for definido mais tarde como READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT não pode ser ativado como ON para os bancos de dados do sistema mestre, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Se você alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_read_committed_snapshot_on na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Aviso

Quando uma tabela é criada com DURABILITY = SCHEMA_ONLY e READ_COMMITTED_SNAPSHOT for subsequentemente alterado usando ALTER DATABASE, os dados na tabela serão perdidos.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
ONON
Quando o nível de isolamento da transação é definido com qualquer nível de isolamento inferior a SNAPSHOT, todas as operações Transact-SQLTransact-SQL interpretadas em tabelas com otimização de memória são executadas no isolamento de SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Exemplos de níveis de isolamento inferiores ao snapshot são READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Essas operações são executadas não importa se o nível de isolamento da transação é definido explicitamente no nível de sessão ou se a opção é usada implicitamente.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Não eleva o nível de isolamento da transação para operações interpretadas do Transact-SQLTransact-SQL em tabelas com otimização de memória.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Não será possível alterar o estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT se o banco de dados for OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

O valor padrão é OFF.The default value is OFF.

A configuração atual dessa opção pode ser determinada, examinando a coluna is_memory_optimized_elevate_to_snapshot_on na exibição de catálogo sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Controla as opções de conformidade ANSI no nível de banco de dados.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Determina o valor padrão, NULL ou NOT NULL, de uma coluna ou um tipo CLR definido pelo usuário para o qual a nulidade não é definida explicitamente nas instruções CREATE TABLE ou ALTER TABLE.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. As colunas definidas com restrições seguem as regras de restrição, qualquer que seja essa configuração.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
O valor padrão é NULL.The default value is NULL.

OFFOFF
O valor padrão é NOT NULL.The default value is NOT NULL.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULL_DEFAULT como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para compatibilidade ANSI, definir a opção de banco de dados ANSI_NULL_DEFAULT como ON altera o banco de dados padrão para NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Você pode determinar o status dessa opção examinando a coluna is_ansi_null_default_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullDefault da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Todas as comparações com um valor nulo são avaliadas como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
As comparações de valores não UNICODE com um valor nulo são avaliadas como TRUE se ambos os valores são NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_NULLS sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULLS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

SET ANSI_NULLS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_ansi_nulls_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
As cadeias de caracteres são preenchidas com a mesma largura antes da conversão.Strings are padded to the same length before conversion. Também são preenchidas com o mesmo comprimento antes de inserir para um tipo de dados varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Insere espaços em branco à direita em valores de caractere em colunas varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Também deixa zeros à direita em valores binários inseridos nas colunas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Os valores não são preenchidos com o tamanho da coluna.Values aren't padded to the length of the column.

Quando OFF é especificado, essa configuração afeta apenas a definição de novas colunas.When OFF is specified, this setting affects only the definition of new columns.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_PADDING sempre será ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. É recomendável sempre definir ANSI_PADDING como ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING deve ser ON ao criar ou manipular índices em colunas computadas ou exibições indexadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Colunas char(n) e binary(n) que permitem valores nulos são preenchidas até o comprimento da coluna quando ANSI_PADDING está definido como ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Espaços em branco e zeros à direita são cortados quando ANSI_PADDING está OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. As colunas char(n) e binary(n) que não permitem valores nulos sempre são preenchidas até o tamanho da coluna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_PADDING como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Você pode determinar o status dessa opção examinando a coluna is_ansi_padding_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiPaddingEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
Erros ou avisos são emitidos quando ocorrem condições como divisão por zero.Errors or warnings are issued when conditions such as divide-by-zero occur. Erros e avisos também são emitidos quando valores nulos aparecerem em funções de agregação.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Nenhum aviso é acionado e os valores nulos são retornados quando ocorrem condições como divisão por zero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

SET ANSI_WARNINGS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_WARNINGS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_WARNINGS.

Você pode determinar o status dessa opção examinando a coluna is_ansi_warnings_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiWarningsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Uma consulta é encerrada quando ocorre um estouro ou um erro de divisão por zero durante a execução da consulta.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Uma mensagem de aviso é exibida quando um desses erros ocorre.A warning message is displayed when one of these errors occurs. A consulta, o lote ou a transação continuará sendo processado como se nenhum erro tivesse ocorrido, mesmo que um aviso seja exibido.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

SET ARITHABORT também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_arithabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Também é possível determinar o status examinando a propriedade IsArithmeticAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Para saber mais, confira ALTER DATABASE Compatibility Level.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
O resultado de uma operação de concatenação será NULL quando qualquer operando for NULL.The result of a concatenation operation is NULL when either operand is NULL. Por exemplo, concatenar a cadeia de caracteres "This is" e NULL gera o valor NULL, em vez do valor "This is".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
O valor nulo é tratado como uma cadeia de caracteres vazia.The null value is treated as an empty character string.

CONCAT_NULL_YIELDS_NULL deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

Em uma versão futura do SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Por padrão, clientes ODBC e OLE DB emitem uma configuração CONCAT_NULL_YIELDS_NULL de instrução SET no nível de conexão como ON para a sessão ao se conectar a uma instância do SQL ServerSQL Server.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Para saber mais, confira SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Você pode determinar o status dessa opção examinando a coluna is_concat_null_yields_null_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsNullConcat da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
As aspas duplas podem ser utilizadas para conter identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas as cadeias de caracteres delimitadas por aspas duplas são interpretadas como identificadores de objeto.All strings delimited by double quotation marks are interpreted as object identifiers. Os identificadores entre aspas não precisam seguir as regras Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Eles podem ser palavras-chave e incluir caracteres não permitidos nos identificadores Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Se o sinal de aspas simples (') fizer parte da cadeia de caracteres literal, ele poderá ser representado por aspas duplas (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Os identificadores não podem estar entre aspas e precisam seguir todas as regras do Transact-SQLTransact-SQL para identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literais podem ser delimitados por aspas simples ou duplas.Literals can be delimited by either single or double quotation marks.

O SQL ServerSQL Server também permite que os identificadores sejam delimitados por colchetes ([ ]).SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Identificadores entre colchetes sempre podem ser usados, seja qual for a configuração QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obter mais informações, consulte Database Identifiers.For more information, see Database Identifiers.

Quando uma tabela é criada, a opção QUOTED IDENTIFIER sempre é armazenada como ON nos metadados da tabela.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. A opção é armazenada mesmo que seja definida como OFF quando a tabela é criada.The option is stored even if the option is set to OFF when the table is created.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Clientes ODBC e OLE DB emitem uma instrução SET no nível de conexão configurando QUOTED_IDENTIFIER como ON por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Você pode determinar o status dessa opção examinando a coluna is_quoted_identifier_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsQuotedIdentifiersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Um erro é gerado quando ocorre perda de precisão em uma expressão.An error is generated when loss of precision occurs in an expression.

OFFOFF
As perdas de precisão não geram mensagens de erro e o resultado é arredondado para a precisão da coluna ou da variável que armazena o resultado.Losses of precision don't generate error messages and the result is rounded to the precision of the column or variable storing the result.

NUMERIC_ROUNDABORT deve ser definido como OFF ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_numeric_roundabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsNumericRoundAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
O disparo recursivo de gatilhos AFTER é permitido.Recursive firing of AFTER triggers is allowed.

OFFOFF
Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Observação

Somente a recursão direta será evitada quando RECURSIVE_TRIGGERS estiver definido como OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para desabilitar a recursão indireta, é necessário definir também a opção do servidor nested triggers como 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases ou a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::=<target_recovery_time_option> ::=

Especifica a frequência de pontos de verificação indiretos por banco de dados.Specifies the frequency of indirect checkpoints on a per-database basis. Começando pelo SQL Server 2016 (13.x)SQL Server 2016 (13.x), o valor padrão para novos bancos de dados é de 1 minuto, o que indica que o banco de dados usará pontos de verificação indiretos.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Para versões mais antigas, o padrão é 0, o que indica que o banco de dados usará pontos de verificação automáticos cuja frequência depende da configuração do intervalo de recuperação da instância de servidor.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft recomenda 1 minuto para a maioria dos sistemas.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Especifica o limite máximo no tempo para recuperar o banco de dados especificado no caso de uma falha.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indica que target_recovery_time é expresso como o número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time é expresso como o número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para saber mais sobre pontos de verificação indiretos, confira Pontos de verificação de banco de dados.For more information about indirect checkpoints, see Database Checkpoints.

WITH <termination> ::=WITH <termination> ::=

Especifica quando reverter transações incompletas quando há transição do banco de dados de um estado para outro.Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. Se a cláusula de término for omitida, a instrução ALTER DATABASE aguardará indefinidamente se houver algum bloqueio no banco de dados.If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there's any lock on the database. Somente uma cláusula de término pode ser especificada e ela sucede as cláusulas SET.Only one termination clause can be specified, and it follows the SET clauses.

Observação

Nem todas as opções de banco de dados usam a cláusula WITH <termination>.Not all database options use the WITH <termination> clause. Para saber mais, confira a tabela emOpções de configuração na seção Comentários deste artigo.For more information, see the table under "Setting Options of the "Remarks" section of this article.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Especifica se a reversão deve ser feita após o número de segundos especificado ou imediatamente.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Especifica que a solicitação falhará se a alteração solicitada do estado ou da opção de banco de dados não puder ser concluída imediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Concluir imediatamente significa não esperar a confirmação ou a reversão das transações por conta própria.Completing immediately means not waiting for transactions to commit or roll back on their own.

Opções de configuraçãoSetting Options

Para recuperar as configurações atuais das opções de banco de dados, use a exibição do catálogo sys.databases ou DATABASEPROPERTYEXTo retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Depois de definir uma opção de banco de dados, a modificação entra em vigor imediatamente.After you set a database option, the modification takes effect immediately.

Você pode alterar os valores padrão para qualquer uma das opções de banco de dados para todos os bancos de dados recém-criados.You can change the default values for any one of the database options for all newly created databases. Para fazer isso, altere a opção de banco de dados apropriada no modelo de banco de dados.To do so, change the appropriate database option in the model database.

Nem todas as opções de banco de dados usam a cláusula WITH <termination> ou podem ser especificadas em combinação com outras opções.Not all database options use the WITH <termination> clause or can be specified in combination with other options. A tabela a seguir lista essas opções e seu status de opção e término.The following table lists these options and their option and termination status.

Categoria de opçõesOptions category Pode ser especificado com outras opçõesCan be specified with other options Pode usar a cláusula WITH <termination>Can use the WITH <termination> clause
<auto_option><auto_option> SimYes NãoNo
<change_tracking_option><change_tracking_option> SimYes SimYes
<cursor_option><cursor_option> SimYes NãoNo
<db_encryption_option><db_encryption_option> SimYes NãoNo
<db_update_option><db_update_option> SimYes SimYes
<db_user_access_option><db_user_access_option> SimYes SimYes
<delayed_durability_option><delayed_durability_option> SimYes SimYes
<parameterization_option><parameterization_option> SimYes SimYes
ALLOW_SNAPSHOT_ISOLATIONALLOW_SNAPSHOT_ISOLATION NãoNo NãoNo
READ_COMMITTED_SNAPSHOTREAD_COMMITTED_SNAPSHOT NãoNo SimYes
MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOTMEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT SimYes SimYes
DATE_CORRELATION_OPTIMIZATIONDATE_CORRELATION_OPTIMIZATION SimYes SimYes
<sql_option><sql_option> SimYes NãoNo
<target_recovery_time_option><target_recovery_time_option> NãoNo SimYes

ExemplosExamples

A.A. Configurando o banco de dados como READ_ONLYSetting the database to READ_ONLY

Alterar o estado de um banco de dados ou grupo de arquivos para READ_ONLY ou READ_WRITE requer acesso exclusivo ao banco de dados.Changing the state of a database or filegroup to READ_ONLY or READ_WRITE requires exclusive access to the database. O exemplo a seguir define o banco de dados como o modo RESTRICTED_USER para limitar o acesso.The following example sets the database to RESTRICTED_USER mode to limit access. Em seguida, o exemplo define o estado do banco de dados AdventureWorks2012AdventureWorks2012 como READ_ONLY e retorna o acesso ao banco de dados para todos os usuários.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET RESTRICTED_USER;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

B.B. Habilitando o isolamento de instantâneo em um banco de dadosEnabling snapshot isolation on a database

O exemplo a seguir habilita a opção de estrutura de isolamento de instantâneo para o banco de dados AdventureWorks2012AdventureWorks2012 .The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE AdventureWorks2012;
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2012';
GO

O conjunto de resultados mostra que a estrutura de isolamento de instantâneo está habilitada.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriçãodescription
AdventureWorks2012AdventureWorks2012 11 ONON

C.C. Habilitando, modificando e desabilitando o controle de alteraçõesEnabling, modifying, and disabling change tracking

O exemplo a seguir habilita o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 e define o período de retenção para 2 dias.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

O exemplo a seguir mostra como alterar o período de retenção para 3 dias.The following example shows how to change the retention period to 3 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

O exemplo a seguir mostra como desabilitar o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = OFF;

D.D. Habilitando o repositório de consultasEnabling the query store

O exemplo a seguir habilita o repositório de consultas e configura os parâmetros do repositório de consultas.The following example enables the query store and configures query store parameters.

ALTER DATABASE AdventureWorks2012
SET QUERY_STORE = ON
(
      OPERATION_MODE = READ_WRITE
    , CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 )
    , DATA_FLUSH_INTERVAL_SECONDS = 900
    , MAX_STORAGE_SIZE_MB = 1024
    , INTERVAL_LENGTH_MINUTES = 60
    );

Consulte TambémSee Also

SQL ServerSQL Server Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
* Instância gerenciada
do Banco de Dados SQL *
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse

 

Instância gerenciada do Banco de Dados SQL do AzureAzure SQL Database managed instance

Níveis de compatibilidade são opções SET, mas são descritas em Nível de Compatibilidade de ALTER DATABASE.Compatibility levels are SET options but are described in ALTER DATABASE Compatibility Level.

Observação

Muitas opções de definição de banco de dados podem ser configuradas para a sessão atual usando Instruções SET e são configuradas com frequência por aplicativos quando eles são conectados.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. As opções definidas no nível de sessão substituem os valores de ALTER DATABASE SET .Session level set options override the ALTER DATABASE SET values. As opções de banco de dados descritas abaixo são os valores que podem ser definidos para as sessões que não fornecem explicitamente outros valores de definição de conjunto.The database options described below are values that can be set for sessions that don't explicitly provide other set option values.

SintaxeSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <optionspec> [ ,...n ]
}
;

<optionspec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
}
;
<auto_option> ::=
{
    AUTO_CREATE_STATISTICS { OFF | ON [ ( INCREMENTAL = { ON | OFF } ) ] }
  | AUTO_SHRINK { ON | OFF }
  | AUTO_UPDATE_STATISTICS { ON | OFF }
  | AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<automatic_tuning_option> ::=
{
  AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = { ON | OFF } )
}

<change_tracking_option> ::=
{
  CHANGE_TRACKING
   {
       = OFF
     | = ON [ ( <change_tracking_option_list > [,...n] ) ]
     | ( <change_tracking_option_list> [,...n] )
   }
}

<change_tracking_option_list> ::=
   {
       AUTO_CLEANUP = { ON | OFF }
     | CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
   }

<cursor_option> ::=
{
    CURSOR_CLOSE_ON_COMMIT { ON | OFF }
}

<db_encryption_option> ::=
  ENCRYPTION { ON | OFF }

<delayed_durability_option> ::=DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }

<parameterization_option> ::=
  PARAMETERIZATION { SIMPLE | FORCED }

<query_store_options> ::=
{
  QUERY_STORE
  {
    = OFF
    | = ON [ ( <query_store_option_list> [,... n] ) ]
    | ( < query_store_option_list> [,... n] )
    | CLEAR [ ALL ]
  }
}

<query_store_option_list> ::=
{
  OPERATION_MODE = { READ_WRITE | READ_ONLY }
  | CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = number )
  | DATA_FLUSH_INTERVAL_SECONDS = number
  | MAX_STORAGE_SIZE_MB = number
  | INTERVAL_LENGTH_MINUTES = number
  | SIZE_BASED_CLEANUP_MODE = [ AUTO | OFF ]
  | QUERY_CAPTURE_MODE = [ ALL | AUTO | NONE ]
  | MAX_PLANS_PER_QUERY = number
}

<snapshot_option> ::=
{
    ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
  | READ_COMMITTED_SNAPSHOT {ON | OFF }
  | MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
    ANSI_NULL_DEFAULT { ON | OFF }
  | ANSI_NULLS { ON | OFF }
  | ANSI_PADDING { ON | OFF }
  | ANSI_WARNINGS { ON | OFF }
  | ARITHABORT { ON | OFF }
  | COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 }
  | CONCAT_NULL_YIELDS_NULL { ON | OFF }
  | NUMERIC_ROUNDABORT { ON | OFF }
  | QUOTED_IDENTIFIER { ON | OFF }
  | RECURSIVE_TRIGGERS { ON | OFF }
}

<temporal_history_retention>::=TEMPORAL_HISTORY_RETENTION { ON | OFF }

ArgumentosArguments

database_name database_name
É o nome do banco de dados a ser modificado.Is the name of the database to be modified.

CURRENTCURRENT
CURRENT executa a ação no banco de dados atual.CURRENT runs the action in the current database. CURRENT não é compatível com todas as opções em todos os contextos.CURRENT isn't supported for all options in all contexts. Se CURRENT falhar, forneça o nome do banco de dados.If CURRENT fails, provide the database name.

<auto_option> ::=<auto_option> ::=

Controla opções automáticas.Controls automatic options.

AUTO_CREATE_STATISTICS { ON | OFF }AUTO_CREATE_STATISTICS { ON | OFF }
ONON
O otimizador de consulta cria estatísticas em colunas únicas em predicados de consulta, conforme necessário, para melhorar planos e desempenho de consulta.The query optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance. Estas estatísticas de coluna única são criadas quando o otimizador de consulta compila consultas.These single-column statistics are created when the query optimizer compiles queries. As estatísticas de coluna única só são criadas em colunas que ainda não são a primeira de um objeto de estatísticas existente.The single-column statistics are created only on columns that are not already the first column of an existing statistics object.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

OFFOFF
O otimizador de consulta não cria estatísticas em colunas únicas em predicados de consulta quando está compilando as consultas.The query optimizer doesn't create statistics on single columns in query predicates when it is compiling queries. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_create_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_create_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoCreateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoCreateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

INCREMENTAL = ON | OFFINCREMENTAL = ON | OFF
Defina AUTO_CREATE_STATISTICS como ON e INCREMENTAL como ON.Set AUTO_CREATE_STATISTICS to ON, and set INCREMENTAL to ON. Essa configuração cria estatísticas criadas automaticamente como incrementais sempre que há suporte para estatísticas incrementais.This setting creates automatically created stats as incremental whenever incremental stats are supported. O valor padrão é OFF.The default value is OFF. Para saber mais, veja CREATE STATISTICS.For more information, see CREATE STATISTICS.

AUTO_SHRINK { ON | OFF }AUTO_SHRINK { ON | OFF }
ONON
Os arquivos de banco de dados são candidatos à redução periódica.The database files are candidates for periodic shrinking.

Arquivos de dados e arquivos de log podem ser reduzidos automaticamente.Both data file and log files can be automatically shrunk. AUTO_SHRINK reduzirá o tamanho do log de transações somente se o banco de dados estiver definido como modelo de recuperação SIMPLE ou se o log tiver sido submetido a backup.AUTO_SHRINK reduces the size of the transaction log only if you set the database to SIMPLE recovery model or if you back up the log. Quando definido como OFF, os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.When set to OFF, the database files aren't automatically shrunk during periodic checks for unused space.

A opção AUTO_SHRINK faz com que os arquivos sejam reduzidos quando mais que 25% do arquivo contém espaço não utilizado.The AUTO_SHRINK option causes files to be shrunk when more than 25 percent of the file contains unused space. A opção faz com que o arquivo diminua em um dos dois tamanhos.The option causes the file to shrink to one of two sizes. Ele reduz o que for maior:It shrinks to whichever is larger:

  • o tamanho em que 25% do arquivo é o espaço não utilizadoThe size where 25 percent of the file is unused space
  • o tamanho do arquivo quando ele foi criadoThe size of the file when it was created

Não é possível reduzir um banco de dados somente leitura.You can't shrink a read-only database.

OFFOFF
Os arquivos de banco de dados não são reduzidos automaticamente durante as verificações periódicas de espaço não utilizado.The database files are not automatically shrunk during periodic checks for unused space.

Você pode determinar o status dessa opção examinando a coluna is_auto_shrink_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_shrink_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoShrink da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoShrink property of the DATABASEPROPERTYEX function.

Observação

A opção AUTO_SHRINK não está disponível em um banco de dados independente.The AUTO_SHRINK option isn't available in a Contained Database.

AUTO_UPDATE_STATISTICS { ON | OFF }AUTO_UPDATE_STATISTICS { ON | OFF }
ONON
Especifica que o otimizador de consulta atualiza as estatísticas quando elas são usadas por uma consulta e quando podem estar desatualizadas.Specifies that the query optimizer updates statistics when they're used by a query and when they might be out-of-date. As estatísticas ficam desatualizadas depois que operações de inserção, atualização, exclusão ou mesclagem alteram a distribuição de dados na tabela ou na exibição indexada.Statistics become out-of-date after insert, update, delete, or merge operations change the data distribution in the table or indexed view. O otimizador de consulta determina quando estatísticas podem estar desatualizadas contando o número de modificações de dados desde a última atualização das estatísticas e comparando o número de modificações a um limite.The query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. O limite se baseia no número de linhas na tabela ou na exibição indexada.The threshold is based on the number of rows in the table or indexed view.

O otimizador de consulta verifica se há estatísticas desatualizadas antes de compilar uma consulta e executa um plano de consulta em cache.The query optimizer checks for out-of-date statistics before it compiles a query and it runs a cached query plan. O otimizador de consulta usa as colunas, as tabelas e as exibições indexadas no predicado de consulta para determinar quais estatísticas podem estar desatualizadas.The query optimizer uses the columns, tables, and indexed views in the query predicate to determine which statistics might be out-of-date. O otimizador de consulta determina essas informações antes de compilar uma consulta.The query optimizer determines this information before it compiles a query. Antes de executar um plano de consulta em cache, o Mecanismo de Banco de DadosDatabase Engine verifica se o plano de consulta faz referência a estatísticas atualizadas.Before executing a cached query plan, the Mecanismo de Banco de DadosDatabase Engine verifies that the query plan references up-to-date statistics.

A opção AUTO_UPDATE_STATISTICS se aplica a estatísticas criadas para índices, colunas únicas em predicados de consulta, além de estatísticas criadas por meio da instrução CREATE STATISTICS.The AUTO_UPDATE_STATISTICS option applies to statistics created for indexes, single-columns in query predicates, and statistics that are created by using the CREATE STATISTICS statement. Essa opção também se aplica a estatísticas filtradas.This option also applies to filtered statistics.

O padrão é ON.The default is ON. Nós recomendamos que você use a configuração padrão para a maioria dos bancos de dados.We recommend that you use the default setting for most databases.

Use a opção AUTO_UPDATE_STATISTICS_ASYNC para especificar se as estatísticas são atualizadas de forma síncrona ou assíncrona.Use the AUTO_UPDATE_STATISTICS_ASYNC option to specify whether the statistics are updated synchronously or asynchronously.

OFFOFF
Especifica que o otimizador de consulta não atualiza as estatísticas quando elas são usadas por uma consulta.Specifies that the query optimizer doesn't update statistics when they're used by a query. O otimizador de consulta também não atualiza estatísticas quando elas podem estar desatualizadas.The query optimizer also doesn't update statistics when they might be out-of-date. Definir essa opção como OFF pode acarretar planos de consulta de qualidade inferior e menor desempenho de consulta.Setting this option to OFF can cause suboptimal query plans and degraded query performance.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAutoUpdateStatistics da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAutoUpdateStatistics property of the DATABASEPROPERTYEX function.

Para obter mais informações, veja a seção “Usando as opções de estatísticas em todo o banco de dados” em Estatística.For more information, see the section "Using the Database-Wide Statistics Options" in Statistics.

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
ONON
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são assíncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. O otimizador de consulta não aguarda a conclusão das atualizações de estatísticas para compilar consultas.The query optimizer doesn't wait for statistics updates to complete before it compiles queries.

Definir essa opção como ON não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to ON has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Por padrão, a opção AUTO_UPDATE_STATISTICS_ASYNC é definida como OFF e o otimizador de consulta atualiza estatísticas de forma síncrona.By default, the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF, and the query optimizer updates statistics synchronously.

OFFOFF
Especifica que as atualizações de estatísticas para a opção AUTO_UPDATE_STATISTICS são síncronas.Specifies that statistics updates for the AUTO_UPDATE_STATISTICS option are synchronous. O otimizador de consulta aguarda a conclusão das atualizações de estatísticas para compilar consultas.The query optimizer waits for statistics updates to complete before it compiles queries.

Definir essa opção como OFF não tem nenhum efeito, a menos que AUTO_UPDATE_STATISTICS seja definida como ON.Setting this option to OFF has no effect unless AUTO_UPDATE_STATISTICS is set to ON.

Você pode determinar o status dessa opção examinando a coluna is_auto_update_stats_async_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_auto_update_stats_async_on column in the sys.databases catalog view.

Para obter mais informações que descrevem quando usar atualizações de estatísticas síncronas ou assíncronas, veja a seção que "Usando as opções de estatísticas em todo o banco de dados" em Estatísticas.For more information that describes when to use synchronous or asynchronous statistics updates, see the section "Using the Database-Wide Statistics Options" in Statistics.

<automatic_tuning_option> ::= <automatic_tuning_option> ::=
Aplica-se a: SQL Server 2017 (14.x)SQL Server 2017 (14.x).Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x).

Habilita ou desabilita a opção de FORCE_LAST_GOOD_PLAN ajuste automático.Enables or disables FORCE_LAST_GOOD_PLAN automatic tuning option.

FORCE_LAST_GOOD_PLAN = { ON | OFF }FORCE_LAST_GOOD_PLAN = { ON | OFF }
ONON
O Mecanismo de Banco de DadosDatabase Engine força automaticamente o último plano sabidamente válido nas consultas Transact-SQLTransact-SQL em que o novo plano SQL provoca regressões de desempenho.The Mecanismo de Banco de DadosDatabase Engine automatically forces the last known good plan on the Transact-SQLTransact-SQL queries where new SQL plan causes performance regressions. O Mecanismo de Banco de DadosDatabase Engine monitora continuamente o desempenho de consultas da consulta Transact-SQLTransact-SQL com o plano forçado.The Mecanismo de Banco de DadosDatabase Engine continuously monitors query performance of the Transact-SQLTransact-SQL query with the forced plan. Se não houver ganhos de desempenho, o Mecanismo de Banco de DadosDatabase Engine continuará usando o último plano válido conhecido.If there are performance gains, the Mecanismo de Banco de DadosDatabase Engine will keep using last known good plan. Se os ganhos de desempenho não forem detectados, o Mecanismo de Banco de DadosDatabase Engine produzirá um novo plano SQL.If performance gains are not detected, the Mecanismo de Banco de DadosDatabase Engine will produce a new SQL plan. A instrução falhará se o Repositório de Consultas não estiver habilitado ou não estiver no modo de Leitura-Gravação.The statement will fail if Query Store isn't enabled or if it isn't in Read-Write mode.

OFFOFF
O Mecanismo de Banco de DadosDatabase Engine relata possíveis regressões de desempenho de consulta causadas por alterações de plano SQL na exibição sys.dm_db_tuning_recommendations.The Mecanismo de Banco de DadosDatabase Engine reports potential query performance regressions caused by SQL plan changes in sys.dm_db_tuning_recommendations view. No entanto, essas recomendações não são aplicadas automaticamente.However, these recommendations are not automatically applied. Usuário pode monitorar recomendações ativas e corrigir problemas identificados aplicando scripts Transact-SQLTransact-SQL mostrados na exibição.User can monitor active recommendations and fix identified problems by applying Transact-SQLTransact-SQL scripts that are shown in the view. Este é o valor padrão.This is the default value.

<change_tracking_option> ::=<change_tracking_option> ::=

Controla as opções de controle de alterações.Controls change tracking options. É possível habilitar o controle de alterações, definir opções, alterar opções e desabilitar o controle de alterações.You can enable change tracking, set options, change options, and disable change tracking. Para obter exemplos, confira a seção Exemplos mais adiante neste artigo.For examples, see the Examples section later in this article.

ONON
Habilita o controle de alterações no banco de dados.Enables change tracking for the database. Quando você habilita o controle de alterações, também pode definir as opções AUTO CLEANUP e CHANGE RETENTION.When you enable change tracking, you can also set the AUTO CLEANUP and CHANGE RETENTION options.

AUTO_CLEANUP = { ON | OFF }AUTO_CLEANUP = { ON | OFF }
ONON
As informações de controle de alterações são removidas automaticamente após o período de retenção especificado.Change tracking information is automatically removed after the specified retention period.

OFFOFF
Os dados de controle de alterações não são removidos do banco de dados.Change tracking data isn't removed from the database.

CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES }CHANGE_RETENTION =retention_period { DAYS | HOURS | MINUTES }
Especifica o período mínimo para manter as informações de controle de alterações no banco de dados.Specifies the minimum period for keeping change tracking information in the database. Os dados serão removidos somente quando o valor AUTO_CLEANUP for ON.Data is removed only when the AUTO_CLEANUP value is ON.

retention_period é um inteiro que especifica o componente numérico do período de retenção.retention_period is an integer that specifies the numerical component of the retention period.

O período de retenção padrão é de 2 dias.The default retention period is 2 days. O período de retenção mínimo é de 1 minuto.The minimum retention period is 1 minute. O tipo de retenção padrão é DAYS.The default retention type is DAYS.

OFFOFF
Desabilita o controle de alterações no banco de dados.Disables change tracking for the database. Desabilite o controle de alterações em todas as tabelas antes de desabilitá-lo no banco de dados.Disable change tracking on all tables before you disable change tracking off the database.

<cursor_option> ::=<cursor_option> ::=

Controla opções de cursor.Controls cursor options.

CURSOR_CLOSE_ON_COMMIT { ON | OFF }CURSOR_CLOSE_ON_COMMIT { ON | OFF }
ONON
Todos os cursores abertos quando você confirma ou reverte uma transação são fechados.Any cursors open when you commit or roll back a transaction are closed.

OFFOFF
Os cursores permanecem abertos quando uma transação é confirmada; uma transação revertida fecha todos os cursores, exceto aqueles definidos como INSENSITIVE ou STATIC.Cursors remain open when a transaction is committed; rolling back a transaction closes any cursors except those defined as INSENSITIVE or STATIC.

As configurações no nível de conexão que são definidas com o uso da instrução SET substituem a configuração de banco de dados padrão por CURSOR_CLOSE_ON_COMMIT.Connection-level settings that are set by using the SET statement override the default database setting for CURSOR_CLOSE_ON_COMMIT. Clientes ODBC e OLE DB emitem uma configuração CURSOR_CLOSE_ON_COMMIT de instrução SET no nível de conexão como desativada para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting CURSOR_CLOSE_ON_COMMIT to OFF for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET CURSOR_CLOSE_ON_COMMIT.For more information, see SET CURSOR_CLOSE_ON_COMMIT.

É possível determinar o status dessa opção examinando-se a coluna is_cursor_close_on_commit_on na exibição do catálogo sys.databases ou a propriedade IsCloseCursorsOnCommitEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_cursor_close_on_commit_on column in the sys.databases catalog view or the IsCloseCursorsOnCommitEnabled property of the DATABASEPROPERTYEX function. O cursor é implicitamente desalocado somente na desconexão.The cursor is implicitly deallocated only at disconnect. Para saber mais, confira DECLARE CURSOR.For more information, see DECLARE CURSOR.

<db_encryption_option> ::=<db_encryption_option> ::=

Controla o estado de criptografia do banco de dados.Controls the database encryption state.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Define o banco de dados a ser criptografado (ON) ou não criptografado (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Para saber mais sobre criptografia de banco de dados, confira Transparent Data Encryption e Transparent Data Encryption com o Banco de Dados SQL do Azure.For more information about database encryption, see Transparent Data Encryption, and Transparent Data Encryption with Azure SQL Database.

Quando a criptografia estiver habilitada no nível de banco de dados, todos os grupos de arquivos serão criptografados.When encryption is enabled at the database level, all filegroups will be encrypted. Qualquer novo grupo de arquivos herdará a propriedade criptografada.Any new filegroups will inherit the encrypted property. Se algum grupo de arquivos do banco de dados for definido como READ ONLY, haverá falha na operação de criptografia de banco de dados.If any filegroups in the database are set to READ ONLY, the database encryption operation will fail.

É possível ver o estado da criptografia do banco de dados usando a exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.You can see the encryption state of the database by using the sys.dm_database_encryption_keys dynamic management view.

<db_update_option> ::=<db_update_option> ::=

Controla se atualizações são permitidas no banco de dados.Controls whether updates are allowed on the database.

READ_ONLYREAD_ONLY
Os usuários podem ler dados do banco de dados, mas não os modificar.Users can read data from the database but not modify it.

Observação

Para melhorar o desempenho da consulta, atualize as estatísticas antes de configurar um banco de dados como READ_ONLY.To improve query performance, update statistics before setting a database to READ_ONLY. Se forem necessárias estatísticas adicionais depois de um banco de dados ser definido como READ_ONLY, o Mecanismo de Banco de DadosDatabase Engine criará estatísticas no tempdb.If additional statistics are needed after a database is set to READ_ONLY, the Mecanismo de Banco de DadosDatabase Engine will create statistics in tempdb. Para obter mais informações sobre estatísticas para um banco de dados somente leitura, veja Estatísticas.For more information about statistics for a read-only database, see Statistics.

READ_WRITEREAD_WRITE
O banco de dados está disponível para operações de leitura e gravação.The database is available for read and write operations.

Para alterar esse estado, é necessário ter acesso exclusivo ao banco de dados.To change this state, you must have exclusive access to the database.

<db_user_access_option> ::=<db_user_access_option> ::=

Controla o acesso de usuários ao banco de dados.Controls user access to the database.

RESTRICTED_USERRESTRICTED_USER
RESTRICTED_USER permite que somente os membros da função de banco de dados fixa db_owner e das funções de servidor fixas dbcreator e sysadmin conectem-se ao banco de dados, mas não limita seu número.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but doesn't limit their number. Todas as conexões com o banco de dados são desconectadas no período especificado pela cláusula de término da instrução ALTER DATABASE.All connections to the database are disconnected in the timeframe specified by the termination clause of the ALTER DATABASE statement. Depois que o banco de dados fizer a transição para o estado RESTRICTED_USER, as tentativas de conexão realizadas por usuários não qualificados serão recusadas.After the database has transitioned to the RESTRICTED_USER state, connection attempts by unqualified users are refused. RESTRICTED_USER não pode ser modificado com a instância gerenciada do Banco de Dados SQL.RESTRICTED_USER can't be modified with SQL Database managed instance.

MULTI_USERMULTI_USER
Todos os usuários com permissões apropriadas para se conectar ao banco de dados são permitidos.All users that have the appropriate permissions to connect to the database are allowed.

Você pode determinar o status dessa opção examinando a coluna user_access na exibição do catálogo sys.databases ou a propriedade UserAccess da função DATABASEPROPERTYEX.You can determine this option's status by examining the user_access column in the sys.databases catalog view or the UserAccess property of the DATABASEPROPERTYEX function.

<delayed_durability_option> ::=<delayed_durability_option> ::=

Controla se as transações são confirmadas completamente duráveis ou duráveis atrasadas.Controls whether transactions commit fully durable or delayed durable.

DISABLEDDISABLED
Todas as transações após SET DISABLED são completamente duráveis.All transactions following SET DISABLED are fully durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

ALLOWEDALLOWED
Todas as transações após SET ALLOWED são completamente duráveis ou duráveis atrasadas, dependendo da opção de durabilidade definida no bloco atômico ou na instrução de confirmação.All transactions following SET ALLOWED are either fully durable or delayed durable, depending upon the durability option set in the atomic block or commit statement.

FORCEDFORCED
Todas as transações após SET FORCED são duráveis atrasadas.All transactions following SET FORCED are delayed durable. Todas as opções de durabilidade definidas em um bloco atômico ou instrução de confirmação são ignoradas.Any durability options set in an atomic block or commit statement are ignored.

<PARAMETERIZATION_option> ::=<PARAMETERIZATION_option> ::=

Controla a opção de parametrização.Controls the parameterization option.

PARAMETERIZATION { SIMPLE | FORCED }PARAMETERIZATION { SIMPLE | FORCED }
SIMPLESIMPLE
As consultas são parametrizadas com base no comportamento padrão do banco de dados.Queries are parameterized based on the default behavior of the database.

FORCEDFORCED
O SQL ServerSQL Server parametriza todas as consultas no banco de dados.SQL ServerSQL Server parameterizes all queries in the database.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_parameterization_forced na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_parameterization_forced column in the sys.databases catalog view.

<query_store_options> ::=<query_store_options> ::=

ON | OFF | CLEAR [ ALL ]ON | OFF | CLEAR [ ALL ]
Controla se o repositório de consultas está habilitado nesse banco de dados, além de controlar a remoção do conteúdo do repositório de consultas.Controls if the query store is enabled in this database, and also controls removing the contents of the query store.

ONON
Habilita o repositório de consultas.Enables the query store.

OFFOFF
Desabilita o repositório de consultas.Disables the query store. Este é o valor padrão.This is the default value.

CLEARCLEAR
Remove o conteúdo do repositório de consultas.Remove the contents of the query store.

OPERATION_MODEOPERATION_MODE
Descreve o modo de operação do repositório de consultas.Describes the operation mode of the query store. Os valores válidos são READ_ONLY e READ_WRITE.Valid values are READ_ONLY and READ_WRITE. No modo READ_WRITE, o repositório de consultas coleta e persiste as informações das estatísticas de execução do plano de consulta e do tempo de execução.In READ_WRITE mode, the query store collects and persists query plan and runtime execution statistics information. No modo READ_ONLY, as informações podem ser lidas do repositório de consultas, mas novas informações não são adicionadas.In READ_ONLY mode, information can be read from the query store, but new information isn't added. Se o espaço máximo alocado do repositório de consultas tiver se esgotado, o repositório de consultas alterará o modo de operação para READ_ONLY.If the maximum allocated space of the query store has been exhausted, the query store will change is operation mode to READ_ONLY.

CLEANUP_POLICYCLEANUP_POLICY
Descreve a política de retenção de dados do repositório de consultas.Describes the data retention policy of the query store. STALE_QUERY_THRESHOLD_DAYS determina o número de dias que as informações de uma consulta são mantidas no repositório de consultas.STALE_QUERY_THRESHOLD_DAYS determines the number of days for which the information for a query is kept in the query store. STALE_QUERY_THRESHOLD_DAYS é do tipo bigint.STALE_QUERY_THRESHOLD_DAYS is type bigint.

DATA_FLUSH_INTERVAL_SECONDSDATA_FLUSH_INTERVAL_SECONDS
Determina a frequência na qual os dados gravados no repositório de consultas é persistida no disco.Determines the frequency at which data written to the query store is persisted to disk. Para otimizar o desempenho, os dados coletados pelo repositório de consultas são gravados de maneira assíncrona no disco.To optimize for performance, data collected by the query store is asynchronously written to the disk. A frequência em que essa transferência assíncrona ocorre é configurada usando o argumento DATA_FLUSH_INTERVAL_SECONDS.The frequency at which this asynchronous transfer occurs is configured by using the DATA_FLUSH_INTERVAL_SECONDS argument. DATA_FLUSH_INTERVAL_SECONDS é do tipo bigint.DATA_FLUSH_INTERVAL_SECONDS is type bigint.

MAX_STORAGE_SIZE_MBMAX_STORAGE_SIZE_MB
Determina o espaço alocado para o repositório de consultas.Determines the space allocated to the query store. MAX_STORAGE_SIZE_MB é do tipo bigint.MAX_STORAGE_SIZE_MB is type bigint.

INTERVAL_LENGTH_MINUTESINTERVAL_LENGTH_MINUTES
Determina o intervalo de tempo em que os dados de estatísticas de execução do tempo de execução são agregados no repositório de consultas.Determines the time interval at which runtime execution statistics data is aggregated into the query store. Para otimizar o uso de espaço, as estatísticas de execução de tempo de execução no repositório de estatísticas de tempo de execução são agregadas em uma janela de tempo fixo.To optimize for space usage, the runtime execution statistics in the runtime stats store are aggregated over a fixed time window. Essa janela de tempo fixo é configurada usando o argumento INTERVAL_LENGTH_MINUTES.This fixed time window is configured by using the INTERVAL_LENGTH_MINUTES argument. INTERVAL_LENGTH_MINUTES é do tipo bigint.INTERVAL_LENGTH_MINUTES is type bigint.

SIZE_BASED_CLEANUP_MODESIZE_BASED_CLEANUP_MODE
Controla se a limpeza será ativada automaticamente quando a quantidade total de dados se aproximar do tamanho máximo:Controls whether cleanup will be automatically activated when total amount of data gets close to maximum size:

OFFOFF
A limpeza com base no tamanho não será ativada automaticamente.Size based cleanup won't be automatically activated.

AUTOAUTO
A limpeza com base em tamanho será ativada automaticamente quando o tamanho em disco atingir 90% do max_storage_size_mb.Size based cleanup will be automatically activated when size on disk reaches 90% of max_storage_size_mb. Limpeza com base no tamanho remove as consultas menos dispendiosas e mais antigas primeiro.Size based cleanup removes the least expensive and oldest queries first. Ele para a aproximadamente 80% do max_storage_size_mb.It stops at approximately 80% of max_storage_size_mb. Esse é o valor de configuração padrão.This is the default configuration value.

SIZE_BASED_CLEANUP_MODE é do tipo nvarchar.SIZE_BASED_CLEANUP_MODE is type nvarchar.

QUERY_CAPTURE_MODEQUERY_CAPTURE_MODE
Designa o modo de captura da consulta ativa no momento.Designates the currently active query capture mode.

ALLALL
Todas as consultas são capturadas.All queries are captured. Esse é o valor de configuração padrão.This is the default configuration value.

AUTOAUTO
Captura consultas de relevantes com base na contagem de execução e no consumo de recursos. Esse é o valor de configuração padrão para Banco de Dados SQLSQL DatabaseCapture relevant queries based on execution count and resource consumption.This is the default configuration value for Banco de Dados SQLSQL Database

NenhumaNONE
Pare de capturar novas consultas.Stop capturing new queries. O Repositório de Consultas continuará a coletar estatísticas de compilação e tempo de execução para consultas que já foram capturadas.Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use essa configuração com cuidado, pois você poderá deixar de capturar consultas importantes.Use this configuration with caution since you may miss to capture important queries.

QUERY_CAPTURE_MODE é do tipo nvarchar.QUERY_CAPTURE_MODE is type nvarchar.

max_plans_per_queryMAX_PLANS_PER_QUERY
Um número inteiro que representa a quantidade máxima de planos de manutenção para cada consulta.An integer representing the maximum number of plans maintained for each query. O padrão é 200.Default is 200.

<snapshot_option> ::=<snapshot_option> ::=

Determina o nível de isolamento da transação.Determines the transaction isolation level.

ALLOW_SNAPSHOT_ISOLATION { ON | OFF }ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
ONON
Habilita a opção de Instantâneo no nível do banco de dados.Enables Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it is enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações podem especificar o nível de isolamento da transação SNAPSHOT.Once this option is enabled, transactions can specify the SNAPSHOT transaction isolation level. Ao executar uma transação no nível de isolamento SNAPSHOT, todas as instruções consultam um instantâneo de dados, se houver um no início da instrução.When a transaction runs at the SNAPSHOT isolation level, all statements see a snapshot of data as it exists at the start of the transaction. Se uma transação que executa no nível de isolamento SNAPSHOT acessar dados em vários bancos de dados, ALLOW_SNAPSHOT_ISOLATION deverá ser definido como ON em todos os bancos de dados ou cada instrução na transação deverá usar dicas de bloqueio em qualquer referência em uma cláusula FROM para uma tabela em um banco de dados onde ALLOW_SNAPSHOT_ISOLATION seja OFF.If a transaction running at the SNAPSHOT isolation level accesses data in multiple databases, either ALLOW_SNAPSHOT_ISOLATION must be set to ON in all the databases, or each statement in the transaction must use locking hints on any reference in a FROM clause to a table in a database where ALLOW_SNAPSHOT_ISOLATION is OFF.

OFFOFF
Desliga a opção de Instantâneo no nível do banco de dados.Turns off the Snapshot option at the database level. As transações não podem especificar o nível de isolamento da transação SNAPSHOT.Transactions can't specify the SNAPSHOT transaction isolation level.

Ao definir ALLOW_SNAPSHOT_ISOLATION para um novo estado (de ON para OFF ou de OFF para ON), ALTER DATABASE não retorna o controle para o chamador até que todas as transações existentes no banco de dados sejam confirmadas.When you set ALLOW_SNAPSHOT_ISOLATION to a new state (from ON to OFF, or from OFF to ON), ALTER DATABASE doesn't return control to the caller until all existing transactions in the database are committed. Se o banco de dados já estiver no estado especificado na instrução ALTER DATABASE, o controle será retornado ao chamador imediatamente.If the database is already in the state specified in the ALTER DATABASE statement, control is returned to the caller immediately. Se a instrução ALTER DATABASE não for retornada rapidamente, use sys.dm_tran_active_snapshot_database_transactions para determinar se há transações de longa duração.If the ALTER DATABASE statement doesn't return quickly, use sys.dm_tran_active_snapshot_database_transactions to determine whether there are long-running transactions. Se a instrução ALTER DATABASE for cancelada, o banco de dados permanecerá no estado que estava quando ALTER DATABASE foi iniciada.If the ALTER DATABASE statement is canceled, the database remains in the state it was in when ALTER DATABASE was started. A exibição do catálogo sys.databases indica o estado de transações de isolamento de instantâneo no banco de dados.The sys.databases catalog view indicates the state of snapshot-isolation transactions in the database. Se snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF fará uma pausa de seis segundos e tentará novamente executar a operação.If snapshot_isolation_state_desc = IN_TRANSITION_TO_ON, ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION OFF will pause six seconds and retry the operation.

Não será possível alterar o estado de ALLOW_SNAPSHOT_ISOLATION se o banco de dados for OFFLINE.You can't change the state of ALLOW_SNAPSHOT_ISOLATION if the database is OFFLINE.

Se você definir ALLOW_SNAPSHOT_ISOLATION em um banco de dados READ_ONLY, a configuração será mantida se o banco de dados for definido mais tarde como READ_WRITE.If you set ALLOW_SNAPSHOT_ISOLATION in a READ_ONLY database, the setting will be kept if the database is later set to READ_WRITE.

É possível alterar as configurações ALLOW_SNAPSHOT_ISOLATION para os bancos de dados mestre, modelo, msdb e tempdb.You can change the ALLOW_SNAPSHOT_ISOLATION settings for the master, model, msdb, and tempdb databases. A configuração é mantida sempre que a instância do Mecanismo de Banco de DadosDatabase Engine é interrompida e reiniciada se você altera a configuração para tempdb.The setting is kept every time the instance of the Mecanismo de Banco de DadosDatabase Engine is stopped and restarted if you change the setting for tempdb. Ao alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases that are created, except for tempdb.

A opção é ON, por padrão, para os bancos de dados mestre e msdb.The option is ON, by default, for the master and msdb databases.

A configuração atual dessa opção pode ser determinada examinando-se a coluna snapshot_isolation_state na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the snapshot_isolation_state column in the sys.databases catalog view.

READ_COMMITTED_SNAPSHOT { ON | OFF }READ_COMMITTED_SNAPSHOT { ON | OFF }
ONON
Habilita a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Enables Read-Committed Snapshot option at the database level. Quando habilitada, as instruções DML começam a gerar versões de linha mesmo quando nenhuma transação usar Isolamento de Instantâneo.When it's enabled, DML statements start generating row versions even when no transaction uses Snapshot Isolation. Quando essa opção está habilitada, as transações que especificam o nível de isolamento de leitura confirmada usam o controle de versão de linha, em vez de bloqueio.Once this option is enabled, the transactions specifying the read committed isolation level use row versioning instead of locking. Todas as instruções consultam um instantâneo de dados, se houver um no início da instrução quando uma transação é executada no nível de isolamento de leitura confirmada.All statements see a snapshot of data as it exists at the start of the statement when a transaction runs at the read committed isolation level.

OFFOFF
Desliga a opção de Instantâneo de Leitura Confirmada no nível do banco de dados.Turns off Read-Committed Snapshot option at the database level. As transações que especificam o nível de isolamento READ COMMITTED usam bloqueio.Transactions specifying the READ COMMITTED isolation level use locking.

Para definir READ_COMMITTED_SNAPSHOT como ON ou OFF, não deve haver nenhuma conexão ativa com o banco de dados exceto para a que está executando o comando ALTER DATABASE.To set READ_COMMITTED_SNAPSHOT ON or OFF, there must be no active connections to the database except for the connection executing the ALTER DATABASE command. Entretanto, o banco de dados não precisa estar no modo de usuário único.However, the database doesn't have to be in single-user mode. Não é possível alterar o estado dessa opção quando o banco de dados for OFFLINE.You can't change the state of this option when the database is OFFLINE.

Se você definir READ_COMMITTED_SNAPSHOT em um banco de dados READ_ONLY, a configuração será mantida quando o banco de dados for definido mais tarde como READ_WRITE.If you set READ_COMMITTED_SNAPSHOT in a READ_ONLY database, the setting will be kept when the database is later set to READ_WRITE.

READ_COMMITTED_SNAPSHOT não pode ser ativado como ON para os bancos de dados do sistema mestre, tempdb ou msdb.READ_COMMITTED_SNAPSHOT can't be turned ON for the master, tempdb, or msdb system databases. Se você alterar a configuração para modelo, ela se tornará o padrão para qualquer novo banco de dados que for criado, exceto para tempdb.If you change the setting for model, that setting becomes the default for any new databases created, except for tempdb.

A configuração atual dessa opção pode ser determinada examinando-se a coluna is_read_committed_snapshot_on na exibição do catálogo sys.databases.The current setting of this option can be determined by examining the is_read_committed_snapshot_on column in the sys.databases catalog view.

Aviso

Quando uma tabela for criada com DURABILITY = SCHEMA_ONLY, e READ_COMMITTED_SNAPSHOT depois forem alterado usando ALTER DATABASE, os dados na tabela serão perdidos.When a table is created with DURABILITY = SCHEMA_ONLY, and READ_COMMITTED_SNAPSHOT is subsequently changed using ALTER DATABASE, data in the table will be lost.

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT { ON | OFF }
ONON
Quando o nível de isolamento da transação é definido com qualquer nível de isolamento inferior a SNAPSHOT, todas as operações Transact-SQLTransact-SQL interpretadas em tabelas com otimização de memória são executadas no isolamento de SNAPSHOT.When the transaction isolation level is set to any isolation level lower than SNAPSHOT, all interpreted Transact-SQLTransact-SQL operations on memory-optimized tables are run under SNAPSHOT isolation. Exemplos de níveis de isolamento inferiores ao snapshot são READ COMMITTED ou READ UNCOMMITTED.Examples of isolation levels lower than snapshot are READ COMMITTED or READ UNCOMMITTED. Essas operações são executadas não importa se o nível de isolamento da transação é definido explicitamente no nível de sessão ou se a opção é usada implicitamente.These operations run whether the transaction isolation level is set explicitly at the session level, or the default is used implicitly.

OFFOFF
Não eleva o nível de isolamento da transação para operações interpretadas do Transact-SQLTransact-SQL em tabelas com otimização de memória.Doesn't elevate the transaction isolation level for interpreted Transact-SQLTransact-SQL operations on memory-optimized tables.

Não será possível alterar o estado de MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT se o banco de dados for OFFLINE.You can't change the state of MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT if the database is OFFLINE.

O valor padrão é OFF.The default value is OFF.

A configuração atual dessa opção pode ser determinada, examinando a coluna is_memory_optimized_elevate_to_snapshot_on na exibição de catálogo sys.databases.The current setting of this option can be determined by examining the is_memory_optimized_elevate_to_snapshot_on column in the sys.databases catalog view.

<sql_option> ::=<sql_option> ::=

Controla as opções de conformidade ANSI no nível de banco de dados.Controls the ANSI compliance options at the database level.

ANSI_NULL_DEFAULT { ON | OFF }ANSI_NULL_DEFAULT { ON | OFF }
Determina o valor padrão, NULL ou NOT NULL, de uma coluna ou um tipo CLR definido pelo usuário para o qual a nulidade não é definida explicitamente nas instruções CREATE TABLE ou ALTER TABLE.Determines the default value, NULL or NOT NULL, of a column or CLR user-defined type for which the nullability isn't explicitly defined in CREATE TABLE or ALTER TABLE statements. As colunas definidas com restrições seguem as regras de restrição, qualquer que seja essa configuração.Columns that are defined with constraints follow constraint rules whatever this setting may be.

ONON
O valor padrão é NULL.The default value is NULL.

OFFOFF
O valor padrão é NOT NULL.The default value is NOT NULL.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULL_DEFAULT.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_NULL_DEFAULT. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULL_DEFAULT como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULL_DEFAULT to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULL_DFLT_ON.For more information, see SET ANSI_NULL_DFLT_ON.

Para compatibilidade ANSI, definir a opção de banco de dados ANSI_NULL_DEFAULT como ON altera o banco de dados padrão para NULL.For ANSI compatibility, setting the database option ANSI_NULL_DEFAULT to ON changes the database default to NULL.

Você pode determinar o status dessa opção examinando a coluna is_ansi_null_default_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_null_default_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullDefault da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullDefault property of the DATABASEPROPERTYEX function.

ANSI_NULLS { ON | OFF }ANSI_NULLS { ON | OFF }
ONON
Todas as comparações com um valor nulo são avaliadas como UNKNOWN.All comparisons to a null value evaluate to UNKNOWN.

OFFOFF
As comparações de valores não UNICODE com um valor nulo são avaliadas como TRUE se ambos os valores são NULL.Comparisons of non-UNICODE values to a null value evaluate to TRUE if both values are NULL.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_NULLS sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_NULLS will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_NULLS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_NULLS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_NULLS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_NULLS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_NULLS.For more information, see SET ANSI_NULLS.

SET ANSI_NULLS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_NULLS also must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_ansi_nulls_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_nulls_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiNullsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiNullsEnabled property of the DATABASEPROPERTYEX function.

ANSI_PADDING { ON | OFF }ANSI_PADDING { ON | OFF }
ONON
As cadeias de caracteres são preenchidas com a mesma largura antes da conversão.Strings are padded to the same length before conversion. Também são preenchidas com o mesmo comprimento antes de inserir para um tipo de dados varchar ou nvarchar.Also padded to the same length before inserting to a varchar or nvarchar data type.

OFFOFF
Insere espaços em branco à direita em valores de caractere em colunas varchar ou nvarchar.Inserts trailing blanks in character values into varchar or nvarchar columns. Também deixa zeros à direita em valores binários inseridos nas colunas varbinary.Also leaves trailing zeros in binary values that are inserted into varbinary columns. Os valores não são preenchidos com o tamanho da coluna.Values aren't padded to the length of the column.

Quando OFF é especificado, essa configuração afeta apenas a definição de novas colunas.When OFF is specified, this setting affects only the definition of new columns.

Importante

Em uma versão futura do SQL ServerSQL Server, ANSI_PADDING sempre será ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. É recomendável sempre definir ANSI_PADDING como ON.We recommend that you always set ANSI_PADDING to ON. ANSI_PADDING deve ser ON ao criar ou manipular índices em colunas computadas ou exibições indexadas.ANSI_PADDING must be ON when you create or manipulate indexes on computed columns or indexed views.

Colunas char(n) e binary(n) que permitem valores nulos são preenchidas até o comprimento da coluna quando ANSI_PADDING está definido como ON.char(n) and binary(n) columns that allow for nulls are padded to the column length when ANSI_PADDING is set to ON. Espaços em branco e zeros à direita são cortados quando ANSI_PADDING está OFF.Trailing blanks and zeros are trimmed when ANSI_PADDING is OFF. As colunas char(n) e binary(n) que não permitem valores nulos sempre são preenchidas até o tamanho da coluna.char(n) and binary(n) columns that don't allow nulls are always padded to the length of the column.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_PADDING.Connection-level settings that are set by using the SET statement override the default database-level setting for ANSI_PADDING. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_PADDING como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_PADDING to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_PADDING.

Você pode determinar o status dessa opção examinando a coluna is_ansi_padding_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_padding_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiPaddingEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiPaddingEnabled property of the DATABASEPROPERTYEX function.

ANSI_WARNINGS { ON | OFF }ANSI_WARNINGS { ON | OFF }
ONON
Erros ou avisos são emitidos quando ocorrem condições como divisão por zero.Errors or warnings are issued when conditions such as divide-by-zero occur. Erros e avisos também são emitidos quando valores nulos aparecerem em funções de agregação.Errors and warnings are also issued when null values appear in aggregate functions.

OFFOFF
Nenhum aviso é acionado e os valores nulos são retornados quando ocorrem condições como divisão por zero.No warnings are raised and null values are returned when conditions such as divide-by-zero occur.

SET ANSI_WARNINGS também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ANSI_WARNINGS must be set to ON when you create or make changes to indexes on computed columns or indexed views.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para ANSI_WARNINGS.Connection-level settings that are set by using the SET statement override the default database setting for ANSI_WARNINGS. Clientes ODBC e OLE DB emitem uma instrução SET no nível da configuração de conexão ANSI_WARNINGS como ON para a sessão por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting ANSI_WARNINGS to ON for the session, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET ANSI_PADDING.For more information, see SET ANSI_WARNINGS.

Você pode determinar o status dessa opção examinando a coluna is_ansi_warnings_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_ansi_warnings_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsAnsiWarningsEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsAnsiWarningsEnabled property of the DATABASEPROPERTYEX function.

ARITHABORT { ON | OFF }ARITHABORT { ON | OFF }
ONON
Uma consulta é encerrada quando ocorre um estouro ou um erro de divisão por zero durante a execução da consulta.A query is ended when an overflow or divide-by-zero error occurs during query execution.

OFFOFF
Uma mensagem de aviso é exibida quando um desses erros ocorre.A warning message is displayed when one of these errors occurs. A consulta, o lote ou a transação continuará sendo processado como se nenhum erro tivesse ocorrido, mesmo que um aviso seja exibido.The query, batch, or transaction continues to process as if no error occurred even if a warning is displayed.

SET ARITHABORT também deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.SET ARITHABORT must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_arithabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_arithabort_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsArithmeticAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsArithmeticAbortEnabled property of the DATABASEPROPERTYEX function.

COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 }
Para saber mais, confira ALTER DATABASE Compatibility Level.For more information, see ALTER DATABASE Compatibility Level.

CONCAT_NULL_YIELDS_NULL { ON | OFF }CONCAT_NULL_YIELDS_NULL { ON | OFF }
ONON
O resultado de uma operação de concatenação será NULL quando qualquer operando for NULL.The result of a concatenation operation is NULL when either operand is NULL. Por exemplo, concatenar a cadeia de caracteres "This is" e NULL gera o valor NULL, em vez do valor "This is".For example, concatenating the character string "This is" and NULL causes the value NULL, instead of the value "This is".

OFFOFF
O valor nulo é tratado como uma cadeia de caracteres vazia.The null value is treated as an empty character string.

CONCAT_NULL_YIELDS_NULL deve ser definido como ON ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.CONCAT_NULL_YIELDS_NULL must be set to ON when you create or make changes to indexes on computed columns or indexed views.

Importante

Em uma versão futura do SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL sempre estará ON e quaisquer aplicativos que definam explicitamente a opção como OFF produzirão um erro.In a future version of SQL ServerSQL Server, CONCAT_NULL_YIELDS_NULL will always be ON and any applications that explicitly set the option to OFF will produce an error. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

As configurações no nível de conexão que são definidas usando uma instrução SET substituem a configuração no nível de banco de dados padrão para CONCAT_NULL_YIELDS_NULL.Connection-level settings that are set by using the SET statement override the default database setting for CONCAT_NULL_YIELDS_NULL. Por padrão, clientes ODBC e OLE DB emitem uma configuração CONCAT_NULL_YIELDS_NULL de instrução SET no nível de conexão como ON para a sessão ao se conectar a uma instância do SQL ServerSQL Server.By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to an instance of SQL ServerSQL Server. Para saber mais, confira SET CONCAT_NULL_YIELDS_NULL.For more information, see SET CONCAT_NULL_YIELDS_NULL.

Você pode determinar o status dessa opção examinando a coluna is_concat_null_yields_null_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_concat_null_yields_null_on column in the sys.databases catalog view. Você também pode determinar o status examinando a propriedade IsNullConcat da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNullConcat property of the DATABASEPROPERTYEX function.

QUOTED_IDENTIFIER { ON | OFF }QUOTED_IDENTIFIER { ON | OFF }
ONON
As aspas duplas podem ser utilizadas para conter identificadores delimitados.Double quotation marks can be used to enclose delimited identifiers.

Todas as cadeias de caracteres delimitadas por aspas duplas são interpretadas como identificadores de objeto.All strings delimited by double quotation marks are interpreted as object identifiers. Os identificadores entre aspas não precisam seguir as regras Transact-SQLTransact-SQL para identificadores.Quoted identifiers don't have to follow the Transact-SQLTransact-SQL rules for identifiers. Eles podem ser palavras-chave e incluir caracteres não permitidos nos identificadores Transact-SQLTransact-SQL.They can be keywords and can include characters not allowed in Transact-SQLTransact-SQL identifiers. Se o sinal de aspas simples (') fizer parte da cadeia de caracteres literal, ele poderá ser representado por aspas duplas (").If a single quotation mark (') is part of the literal string, it can be represented by double quotation marks (").

OFFOFF
Os identificadores não podem estar entre aspas e precisam seguir todas as regras do Transact-SQLTransact-SQL para identificadores.Identifiers can't be in quotation marks and must follow all Transact-SQLTransact-SQL rules for identifiers. Literais podem ser delimitados por aspas simples ou duplas.Literals can be delimited by either single or double quotation marks.

O SQL ServerSQL Server também permite que os identificadores sejam delimitados por colchetes ([ ]).SQL ServerSQL Server also allows for identifiers to be delimited by square brackets ([ ]). Identificadores entre colchetes sempre podem ser usados, seja qual for a configuração QUOTED_IDENTIFIER.Bracketed identifiers can always be used, whatever the QUOTED_IDENTIFIER setting is. Para obter mais informações, consulte Database Identifiers.For more information, see Database Identifiers.

Quando uma tabela é criada, a opção QUOTED IDENTIFIER sempre é armazenada como ON nos metadados da tabela.When a table is created, the QUOTED IDENTIFIER option is always stored as ON in the metadata of the table. A opção é armazenada mesmo que seja definida como OFF quando a tabela é criada.The option is stored even if the option is set to OFF when the table is created.

As configurações no nível de conexão que são definidas com o uso de uma instrução SET substituem a configuração no nível de banco de dados padrão para QUOTED_IDENTIFIER.Connection-level settings that are set by using the SET statement override the default database setting for QUOTED_IDENTIFIER. Clientes ODBC e OLE DB emitem uma instrução SET no nível de conexão configurando QUOTED_IDENTIFIER como ON por padrão.ODBC and OLE DB clients issue a connection-level SET statement setting QUOTED_IDENTIFIER to ON, by default. Os clientes executam a instrução, quando você se conecta a uma instância do SQL ServerSQL Server.The clients run the statement when you connect to an instance of SQL ServerSQL Server. Para saber mais, confira SET QUOTED_IDENTIFIER.For more information, see SET QUOTED_IDENTIFIER.

Você pode determinar o status dessa opção examinando a coluna is_quoted_identifier_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_quoted_identifier_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsQuotedIdentifiersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsQuotedIdentifiersEnabled property of the DATABASEPROPERTYEX function.

NUMERIC_ROUNDABORT { ON | OFF }NUMERIC_ROUNDABORT { ON | OFF }
ONON
Um erro é gerado quando ocorre perda de precisão em uma expressão.An error is generated when loss of precision occurs in an expression.

OFFOFF
As perdas de precisão não geram mensagens de erro e o resultado é arredondado para a precisão da coluna ou da variável que armazena o resultado.Losses of precision don't generate error messages and the result is rounded to the precision of the column or variable storing the result.

NUMERIC_ROUNDABORT deve ser definido como OFF ao criar ou fazer alterações em índices em colunas computadas ou exibições indexadas.NUMERIC_ROUNDABORT must be set to OFF when you create or make changes to indexes on computed columns or indexed views.

Você pode determinar o status dessa opção examinando a coluna is_numeric_roundabort_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_numeric_roundabort_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsNumericRoundAbortEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsNumericRoundAbortEnabled property of the DATABASEPROPERTYEX function.

RECURSIVE_TRIGGERS { ON | OFF }RECURSIVE_TRIGGERS { ON | OFF }
ONON
O disparo recursivo de gatilhos AFTER é permitido.Recursive firing of AFTER triggers is allowed.

OFFOFF
Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view. Você também pode determinar o status, examinando a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can also determine the status by examining the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

Observação

Somente a recursão direta será evitada quando RECURSIVE_TRIGGERS estiver definido como OFF.Only direct recursion is prevented when RECURSIVE_TRIGGERS is set to OFF. Para desabilitar a recursão indireta, é necessário definir também a opção do servidor nested triggers como 0.To disable indirect recursion, you must also set the nested triggers server option to 0.

Você pode determinar o status dessa opção examinando a coluna is_recursive_triggers_on na exibição do catálogo sys.databases ou a propriedade IsRecursiveTriggersEnabled da função DATABASEPROPERTYEX.You can determine this option's status by examining the is_recursive_triggers_on column in the sys.databases catalog view or the IsRecursiveTriggersEnabled property of the DATABASEPROPERTYEX function.

<target_recovery_time_option> ::=<target_recovery_time_option> ::=

Especifica a frequência de pontos de verificação indiretos por banco de dados.Specifies the frequency of indirect checkpoints on a per-database basis. Começando pelo SQL Server 2016 (13.x)SQL Server 2016 (13.x), o valor padrão para novos bancos de dados é de 1 minuto, o que indica que o banco de dados usará pontos de verificação indiretos.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x) the default value for new databases is 1 minute, which indicates database will use indirect checkpoints. Para versões mais antigas, o padrão é 0, o que indica que o banco de dados usará pontos de verificação automáticos cuja frequência depende da configuração do intervalo de recuperação da instância de servidor.For older versions the default is 0, which indicates that the database will use automatic checkpoints, whose frequency depends on the recovery interval setting of the server instance. MicrosoftMicrosoft recomenda 1 minuto para a maioria dos sistemas.recommends 1 minute for most systems.

TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }
target_recovery_time target_recovery_time
Especifica o limite máximo no tempo para recuperar o banco de dados especificado no caso de uma falha.Specifies the maximum bound on the time to recover the specified database in the event of a crash.

SECONDSSECONDS
Indica que target_recovery_time é expresso como o número de segundos.Indicates that target_recovery_time is expressed as the number of seconds.

MINUTESMINUTES
Indica que target_recovery_time é expresso como o número de minutos.Indicates that target_recovery_time is expressed as the number of minutes.

Para saber mais sobre pontos de verificação indiretos, confira Pontos de verificação de banco de dados.For more information about indirect checkpoints, see Database Checkpoints.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATEROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Especifica se a reversão deve ser feita após o número de segundos especificado ou imediatamente.Specifies whether to roll back after the specified number of seconds or immediately.

NO_WAITNO_WAIT
Especifica que a solicitação falhará se a alteração solicitada do estado ou da opção de banco de dados não puder ser concluída imediatamente.Specifies that the request will fail if the requested database state or option change can't complete immediately. Concluir imediatamente significa não esperar a confirmação ou a reversão das transações por conta própria.Completing immediately means not waiting for transactions to commit or roll back on their own.

Opções de configuraçãoSetting Options

Para recuperar as configurações atuais das opções de banco de dados, use a exibição do catálogo sys.databases ou DATABASEPROPERTYEXTo retrieve current settings for database options, use the sys.databases catalog view or DATABASEPROPERTYEX

Depois de definir uma opção de banco de dados, a modificação entra em vigor imediatamente.After you set a database option, the modification takes effect immediately.

Você pode alterar os valores padrão para qualquer uma das opções de banco de dados para todos os bancos de dados recém-criados.You can change the default values for any one of the database options for all newly created databases. Para fazer isso, altere a opção de banco de dados apropriada no modelo de banco de dados.To do so, change the appropriate database option in the model database.

ExemplosExamples

A.A. Configurando o banco de dados como READ_ONLYSetting the database to READ_ONLY

Alterar o estado de um banco de dados ou grupo de arquivos para READ_ONLY ou READ_WRITE requer acesso exclusivo ao banco de dados.Changing the state of a database or filegroup to READ_ONLY or READ_WRITE requires exclusive access to the database. O exemplo a seguir define o banco de dados como o modo RESTRICTED_USER para acesso restrito.The following example sets the database to RESTRICTED_USER mode to restricted access. Em seguida, o exemplo define o estado do banco de dados AdventureWorks2012AdventureWorks2012 como READ_ONLY e retorna o acesso ao banco de dados para todos os usuários.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET RESTRICTED_USER;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

B.B. Habilitando o isolamento de instantâneo em um banco de dadosEnabling snapshot isolation on a database

O exemplo a seguir habilita a opção de estrutura de isolamento de instantâneo para o banco de dados AdventureWorks2012AdventureWorks2012 .The following example enables the snapshot isolation framework option for the AdventureWorks2012AdventureWorks2012 database.

USE AdventureWorks2012;
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
    snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2012';
GO

O conjunto de resultados mostra que a estrutura de isolamento de instantâneo está habilitada.The result set shows that the snapshot isolation framework is enabled.

NAMEname snapshot_isolation_statesnapshot_isolation_state descriçãodescription
AdventureWorks2012AdventureWorks2012 11 ONON

C.C. Habilitando, modificando e desabilitando o controle de alteraçõesEnabling, modifying, and disabling change tracking

O exemplo a seguir habilita o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 e define o período de retenção para 2 dias.The following example enables change tracking for the AdventureWorks2012AdventureWorks2012 database and sets the retention period to 2 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);

O exemplo a seguir mostra como alterar o período de retenção para 3 dias.The following example shows how to change the retention period to 3 days.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);

O exemplo a seguir mostra como desabilitar o controle de alterações no banco de dados AdventureWorks2012AdventureWorks2012 .The following example shows how to disable change tracking for the AdventureWorks2012AdventureWorks2012 database.

ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = OFF;

D.D. Habilitando o repositório de consultasEnabling the query store

O exemplo a seguir habilita o repositório de consultas e configura os parâmetros do repositório de consultas.The following example enables the query store and configures query store parameters.

ALTER DATABASE AdventureWorks2012
SET QUERY_STORE = ON 
  (  
      OPERATION_MODE = READ_WRITE
    , CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = 90 )
    , DATA_FLUSH_INTERVAL_SECONDS = 900
    , MAX_STORAGE_SIZE_MB = 1024
    , INTERVAL_LENGTH_MINUTES = 60
    );

Consulte TambémSee Also

SQL ServerSQL Server Banco de dados individual/pool elástico
do Banco de Dados SQL
SQL Database
single database/elastic pool
Instância gerenciada
do Banco de Dados SQL
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 

 

Azure SQL Data WarehouseAzure SQL Data Warehouse

Observação

Muitas opções de definição de banco de dados podem ser configuradas para a sessão atual usando Instruções SET e são configuradas com frequência por aplicativos quando eles são conectados.Many database set options can be configured for the current session by using SET Statements and are often configured by applications when they connect. As opções definidas no nível de sessão substituem os valores de ALTER DATABASE SET .Session level set options override the ALTER DATABASE SET values. As opções de banco de dados descritas abaixo são os valores que podem ser definidos para as sessões que não fornecem explicitamente outros valores de definição de conjunto.The database options described below are values that can be set for sessions that don't explicitly provide other set option values.

SintaxeSyntax

ALTER DATABASE { database_name | Current }
SET
{
    <optionspec> [ ,...n ]
}
;

<auto_option> ::=
{}
RESULT_SET_CACHING { ON | OFF}
}

ArgumentosArguments

database_name É o nome do banco de dados a ser modificado.database_name Is the name of the database to be modified.

<auto_option> ::=<auto_option> ::=

Controla opções automáticas.Controls automatic options.

Permissions Requer estas permissões:Permissions Requires these permissions:

  • Logon da entidade de segurança no nível do servidor (aquele criado pelo processo de provisionamento), ouServer-level principal login (the one created by the provisioning process), or
  • Membro da função de banco de dados dbmanager.Member of the dbmanager database role.

O proprietário do banco de dados não pode alterar o banco de dados, a menos que ele seja membro da função dbmanager.The owner of the database cannot alter the database unless the owner is a member of the dbmanager role.

Observação

Embora esse recurso esteja sendo distribuído para todas as regiões, verifique a versão implantada em sua instância e as notas sobre a versão mais recente do SQL DW do Azure para obter a disponibilidade de recursos.While this feature is being rolled out to all regions, please check the version deployed to your instance and the latest Azure SQL DW release notes for feature availability.

RESULT_SET_CACHING {ON | OFF} aplica-se somente ao SQL Data Warehouse do Azure Gen2 (versão prévia). Esse comando deve ser executado enquanto estiver conectado ao banco de dados mestre.RESULT_SET_CACHING { ON | OFF } Applies to Azure SQL Data Warehouse Gen2 only (preview) This command must be run while connected to the master database. A alteração dessa configuração de banco de dados entra em vigor imediatamente.Change to this database setting takes effect immediately. Os custos de armazenamento são incorridos pelo armazenamento em cache dos conjuntos de resultados da consulta.Storage costs are incurred by caching query result sets. Depois de desabilitar o armazenamento em cache de resultados de um banco de dados, o cache de resultados anteriormente persistente será excluído imediatamente do armazenamento do SQL Data Warehouse do Azure.After disabling result caching for a database, previously persisted result cache will immediately be deleted from Azure SQL Data warehouse storage. Uma nova coluna chamada is_result_set_caching_on é introduzida no sys.databases para mostrar a configuração de armazenamento em cache de resultados de um banco de dados.A new column called is_result_set_caching_on is introduced in the sys.databases to show the result caching setting for a database.

ON Especifica que os conjuntos de resultados de consulta retornados desse banco de dados serão armazenados em cache no armazenamento do SQL Data Warehouse do Azure.ON Specifies that query result sets returned from this database will be cached in Azure SQL Data Warehouse storage.

OFF Especifica que os conjuntos de resultados de consulta retornados desse banco de dados não serão armazenados em cache no armazenamento do SQL Data Warehouse do Azure.OFF Specifies that query result sets returned from this database will not be cached in Azure SQL Data warehouse storage. Os usuários podem determinar se uma consulta foi executada com um acerto ou erro do cache de resultados, consultando sys.pdw_request_steps com um request_id específico.Users can tell if a query was executed with a result cache hit or miss by querying sys.pdw_request_steps with a specific request_id. Se houver um acerto de cache, o resultado da consulta terá uma única etapa com os seguintes detalhes:If there is a cache hit, the query result will have a single step with following details:

Nome da colunaColumn name OperadorOperator ValueValue
operation_typeoperation_type = ReturnOperationReturnOperation
step_indexstep_index = 00
location_typelocation_type = ControlControl
commandcommand ComoLike %DWResultCacheDb%%DWResultCacheDb%

ExemplosExamples

Habilitar o armazenamento em cache do conjunto de resultados de um banco de dadosEnable result set caching for a database

ALTER DATABASE myTestDW  
SET RESULT_SET_CACHING ON;

Desabilitar o armazenamento em cache do conjunto de resultados de um banco de dadosDisable result set caching for a database

ALTER DATABASE myTestDW  
SET RESULT_SET_CACHING OFF;

Verificar a configuração do armazenamento em cache do conjunto de resultados para um banco de dadosCheck result set caching setting for a database

SELECT name, is_result_set_caching_on
FROM sys.databases;

Verificar o número de consultas com acerto e erro de cache do conjunto de resultadosCheck for number of queries with result set cache hit and cache miss

SELECT  
Queries=CacheHits+CacheMisses,
CacheHits,
CacheMisses 
CacheHitPct=CacheHits*1.0/(CacheHits+CacheMisses)
FROM  
(SELECT  
CacheHits=count(distinct case when s.command like '%DWResultCacheDb%' and
r.resource_class IS NULL and s.operation_type = 'ReturnOperation' and  
s.step_index = 0 then s.request_id else null end) , 
CacheMisses=count(distinct case when r.resource_class IS NOT NULL then  
s.request_id else null end) 
     FROM sys.dm_pdw_request_steps s  
     JOIN sys.dm_pdw_exec_requests r  
     ON s.request_id = r.request_id) A;

Verificar se há acerto ou erro de cache do conjunto de resultados para uma consultaCheck for result set cache hit or cache miss for a query

If
(SELECT step_index  
FROM sys.dm_pdw_request_steps  
WHERE request_id = 'QID58286' and operation_type = 'ReturnOperation' and command like '%DWResultCacheDb%') = 0
SELECT 1 as is_cache_hit  
ELSE
SELECT 0 as is_cache_hit;

Verificar todas as consultas com acertos de cache do conjunto de resultadosCheck for all queries with result set cache hits

SELECT *  
FROM sys.dm_pdw_request_steps  
WHERE command like '%DWResultCacheDb%' and step_index = 0;

Confira tambémSee also