ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

Modifica determinadas opções de configuração de um banco de dados.Modifies certain configuration options of a database.

Este artigo fornece a sintaxe, os argumentos, os comentários, as permissões e os exemplos de qualquer produto SQL que você escolher.This article provides the syntax, arguments, remarks, permissions, and examples for whichever SQL product you choose.

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 are 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
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Visão geral: SQL ServerOverview: SQL Server

No SQL Server, essa instrução modifica um banco de dados ou os arquivos e grupos de arquivos associados ao banco de dados.In SQL Server, this statement modifies a database, or the files and filegroups associated with the database. Adiciona ou remove arquivos e grupos de arquivos de um banco de dados, altera os atributos de um banco de dados ou seus arquivos e grupos de arquivos, altera a ordenação de banco de dados e define opções de banco de dados.Adds or removes files and filegroups from a database, changes the attributes of a database or its files and filegroups, changes the database collation, and sets database options. Instantâneos de banco de dados não podem ser modificados.Database snapshots cannot be modified. Para modificar opções de banco de dados associadas à replicação, use sp_replicationdboption.To modify database options associated with replication, use sp_replicationdboption.

Devido à sua extensão, a sintaxe ALTER DATABASE está separada em vários artigos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE O artigo atual fornece a sintaxe e as informações relacionadas para alterar o nome e a ordenação de um banco de dados.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opções de grupo de arquivos e arquivo de banco de dados ALTER Fornece a sintaxe e informações relacionadas para adicionar e remover arquivos e grupos de arquivos de um banco de dados e para alterar os atributos de arquivos e grupos de arquivos.ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Opções ALTER DATABASE SET Fornece a sintaxe e informações relacionadas para alterar os atributos de um banco de dados usando as opções SET de ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Espelhamento de banco de dados de ALTER DATABASE Fornece a sintaxe e informações relacionadas para as opções SET de ALTER DATABASE relacionadas ao espelhamento de banco de dados.ALTER DATABASE Database Mirroring Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database mirroring.

ALTER DATABASE SET HADR Fornece a sintaxe e informações relacionadas para as opções Grupos de disponibilidade AlwaysOnAlways On availability groups de ALTER DATABASE para configurar um banco de dados secundário em uma réplica secundária de um Grupo de Disponibilidade AlwaysOn.ALTER DATABASE SET HADR Provides the syntax and related information for the Grupos de disponibilidade AlwaysOnAlways On availability groups options of ALTER DATABASE for configuring a secondary database on a secondary replica of an Always On availability group.

Nível de compatibilidade de ALTER DATABASE Fornece a sintaxe e informações relacionadas para as opções SET de ALTER DATABASE relacionadas aos níveis de compatibilidade do banco de dados.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

ALTER DATABASE SCOPED CONFIGURATION Fornece a sintaxe relacionada às configurações no escopo do banco de dados usadas para as configurações individuais no nível do banco de dados, como comportamentos relacionados à otimização e à execução de consulta.ALTER DATABASE SCOPED CONFIGURATION Provides the syntax related to database scoped configurations used for individual database level settings such as query optimization and query execution related behaviors.

SintaxeSyntax

-- SQL Server Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>
  | SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<file_and_filegroup_options>::=
  <add_or_modify_files>::=
  <filespec>::=
  <add_or_modify_filegroups>::=
  <filegroup_updatability_option>::=

<option_spec>::=
{
  | <auto_option>
  | <change_tracking_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_options>
  | <HADR_options>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
}

ArgumentosArguments

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

Observação

Essa opção não está disponível em um banco de dados independente.This option is not available in a Contained Database.

CURRENT Aplica-se a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) até SQL ServerSQL Server.CURRENT Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL ServerSQL Server.

Designa que o banco de dados em uso deve ser alterado.Designates that the current database in use should be altered.

MODIFY NAME = new_database_name Renomeia o banco de dados com o nome especificado como new_database_name.MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name.

COLLATE collation_name Especifica a ordenação do banco de dados.COLLATE collation_name Specifies the collation for the database. collation_name pode ser um nome de ordenação do Windows ou um nome de ordenação SQL.collation_name can be either a Windows collation name or a SQL collation name. Se não especificado, ao banco de dados será atribuída a ordenação da instância do SQL ServerSQL Server.If not specified, the database is assigned the collation of the instance of SQL ServerSQL Server.

Observação

A ordenação não poderá ser alterada depois que o banco de dados tiver sido criado em Banco de dados SQL do AzureAzure SQL Database.Collation cannot be changed after database has been created on Banco de dados SQL do AzureAzure SQL Database.

Durante a criação de bancos de dados com itens diferentes da ordenação padrão, os dados no banco de dados sempre respeitam a ordenação especificada.When creating databases with other than the default collation, the data in the database always respects the specified collation. Para SQL ServerSQL Server, ao criar um banco de dados independente, as informações do catálogo interno serão mantidas por meio da ordenação padrão de SQL ServerSQL Server, Latin1_General_100_CI_AS_WS_KS_SC.For SQL ServerSQL Server, when creating a contained database, the internal catalog information is maintained using the SQL ServerSQL Server default collation, Latin1_General_100_CI_AS_WS_KS_SC.

Para saber mais sobre nomes de ordenações Windows e SQL, confira COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

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

Para saber mais, confira Opções ALTER DATABASE SET e Controlar a durabilidade da transação.For more information see ALTER DATABASE SET Options and Control Transaction Durability.

<file_and_filegroup_options>::= Para obter mais informações, consulte Opções de arquivo e grupo de arquivos de ALTER DATABASE.<file_and_filegroup_options>::= For more information, see ALTER DATABASE File and Filegroup Options.

RemarksRemarks

Para remover um banco de dados, use DROP DATABASE.To remove a database, use DROP DATABASE.

Para diminuir o tamanho de um banco de dados, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

A instrução ALTER DATABASE deve ser executada em modo de confirmação automática (o modo padrão de gerenciamento de transações) e não deve ser permitida em uma transação explícita ou implícita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

O estado de um arquivo de banco de dados (por exemplo, online ou offline) é mantido independentemente do estado do banco de dados.The state of a database file (for example, online or offline), is maintained independently from the state of the database. Para obter mais informações, consulte Estados de arquivo.For more information, see File States. O estado dos arquivos dentro de um grupo de arquivos determina a disponibilidade de todo o grupo.The state of the files within a filegroup determines the availability of the whole filegroup. Para que um grupo de arquivos fique disponível, todos os seus arquivos devem estar online.For a filegroup to be available, all files within the filegroup must be online. Se um grupo de arquivos estiver offline, qualquer tentativa de acessá-lo por meio de uma instrução SQL falhará com erro.If a filegroup is offline, any try to access the filegroup by an SQL statement will fail with an error. Quando você cria planos de consulta para instruções SELECT, o otimizador de consultas evita índices não clusterizados e exibições indexadas que residam em grupos de arquivos offline.When you build query plans for SELECT statements, the query optimizer avoids nonclustered indexes and indexed views that reside in offline filegroups. Isso permite que essas instruções tenham êxito.This enables these statements to succeed. Porém, se o grupo de arquivos offline contiver o heap ou índice clusterizado da tabela de destino, as instruções SELECT falharão.However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. Além disso, qualquer instrução INSERT, UPDATE ou DELETE que modifica uma tabela com um índice em um grupo de arquivos offline falhará.Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

Quando um banco de dados estiver em estado RESTORING, a maioria das instruções ALTER DATABASE falhará.When a database is in the RESTORING state, most ALTER DATABASE statements will fail. A exceção está definindo opções de espelhamento de banco de dados.The exception is setting database mirroring options. 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.

O cache do plano para a instância do SQL ServerSQL Server é limpo pela configuraçã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 PAGE_VERIFYPAGE_VERIFY

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 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.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL 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.

O cache de planos também é liberado nos seguintes cenários:The plan 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.

Alterando a ordenação de banco de dadosChanging the Database Collation

Antes de aplicar uma ordenação diferente a um banco de dados, certifique-se de que existam as seguintes condições:Before you apply a different collation to a database, make sure that the following conditions are in place:

  • Você é o único usuário que está utilizando o banco de dados no momento.You are the only one currently using the database.
  • Nenhum objeto associado ao esquema depende da ordenação do banco de dados.No schema-bound object depends on the collation of the database.

Se os objetos a seguir, que dependem da ordenação de banco de dados, existirem no banco de dados, a instrução ALTER DATABASEdatabase_nameCOLLATE falhará.If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail. O SQL ServerSQL Server retornará uma mensagem de erro para cada objeto que bloqueia a ação de ALTER:SQL ServerSQL Server will return an error message for each object blocking the ALTER action:

  • Funções definidas pelo usuário e exibições criadas com SCHEMABINDINGUser-defined functions and views created with SCHEMABINDING
  • Colunas computadasComputed columns
  • Restrições CHECKCHECK constraints
  • Funções com valor de tabela que retornam tabelas com colunas de caracteres com ordenações herdadas da ordenação de banco de dados padrãoTable-valued functions that return tables with character columns with collations inherited from the default database collation

Informações de dependência de entidades não associadas a esquema são automaticamente atualizadas quando a ordenação de banco de dados é alterada.Dependency information for non-schema-bound entities is automatically updated when the database collation is changed.

Alterar a ordenação de banco de dados não cria duplicatas entre nenhum nome de sistema para os objetos de banco de dados.Changing the database collation does not create duplicates among any system names for the database objects. Se nomes duplicados resultarem da ordenação alterada, os namespaces a seguir poderão provocar falha de alteração de ordenação de banco de dados:If duplicate names result from the changed collation, the following namespaces may cause the failure of a database collation change:

  • Nomes de objeto, como procedimentos, tabelas, gatilhos ou exibiçõesObject names such as a procedure, table, trigger, or view
  • Nomes de esquemaSchema names
  • Entidades, como grupos, funções ou usuáriosPrincipals such as a group, role, or user
  • Nomes escalares, como tipos de sistema e tipos definidos pelo usuárioScalar-type names such as system and user-defined types
  • Nomes de catálogo de texto completoFull-text catalog names
  • Nomes de coluna ou parâmetro dentro de um objetoColumn or parameter names within an object
  • Nomes de índice dentro de uma tabelaIndex names within a table

Nomes duplicados resultantes da nova ordenação provocarão falha na ação de alteração e o SQL ServerSQL Server retornará uma mensagem de erro especificando o namespace onde a duplicata foi encontrada.Duplicate names resulting from the new collation will cause the change action to fail, and SQL ServerSQL Server will return an error message specifying the namespace where the duplicate was found.

Exibindo informações do banco de dadosViewing Database Information

É possível usar exibições do catálogo, funções do sistema e procedimentos armazenados do sistema para retornar informações sobre bancos de dados, arquivos e grupos de arquivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermissõesPermissions

Requer a permissão ALTER no banco de dados.Requires ALTER permission on the database.

ExemplosExamples

A.A. Alterando o nome de um banco de dadosChanging the name of a database

O exemplo a seguir altera o nome do banco de dados AdventureWorks2012 para Northwind.The following example changes the name of the AdventureWorks2012 database to Northwind.

USE master;
GO
ALTER DATABASE AdventureWorks2012
Modify Name = Northwind ;
GO

B.B. Alterando a ordenação de um banco de dadosChanging the collation of a database

O exemplo a seguir cria um banco de dados denominado testdb com a ordenação SQL_Latin1_General_CP1_CI_AS e, em seguida, altera a ordenação do banco de dados testdb para COLLATE French_CI_AI.The following example creates a database named testdb with the SQL_Latin1_General_CP1_CI_AS collation, and then changes the collation of the testdb database to COLLATE French_CI_AI.

Aplica-se a: do SQL Server 2008SQL Server 2008 ao SQL ServerSQL Server.Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

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
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Visão geral: Banco de dados individual/pool elástico do Banco de Dados SQL do AzureOverview: Azure SQL Database single database/elastic pool

No Banco de Dados SQL do Azure, use essa instrução para modificar um banco de dados em um banco de dados individual/pool elástico.In Azure SQL Database, use this statement to modify a database on a single database/elastic pool. Use esta instrução para alterar o nome de um banco de dados, alterar o objetivo de serviço e a edição do banco de dados, ingressar ou remover o banco de dados para ou de um pool elástico, definir as opções de banco de dados, adicionar ou remover o banco de dados como um secundário em uma relação de replicação geográfica e definir o nível de compatibilidade do banco de dados.Use this statement to change the name of a database, change the edition and service objective of the database, join or remove the database to or from an elastic pool, set database options, add or remove the database as a secondary in a geo-replication relationship, and set the database compatibility level.

Devido à sua extensão, a sintaxe ALTER DATABASE está separada em vários artigos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE O artigo atual fornece a sintaxe e as informações relacionadas para alterar o nome e a ordenação de um banco de dados.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opções ALTER DATABASE SET Fornece a sintaxe e informações relacionadas para alterar os atributos de um banco de dados usando as opções SET de ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Nível de compatibilidade de ALTER DATABASE Fornece a sintaxe e informações relacionadas para as opções SET de ALTER DATABASE relacionadas aos níveis de compatibilidade do banco de dados.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintaxeSyntax

-- Azure SQL Database Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | MODIFY ( <edition_options> [, ... n] )
  | SET { <option_spec> [ ,... n ] WITH <termination>}
  | ADD SECONDARY ON SERVER <partner_server_name>
    [WITH ( <add-secondary-option>::=[, ... n] ) ]
  | REMOVE SECONDARY ON SERVER <partner_server_name>
  | FAILOVER
  | FORCE_FAILOVER_ALLOW_DATA_LOSS
}
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale'}
  | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL (name = <elastic_pool_name>) }
       }
}

<add-secondary-option> ::=
   {
      ALLOW_CONNECTIONS = { ALL | NO }
     | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL ( name = <elastic_pool_name>) }
       }
   }

<service-objective> ::={ 'basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen4_1' | 'GP_Gen4_2' | 'GP_Gen4_3' | 'GP_Gen4_4' | 'GP_Gen4_5' | 'GP_Gen4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) }
      }

<option_spec> ::=
{
    <auto_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>
  | <compatibility_level>
    { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}

ArgumentosArguments

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

CURRENT Designa que o banco de dados em uso deve ser alterado.CURRENT Designates that the current database in use should be altered.

MODIFY NAME = new_database_name Renomeia o banco de dados com o nome especificado como new_database_name.MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name. O exemplo a seguir altera o nome de um banco de dados db1 para db2:The following example changes the name of a database db1 to db2:

ALTER DATABASE db1
    MODIFY Name = db2 ;

MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Altera a camada de serviço do banco de dados.MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Changes the service tier of the database.

O exemplo a seguir altera a edição para premium:The following example changes edition to premium:

ALTER DATABASE current
    MODIFY (EDITION = 'premium');

Importante

A alteração da edição falhará se a propriedade MAXSIZE do banco de dados estiver definida como um valor fora do intervalo válido compatível com essa edição.EDITION change fails if the MAXSIZE property for the database is set to a value outside the valid range supported by that edition.

MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Especifica o tamanho máximo do banco de dados.MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Specifies the maximum size of the database. O tamanho máximo deve estar em conformidade com o conjunto válido de valores da propriedade EDITION do banco de dados.The maximum size must comply with the valid set of values for the EDITION property of the database. A alteração do tamanho máximo do banco de dados pode fazer com que a EDIÇÃO do banco de dados seja alterada.Changing the maximum size of the database may cause the database EDITION to be changed.

Observação

O argumento MAXSIZE não é aplicável a bancos de dados individuais na camada de serviço em hiperescala.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. Os bancos de dados da camada de serviço em hiperescala crescem conforme necessário até 100 TB.Hyperscale service tier databases grow as needed, up to 100 TB. O serviço de Banco de Dados SQL adiciona armazenamento automaticamente – não é necessário definir um tamanho máximo.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modelo da DTUDTU model

MAXSIZEMAXSIZE BasicBasic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100 MB100 MB
250 MB250 MB
500 MB500 MB
1 GB1 GB
2 GB2 GB √ (D)√ (D)
5 GB5 GB N/AN/A
10 GB10 GB N/AN/A
20 GB20 GB N/AN/A
30 GB30 GB N/AN/A
40 GB40 GB N/AN/A
50 GB50 GB N/AN/A
100 GB100 GB N/AN/A
150 GB150 GB N/AN/A
200 GB200 GB N/AN/A
250 GB250 GB N/AN/A √ (D)√ (D) √ (D)√ (D)
300 GB300 GB N/AN/A
400 GB400 GB N/AN/A
500 GB500 GB N/AN/A √ (D)√ (D)
750 GB750 GB N/AN/A
1024 GB1024 GB N/AN/A √ (D)√ (D)
De 1024 GB até 4096 GB em incrementos de 256 GB*From 1024 GB up to 4096 GB in increments of 256 GB* N/AN/A N/AN/A N/AN/A N/AN/A

* P11 e P15 permitem MAXSIZE até 4 TB com 1024 GB sendo o tamanho padrão.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 e P15 podem usar até 4 TB de armazenamento incluído sem custos adicionais.P11 and P15 can use up to 4 TB of included storage at no additional charge. Na camada Premium, um MAXSIZE maior que 1 TB está atualmente disponível nas seguintes regiões: Leste dos EUA 2, Oeste dos EUA, US Gov – Virgínia, Europa Ocidental, Alemanha Central, Sudeste Asiático, Leste do Japão, Leste da Austrália, Canadá Central e Leste do Canadá.In the Premium tier, MAXSIZE greater than 1 TB is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. Para obter detalhes adicionais sobre limitações de recursos para o modelo de DTU, veja Limites de recurso de DTU.For additional details regarding resource limitations for the DTU model, see DTU resource limits.

O valor MAXSIZE do modelo de DTU, se especificado, deve ser um valor válido exibido na tabela acima para a camada de serviço especificada.The MAXSIZE value for the DTU model, if specified, has to be a valid value shown in the table above for the service tier specified.

modelo vCorevCore model

Uso Geral – computação provisionada – Gen4 (parte 1)General purpose - provisioned compute - Gen4 (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Uso Geral – computação provisionada – Gen4 (parte 2)General purpose - provisioned compute - Gen4 (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
Tamanho máximo de dados (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Uso Geral – computação provisionada – Gen5 (parte 1)General purpose - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Uso Geral – computação provisionada – Gen5 (parte 2)General purpose - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
Tamanho máximo de dados (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Uso Geral – computação provisionada – série Fsv2 (versão prévia)General purpose - provisioned compute - Fsv2-series (preview)

MAXSIZEMAXSIZE GP_Fsv2_72GP_Fsv2_72
Tamanho máximo de dados (GB)Max data size (GB) 40964096

Uso Geral – computação sem servidor – Gen5 (parte 1)General purpose - serverless compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_S_Gen5_1GP_S_Gen5_1 GP_S_Gen5_2GP_S_Gen5_2 GP_S_Gen5_4GP_S_Gen5_4 GP_S_Gen5_6GP_S_Gen5_6 GP_S_Gen5_8GP_S_Gen5_8
Máximo de vCoresMax vCores 11 22 44 66 88

Uso Geral – computação sem servidor – Gen5 (parte 2)General purpose - serverless compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_S_Gen5_10GP_S_Gen5_10 GP_S_Gen5_12GP_S_Gen5_12 GP_S_Gen5_14GP_S_Gen5_14 GP_S_Gen5_16GP_S_Gen5_16
Máximo de vCoresMax vCores 1010 1212 1414 1616

Comercialmente Crítico – computação provisionada – Gen4 (parte 1)Business critical - provisioned compute - Gen4 (part 1)

Nível de desempenhoPerformance level BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_3BC_Gen4_3 BC_Gen4_4BC_Gen4_4 BC_Gen4_5BC_Gen4_5 BC_Gen4_6BC_Gen4_6
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Comercialmente Crítico – computação provisionada – Gen4 (parte 2)Business critical - provisioned compute - Gen4 (part 2)

Nível de desempenhoPerformance level BC_Gen4_7BC_Gen4_7 BC_Gen4_8BC_Gen4_8 BC_Gen4_9BC_Gen4_9 BC_Gen4_10BC_Gen4_10 BC_Gen4_16BC_Gen4_16 BC_Gen4_24BC_Gen4_24
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Comercialmente Crítico – computação provisionada – Gen5 (parte 1)Business critical - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
Tamanho máximo de dados (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Comercialmente Crítico – computação provisionada – Gen5 (parte 2)Business critical - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
Tamanho máximo de dados (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Comercialmente Crítico – computação provisionada – série M (versão prévia)Business critical - provisioned compute - M-series (preview)

MAXSIZEMAXSIZE BC_M_128BC_M_128
Tamanho máximo de dados (GB)Max data size (GB) 40964096

Se nenhum MAXSIZEvalor for definido ao usar o modelo vCore, o padrão será de 32 GB.If no MAXSIZEvalue is set when using the vCore model, the default is 32 GB. Para obter detalhes adicionais sobre limitações de recursos para o modelo de vCore, confira Limites de recurso de vCore.For additional details regarding resource limitations for vCore model, see vCore resource limits.

As regras a seguir se aplicam aos argumentos MAXSIZE e EDITION:The following rules apply to MAXSIZE and EDITION arguments:

  • Se EDITION for especificado, mas MAXSIZE não for especificado, o valor padrão da edição será usado.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Por exemplo, se EDITION for definido como Standard e MAXSIZE não for especificado, MAXSIZE será automaticamente definido como 250 MB.For example, is the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • Se nem MAXSIZE nem EDITION forem especificados, EDITION será definido como Uso Geral e MAXSIZE será definido como 32 GB.If neither MAXSIZE nor EDITION is specified, the EDITION is set to General Purpose, and MAXSIZE is set to 32 GB.

MODIFY (SERVICE_OBJECTIVE = <service-objective>) Especifica o nível de desempenho.MODIFY (SERVICE_OBJECTIVE = <service-objective>) Specifies the performance level. A exemplo a seguir altera o objetivo de serviço de um banco de dados Premium para P6:The following example changes service objective of a premium database to P6:

ALTER DATABASE current
    MODIFY (SERVICE_OBJECTIVE = 'P6');

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Para bancos de dados individuais e em poolFor single and pooled databases

    • Especifica o nível de desempenho.Specifies the performance level. Os valores disponíveis para o objetivo de serviço são: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32, BC_Gen5_40, BC_Gen5_80, BC_M_128.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128.
  • Para bancos de dados sem servidorFor serverless databases

    • Especifica o nível de desempenho.Specifies the performance level. Os valores disponíveis para o objetivo do serviço são: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16.Available values for service objective are: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16.
  • Para bancos de dados individuais na camada de serviço em hiperescalaFor single databases in the Hyperscale service tier

    • Especifica o nível de desempenho.Specifies the performance level. Os valores disponíveis para o objetivo do serviço são: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.Available values for service objective are: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.

Para obter descrições de objetivos de serviço e mais informações sobre o tamanho, as edições e as combinações de objetivo de serviço, veja Camadas de serviço e níveis de desempenho do Banco de Dados SQL do Azure, Limites de recurso de DTU e Limites de recurso de vCore.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU resource limits and vCore resource limits. O suporte para objetivos de serviço PRS foi removido.Support for PRS service objectives have been removed. Em caso de dúvidas, use este alias de email: premium-rs@microsoft.com.For questions, use this e-mail alias: premium-rs@microsoft.com.

MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>) Para adicionar um banco de dados existente a um pool elástico, defina o SERVICE_OBJECTIVE do banco de dados como ELASTIC_POOL e forneça o nome do pool elástico.MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>) To add an existing database to an elastic pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the elastic pool. Você também pode usar esta opção para alterar o banco de dados para um pool elástico diferente no mesmo servidor.You can also use this option to change the database to a different elastic pool within the same server. Para obter mais informações, confira Criar e gerenciar um pool elástico do Banco de Dados SQL.For more information, see Create and manage a SQL Database elastic pool. Para remover um banco de dados de um pool elástico, use ALTER DATABASE para definir o SERVICE_OBJECTIVE para um único nível de desempenho do banco de dados.To remove a database from an elastic pool, use ALTER DATABASE to set the SERVICE_OBJECTIVE to a single database performance level.

Observação

Bancos de dados na camada de serviço de Hiperescala não podem ser adicionados a um pool elástico.Databases in the Hyperscale service tier cannot be added to an elastic pool.

ADD SECONDARY ON SERVER <partner_server_name>ADD SECONDARY ON SERVER <partner_server_name>

Cria um banco de dados de replicação geográfica secundário com o mesmo nome em um servidor parceiro, tornando o banco de dados local o primário da replicação geográfica e começa a replicação de dados assíncrona do primário para o novo secundário.Creates a geo-replication secondary database with the same name on a partner server, making the local database into a geo-replication primary, and begins asynchronously replicating data from the primary to the new secondary. Se um banco de dados com o mesmo nome já existir no secundário, o comando falhará.If a database with the same name already exists on the secondary, the command fails. O comando é executado no banco de dados mestre no servidor que hospeda o banco de dados local que se torna o primário.The command is executed on the master database on the server hosting the local database that becomes the primary.

Importante

No momento, a camada de serviço de Hiperescala no momento não dá suporte para replicação geográfica.The Hyperscale service tier does not currently support geo-replication.

WITH ALLOW_CONNECTIONS { ALL | NO } Quando ALLOW_CONNECTIONS não for especificado, ele será definido como ALL por padrão.WITH ALLOW_CONNECTIONS { ALL | NO } When ALLOW_CONNECTIONS is not specified, it is set to ALL by default. Se estiver definido como ALL, ele será um banco de dados somente leitura que permite que todos os logons com as permissões apropriadas se conectem.If it is set ALL, it is a read-only database that allows all logins with the appropriate permissions to connect.

COM SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32, BC_Gen5_40, BC_Gen5_80, BC_M_128 }WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128 }

Quando SERVICE_OBJECTIVE não for especificado, o banco de dados secundário será criado no mesmo nível de serviço que o banco de dados primário.When SERVICE_OBJECTIVE is not specified, the secondary database is created at the same service level as the primary database. Quando SERVICE_OBJECTIVE for especificado, o banco de dados secundário será criado no nível especificado.When SERVICE_OBJECTIVE is specified, the secondary database is created at the specified level. Essa opção permite a criação de secundários replicados geograficamente com níveis de serviço mais baratos.This option supports creating geo-replicated secondaries with less expensive service levels. O SERVICE_OBJECTIVE especificado precisa estar na mesma edição que a origem.The SERVICE_OBJECTIVE specified must be within the same edition as the source. Por exemplo, não é possível especificar S0 se a edição for Premium.For example, you cannot specify S0 if the edition is premium.

ELASTIC_POOL (name = <elastic_pool_name>) Quando ELASTIC_POOL não for especificado, o banco de dados secundário não será criado em um pool elástico.ELASTIC_POOL (name = <elastic_pool_name>) When ELASTIC_POOL is not specified, the secondary database is not created in an elastic pool. Quando ELASTIC_POOL for especificado, o banco de dados secundário será criado no pool especificado.When ELASTIC_POOL is specified, the secondary database is created in the specified pool.

Importante

O usuário que executa o comando ADD SECONDARY precisa ser DBManager no servidor primário, ter associação a db_owner no banco de dados local e DBManager no servidor secundário.The user executing the ADD SECONDARY command must be DBManager on primary server, have db_owner membership in local database, and DBManager on secondary server.

REMOVE SECONDARY ON SERVER <partner_server_name > Remove o banco de dados secundário com replicação geográfica especificado do servidor especificado.REMOVE SECONDARY ON SERVER <partner_server_name> Removes the specified geo-replicated secondary database on the specified server. O comando é executado no banco de dados mestre no servidor que hospeda o banco de dados primário.The command is executed on the master database on the server hosting the primary database.

Importante

O usuário que executa o comando REMOVE SECONDARY precisa ser DBManager no servidor primário.The user executing the REMOVE SECONDARY command must be DBManager on the primary server.

FAILOVER Promove o banco de dados secundário na parceria de replicação geográfica na qual o comando é executado para se tornar o primário e rebaixa o primário atual para se tornar o novo secundário.FAILOVER Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Como parte desse processo, o modo de replicação geográfica é temporariamente alternado de modo assíncrono para modo síncrono.As part of this process, the geo-replication mode is temporarily switched from asynchronous mode to synchronous mode. Durante o processo de failover:During the failover process:

  1. O primário deixa de assumir novas transações.The primary stops taking new transactions.
  2. Todas as transações pendentes são liberadas para o secundário.All outstanding transactions are flushed to the secondary.
  3. O secundário torna-se o primário e inicia a replicação geográfica assíncrona com o antigo primário que agora é o novo secundário.The secondary becomes the primary and begins asynchronous geo-replication with the old primary / the new secondary.

Esta sequência garante que não haja nenhuma perda de dados.This sequence ensures that no data loss occurs. O período durante o qual os dois bancos de dados não estão disponíveis é de 0 a 25 segundos, enquanto as funções são trocadas.The period during which both databases are unavailable is on the order of 0-25 seconds while the roles are switched. A operação total não deve durar mais que cerca de um minuto.The total operation should take no longer than about one minute. Se o banco de dados primário estiver indisponível quando esse comando for emitido, o comando falhará com uma mensagem de erro indicando que o banco de dados primário não está disponível.If the primary database is unavailable when this command is issued, the command fails with an error message indicating that the primary database is not available. Se o processo de failover não for concluído e parecer paralisado, você poderá usar o comando para forçar o failover e aceitar a perda de dados. Em seguida, se for necessário recuperar os dados perdidos, chame DevOps (CSS).If the failover process does not complete and appears stuck, you can use the force failover command and accept data loss - and then, if you need to recover the lost data, call devops (CSS) to recover the lost data.

Importante

O usuário que executa o comando FAILOVER precisa ser DBManager no servidor primário e no servidor secundário.The user executing the FAILOVER command must be DBManager on both the primary server and the secondary server.

FORCE_FAILOVER_ALLOW_DATA_LOSS Promove o banco de dados secundário na parceria de replicação geográfica na qual o comando é executado para se tornar o primário e rebaixa o primário atual para se tornar o novo secundário.FORCE_FAILOVER_ALLOW_DATA_LOSS Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Use este comando somente quando o primário atual não estiver mais disponível.Use this command only when the current primary is no longer available. Ele foi projetado somente para recuperação de desastre, quando a restauração da disponibilidade é crítica e a perda de alguns dados é aceitável.It is designed for disaster recovery only, when restoring availability is critical, and some data loss is acceptable.

Durante um failover forçado:During a forced failover:

  1. O banco de dados secundário especificado torna-se imediatamente o banco de dados primário e começa a aceitar novas transações.The specified secondary database immediately becomes the primary database and begins accepting new transactions.
  2. Quando o primário original pode se reconectar com o novo primário, um backup incremental é realizado no primário original e ele se torna o novo secundário.When the original primary can reconnect with the new primary, an incremental backup is taken on the original primary, and the original primary becomes a new secondary.
  3. Para recuperar dados desse backup incremental no antigo primário, o usuário emprega DevOps/CSS.To recover data from this incremental backup on the old primary, the user engages devops/CSS.
  4. Se houver outros secundários, eles serão reconfigurados automaticamente para tornarem-se secundários do novo primário.If there are additional secondaries, they are automatically reconfigured to become secondaries of the new primary. Esse processo é assíncrono e pode haver um atraso até que ele seja concluído.This process is asynchronous and there may be a delay until this process completes. Até que a reconfiguração seja concluída, os secundários continuarão como secundários do antigo primário.Until the reconfiguration has completed, the secondaries continue to be secondaries of the old primary.

Importante

O usuário que executa o comando FORCE_FAILOVER_ALLOW_DATA_LOSS precisa ser dbmanager no servidor primário e no servidor secundário.The user executing the FORCE_FAILOVER_ALLOW_DATA_LOSS command must be belong to the dbmanager role on both the primary server and the secondary server.

RemarksRemarks

Para remover um banco de dados, use DROP DATABASE.To remove a database, use DROP DATABASE. Para diminuir o tamanho de um banco de dados, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

A instrução ALTER DATABASE deve ser executada em modo de confirmação automática (o modo padrão de gerenciamento de transações) e não deve ser permitida em uma transação explícita ou implícita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

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 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.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL 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.

O cache de procedimento também é liberado no seguinte cenário: Execute diversas consultas em um banco de dados que tem opções padrão.The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. O banco de dados é removido.Then, the database is dropped.

Exibindo informações do banco de dadosViewing Database Information

É possível usar exibições do catálogo, funções do sistema e procedimentos armazenados do sistema para retornar informações sobre bancos de dados, arquivos e grupos de arquivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermissõesPermissions

Para alterar um banco de dados, um logon precisa ser o logon da entidade de segurança no nível do servidor (criado pelo processo de provisionamento), um membro da função de banco de dados dbmanager no mestre, um membro da função de banco de dados db_owner no banco de dados atual ou dbo do banco de dados.To alter a database a login must bei either the server-level principal login (created by the provisioning process), a member of the dbmanager database role in master, a member of the db_owner database role in the current database, or dbo of the database.

ExemplosExamples

A.A. Verifique as opções de edição e altere-asCheck the edition options and change them

Define uma edição e um tamanho máximo para o banco de dados db1:Sets an edition and max size for database db1:

SELECT Edition = DATABASEPROPERTYEX('db1', 'EDITION'),
        ServiceObjective = DATABASEPROPERTYEX('db1', 'ServiceObjective'),
        MaxSizeInBytes =  DATABASEPROPERTYEX('db1', 'MaxSizeInBytes');

ALTER DATABASE [db1] MODIFY (EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');

B.B. Movendo um banco de dados para um pool elástico diferenteMoving a database to a different elastic pool

Move um banco de dados existente para um pool chamado pool1:Moves an existing database into a pool named pool1:

ALTER DATABASE db1
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;

C.C. Adicionar um secundário de replicação geográficaAdd a Geo-Replication Secondary

Cria o banco de dados secundário legível db1 no servidor secondaryserver do db1 no servidor local.Creates a readable secondary database db1 on server secondaryserver of the db1 on the local server.

ALTER DATABASE db1
ADD SECONDARY ON SERVER secondaryserver
WITH ( ALLOW_CONNECTIONS = ALL )

D.D. Remover um secundário de replicação geográficaRemove a Geo-Replication Secondary

Remove o banco de dados secundário db1 do servidor secondaryserver.Removes the secondary database db1 on server secondaryserver.

ALTER DATABASE db1
REMOVE SECONDARY ON SERVER testsecondaryserver

E.E. Failover para um secundário de replicação geográficaFailover to a Geo-Replication Secondary

Promove o banco de dados secundário db1 no servidor secondaryserver para tornar-se o novo banco de dados primário quando executado no servidor secondaryserver.Promotes a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver.

ALTER DATABASE db1 FAILOVER

E.E. Forçar o failover para um secundário de replicação geográfica com perda de dadosForce Failover to a Geo-Replication Secondary with data loss

Força um banco de dados secundário db1 no servidor secondaryserver a se tornar o novo banco de dados primário quando executado no servidor secondaryserver, caso o servidor primário se torne não disponível.Forces a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver, in the event that the primary server becomes unavailable. Essa opção pode gerar a perda de dados.This option may incur data loss.

ALTER DATABASE db1 FORCE_FAILOVER_ALLOW_DATA_LOSS

G.G. Atualizar um banco de dados individual para a camada de serviço S0 (Standard Edition, nível de desempenho 0)Update a single database to service tier S0 (standard edition, performance level 0)

Atualiza um banco de dados individual para a Standard Edition (camada de serviço) com um nível de desempenho do S0 e um tamanho máximo de 250 GB.Updates a single database to the standard edition (service tier) with a performance level of S0 and a maximum size of 250 GB.

ALTER DATABASE [db1] MODIFY (EDITION = 'Standard', MAXSIZE = 250 GB, SERVICE_OBJECTIVE = 'S0');

Confira 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
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Visão geral: Instância gerenciada do Banco de Dados SQL do AzureOverview: Azure SQL Database managed instance

Na instância gerenciada de Banco de Dados do SQL, use esta instrução para definir opções de banco de dados.In Azure SQL Database managed instance, use this statement to set database options.

Devido à sua extensão, a sintaxe ALTER DATABASE está separada em vários artigos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE O artigo atual fornece a sintaxe e as informações relacionadas para definir opções de arquivo e grupo de arquivos, para definir opções de banco de dados e para definir o nível de compatibilidade do banco de dados.ALTER DATABASE The current article provides the syntax and related information for setting file and filegroup options, for setting database options, and for setting the database compatibility level.

Opções de grupo de arquivos e arquivo de banco de dados ALTER Fornece a sintaxe e informações relacionadas para adicionar e remover arquivos e grupos de arquivos de um banco de dados e para alterar os atributos de arquivos e grupos de arquivos.ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Opções ALTER DATABASE SET Fornece a sintaxe e informações relacionadas para alterar os atributos de um banco de dados usando as opções SET de ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Nível de compatibilidade de ALTER DATABASE Fornece a sintaxe e informações relacionadas para as opções SET de ALTER DATABASE relacionadas aos níveis de compatibilidade do banco de dados.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintaxeSyntax

-- Azure SQL Database Syntax  
ALTER DATABASE { database_name | CURRENT }  
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ]  
}  
[;]

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec> ::=
{
    <auto_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>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}  

ArgumentosArguments

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

CURRENT Designa que o banco de dados em uso deve ser alterado.CURRENT Designates that the current database in use should be altered.

RemarksRemarks

Para remover um banco de dados, use DROP DATABASE.To remove a database, use DROP DATABASE. Para diminuir o tamanho de um banco de dados, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

A instrução ALTER DATABASE deve ser executada em modo de confirmação automática (o modo padrão de gerenciamento de transações) e não deve ser permitida em uma transação explícita ou implícita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

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.

O cache de planos também é liberado quando várias consultas são executadas em um banco de dados que possui opções padrão.The plan cache is also flushed when several queries are executed against a database that has default options. O banco de dados é removido.Then, the database is dropped.

Exibindo informações do banco de dadosViewing Database Information

É possível usar exibições do catálogo, funções do sistema e procedimentos armazenados do sistema para retornar informações sobre bancos de dados, arquivos e grupos de arquivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermissõesPermissions

Somente o logon de entidade de segurança no nível do servidor (criado pelo processo de provisionamento) ou os membros da função de banco de dados dbcreator podem alterar um banco de dados.Only the server-level principal login (created by the provisioning process) or members of the dbcreator database role can alter a database.

Importante

O proprietário do banco de dados não pode alterar o banco de dados, a menos que seja um membro da função dbcreator.The owner of the database cannot alter the database unless they are a member of the dbcreator role.

ExemplosExamples

Os exemplos a seguir mostram como definir o ajuste automático e como adicionar um arquivo em uma instância gerenciada.The following examples show you how to set automatic tuning and how to add a file in a managed instance.

ALTER DATABASE WideWorldImporters
  SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON)

ALTER DATABASE WideWorldImporters
  ADD FILE (NAME = 'data_17')

Confira 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 *
 
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Visão geral: Azure SQL Data WarehouseOverview: Azure SQL Data Warehouse

No SQL Data Warehouse do Azure, 'ALTER DATABASE' modifica o nome, o tamanho máximo ou o objetivo de serviço de um banco de dados.In Azure SQL Dta Warehouse, 'ALTER DATABASE' modifies the name, maximum size, or service objective for a database.

Devido à sua extensão, a sintaxe ALTER DATABASE está separada em vários artigos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

Opções ALTER DATABASE SET Fornece a sintaxe e informações relacionadas para alterar os atributos de um banco de dados usando as opções SET de ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

SintaxeSyntax

ALTER DATABASE { database_name | CURRENT }
{
  MODIFY NAME = new_database_name
| MODIFY ( <edition_option> [, ... n] )
| SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<edition_option> ::=
      MAXSIZE = {
            250 | 500 | 750 | 1024 | 5120 | 10240 | 20480
          | 30720 | 40960 | 51200 | 61440 | 71680 | 81920
          | 92160 | 102400 | 153600 | 204800 | 245760
      } GB
      | SERVICE_OBJECTIVE = {
            'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500'
          | 'DW600' | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000'
          | 'DW3000' | 'DW6000' | 'DW500c' | 'DW1000c' | 'DW1500c'
          | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c' | 'DW6000c'
          | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
      }

ArgumentosArguments

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

MODIFY NAME = new_database_name Renomeia o banco de dados com o nome especificado como new_database_name.MODIFY NAME = new_database_name Renames the database with the name specified as new_database_name.

MAXSIZE O padrão é 245.760 GB (240 TB).MAXSIZE The default is 245,760 GB (240 TB).

Aplica-se a: Otimizado para Computação Gen1Applies to: Optimized for Compute Gen1

O tamanho máximo permitido para o banco de dados.The maximum allowable size for the database. O banco de dados não pode ultrapassar o MAXSIZE.The database cannot grow beyond MAXSIZE.

Aplica-se a: Otimizado para Computação Gen2Applies to: Optimized for Compute Gen2

O tamanho máximo permitido para dados de rowstore no banco de dados.The maximum allowable size for rowstore data in the database. Os dados armazenados em tabelas rowstore, um deltastore de um índice columstore ou um índice não clusterizado em um índice columnstore clusterizado não podem exceder o MAXSIZE.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE. Os dados compactados no formato columnstore não têm um limite de tamanho e não estão restritos pelo MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVE Especifica o nível de desempenho.SERVICE_OBJECTIVE Specifies the performance level. Para obter mais informações sobre os objetivos de serviço para o SQL Data Warehouse, confira Unidades de Data Warehouse (DWUs).For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

PermissõesPermissions

Requer estas permissões: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.

Comentários geraisGeneral Remarks

O banco de dados atual deve ser um banco de dados diferente daquele que você está alterando, portanto ALTER deve ser executado enquanto você está conectado ao banco de dados mestre.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

O SQL Data Warehouse é definido como COMPATIBILITY_LEVEL 130 e não pode ser alterado.SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Para obter mais detalhes, confira Improved Query Performance with Compatibility Level 130 in Azure SQL Database (Melhor desempenho de consulta com o nível de compatibilidade 130 no Banco de Dados SQL do Azure).For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

Limitações e RestriçõesLimitations and Restrictions

Para executar ALTER DATABASE, o banco de dados deve estar online e não pode estar no estado de pausa.To run ALTER DATABASE, the database must be online and cannot be in a paused state.

A instrução ALTER DATABASE precisa ser executada no modo de confirmação automática, que é o modo padrão de gerenciamento de transações.The ALTER DATABASE statement must run in auto-commit mode, which is the default transaction management mode. Isso é definido nas configurações de conexão.This is set in the connection settings.

A instrução ALTER DATABASE não pode fazer parte de uma transação definida pelo usuário.The ALTER DATABASE statement cannot be part of a user-defined transaction.

Você não pode alterar a ordenação de banco de dados.You cannot change the database collation.

ExemplosExamples

Antes de executar esses exemplos, verifique se o banco de dados que você está alterando não é o banco de dados atual.Before you run these examples, make sure the database you are altering is not the current database. O banco de dados atual deve ser um banco de dados diferente daquele que você está alterando, portanto ALTER deve ser executado enquanto você está conectado ao banco de dados mestre.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

A.A. Alterar o nome do banco de dadosChange the name of the database

ALTER DATABASE AdventureWorks2012
MODIFY NAME = Northwind;

B.B. Alterar o tamanho máximo do banco de dadosChange max size for the database

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );

C.C. Alterar o nível de desempenhoChange the performance level

ALTER DATABASE dw1 MODIFY ( SERVICE_OBJECTIVE= 'DW1200' );

D.D. Alterar o tamanho máximo e o nível de desempenhoChange the max size and the performance level

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB, SERVICE_OBJECTIVE= 'DW1200' );

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
* Analytics
Platform System (PDW) *
 
* Analytics
Platform System (PDW) *
 

 

Visão geral: Sistema de plataforma de análiseOverview: Analytics Platform System

Modifica as opções de tamanho máximo do banco de dados para tabelas replicadas, tabelas distribuídas e para o log de transações no PDW.Modifies the maximum database size options for replicated tables, distributed tables, and the transaction log in PDW. Use esta instrução para gerenciar as alocações de espaço em disco para um banco de dados à medida que ele aumenta ou diminui de tamanho.Use this statement to manage disk space allocations for a database as it grows or shrinks in size. O artigo também descreve a sintaxe relacionada à configuração das opções de banco de dados no PDW.The article also describes syntax related to setting database options in PDW.

SintaxeSyntax

-- Analytics Platform System
ALTER DATABASE database_name
    SET ( <set_database_options> | <db_encryption_option> )
[;]

<set_database_options> ::=
{
    AUTOGROW = { ON | OFF }
    | REPLICATED_SIZE = size [GB]
    | DISTRIBUTED_SIZE = size [GB]
    | LOG_SIZE = size [GB]
    | SET AUTO_CREATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

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

ArgumentosArguments

database_name O nome do banco de dados a ser modificado.database_name The name of the database to be modified. Para exibir uma lista de bancos de dados no dispositivo, use sys.databases.To display a list of databases on the appliance, use sys.databases.

AUTOGROW = { ON | OFF } Atualiza a opção AUTOGROW.AUTOGROW = { ON | OFF } Updates the AUTOGROW option. Quando AUTOGROW for ON, o Parallel Data WarehouseParallel Data Warehouse aumentará automaticamente o espaço alocado para tabelas replicadas, tabelas distribuídas e log de transações, conforme o necessário, para acomodar o crescimento dos requisitos de armazenamento.When AUTOGROW is ON, Parallel Data WarehouseParallel Data Warehouse automatically increases the allocated space for replicated tables, distributed tables, and the transaction log as necessary to accommodate growth in storage requirements. Quando o crescimento automático for OFF, o Parallel Data WarehouseParallel Data Warehouse retornará um erro se as tabelas, replicadas, as tabelas distribuída ou o log de transações exceder o tamanho máximo.When AUTOGROW is OFF, Parallel Data WarehouseParallel Data Warehouse returns an error if replicated tables, distributed tables, or the transaction log exceeds the maximum size setting.

REPLICATED_SIZE = size [GB] Especifica o novo máximo de gigabytes por nó de computação para armazenar todas as tabelas replicadas no banco de dados que está sendo alterado.REPLICATED_SIZE = size [GB] Specifies the new maximum gigabytes per Compute node for storing all of the replicated tables in the database being altered. Se você estiver planejando o espaço de armazenamento do dispositivo, multiplique REPLICATED_SIZE pelo número de nós de computação no dispositivo.If you are planning for appliance storage space, you will need to multiply REPLICATED_SIZE by the number of Compute nodes in the appliance.

DISTRIBUTED_SIZE = size [GB] Especifica o novo máximo de gigabytes por banco de dados para armazenar todas as tabelas distribuídas no banco de dados que está sendo alterado.DISTRIBUTED_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the distributed tables in the database being altered. O tamanho é distribuído entre todos os nós de computação no dispositivo.The size is distributed across all of the Compute nodes in the appliance.

LOG_SIZE = size [GB] Especifica o novo máximo de gigabytes por banco de dados para armazenar todos os logs de transações no banco de dados que está sendo alterado.LOG_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the transaction logs in the database being altered. O tamanho é distribuído entre todos os nós de computação no dispositivo.The size is distributed across all of the Compute nodes in the appliance.

ENCRYPTION { ON | OFF } Define o banco de dados a ser criptografado (ON) ou não criptografado (OFF).ENCRYPTION { ON | OFF } Sets the database to be encrypted (ON) or not encrypted (OFF). A criptografia poderá ser configurada para o Parallel Data WarehouseParallel Data Warehouse somente quando sp_pdw_database_encryption tiver sido definido como 1.Encryption can only be configured for Parallel Data WarehouseParallel Data Warehouse when sp_pdw_database_encryption has been set to 1. Uma chave de criptografia do banco de dados precisa ser criada para que a Transparent Data Encryption possa ser configurada.A database encryption key must be created before transparent data encryption can be configured. Para obter mais informações sobre a criptografia do banco de dados, confira TDE (Transparent Data Encryption).For more information about database encryption, see Transparent Data Encryption (TDE).

SET AUTO_CREATE_STATISTICS { ON | OFF } Quando a opção de criação automática de estatísticas, AUTO_CREATE_STATISTICS, está ativada, o otimizador de consulta cria estatísticas em colunas individuais no predicado da consulta, conforme necessário, a fim de melhorar as estimativas de cardinalidade do plano de consulta.SET AUTO_CREATE_STATISTICS { ON | OFF } When the automatic create statistics option, AUTO_CREATE_STATISTICS, is ON, the Query Optimizer creates statistics on individual columns in the query predicate, as necessary, to improve cardinality estimates for the query plan. Essas estatísticas de coluna única são criadas em colunas que ainda não têm um histograma em um objeto de estatísticas existente.These single-column statistics are created on columns that do not already have a histogram in an existing statistics object.

O padrão é ATIVADO para novos bancos de dados criados após a atualização para o AU7.Default is ON for new databases created after upgrading to AU7. O padrão é DESATIVADO para bancos de dados criados antes da atualização.The default is OFF for databases created prior to the upgrade.

Para obter mais informações sobre estatísticas, consulte EstatísticasFor more information about statistics, see Statistics

SET AUTO_UPDATE_STATISTICS { ON | OFF } Quando a opção de atualização automática de estatísticas, AUTO_UPDATE_STATISTICS, está ativada, o otimizador de consulta determina quando as estatísticas podem estar desatualizadas e as atualiza quando são usadas por uma consulta.SET AUTO_UPDATE_STATISTICS { ON | OFF } When the automatic update statistics option, AUTO_UPDATE_STATISTICS, is ON, the query optimizer determines when statistics might be out-of-date and then updates them when they are used by a query. As estatísticas ficam desatualizadas depois que operações de inserção, atualização, exclusão ou mesclagem alteram a distribuição dos dados na tabela ou na exibição indexada.Statistics become out-of-date after operations insert, update, delete, or merge 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 padrão é ATIVADO para novos bancos de dados criados após a atualização para o AU7.Default is ON for new databases created after upgrading to AU7. O padrão é DESATIVADO para bancos de dados criados antes da atualização.The default is OFF for databases created prior to the upgrade.

Para obter mais informações sobre estatísticas, consulte Estatísticas.For more information about statistics, see Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } A opção de atualização de estatísticas assíncrona, AUTO_UPDATE_STATISTICS_ASYNC, determina se o Otimizador de consulta usa atualizações de estatísticas síncronas ou assíncronas.SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } The asynchronous statistics update option, AUTO_UPDATE_STATISTICS_ASYNC, determines whether the Query Optimizer uses synchronous or asynchronous statistics updates. A opção AUTO_UPDATE_STATISTICS_ASYNC se aplica a objetos de estatísticas criados para índices, colunas únicas em predicados de consulta e estatísticas criadas com a instrução CREATE STATISTICS.The AUTO_UPDATE_STATISTICS_ASYNC option applies to statistics objects created for indexes, single columns in query predicates, and statistics created with the CREATE STATISTICS statement.

O padrão é ATIVADO para novos bancos de dados criados após a atualização para o AU7.Default is ON for new databases created after upgrading to AU7. O padrão é DESATIVADO para bancos de dados criados antes da atualização.The default is OFF for databases created prior to the upgrade.

Para obter mais informações sobre estatísticas, consulte Estatísticas.For more information about statistics, see Statistics.

PermissõesPermissions

Requer a permissão ALTER no banco de dados.Requires the ALTER permission on the database.

Mensagens de erroError Messages

Se as estatísticas automáticas estiverem habilitadas e você tentar alterar as configurações delas, o PDW apresentará o erro This option is not supported in PDW.If auto-stats is disabled and you try to alter the statistics settings, PDW outputs the error This option is not supported in PDW. O administrador do sistema pode habilitar estatísticas automáticas, permitindo a opção de recurso AutoStatsEnabled.The system administrator can enable auto-stats by enabling the feature switch AutoStatsEnabled.

Comentários geraisGeneral Remarks

Os valores de REPLICATED_SIZE,DISTRIBUTED_SIZE e LOG_SIZE podem ser maiores, iguais ou menores que os valores atuais do banco de dados.The values for REPLICATED_SIZE, DISTRIBUTED_SIZE, and LOG_SIZE can be greater than, equal to, or less than the current values for the database.

Limitações e RestriçõesLimitations and Restrictions

As operações de crescimento e redução são aproximadas.Grow and shrink operations are approximate. Os tamanhos reais resultantes podem variar em relação aos parâmetros de tamanho.The resulting actual sizes can vary from the size parameters.

O Parallel Data WarehouseParallel Data Warehouse não executa a instrução ALTER DATABASE como uma operação atômica.Parallel Data WarehouseParallel Data Warehouse does not perform the ALTER DATABASE statement as an atomic operation. Se a instrução for anulada durante a execução, as alterações já feitas permanecerão.If the statement is aborted during execution, changes that have already occurred will remain.

As configurações de estatísticas só funcionarão se o administrador habilitar estatísticas automáticas. Se você for administrador, use a opção de recurso AutoStatsEnabled para habilitar ou desabilitar estatísticas automáticas.The statistics settings only work if the administrator has enable auto-stats. If you are an administrator, use the feature switch AutoStatsEnabled to enable or disable auto-stats.

Comportamento de bloqueioLocking Behavior

Usa um bloqueio compartilhado no objeto DATABASE.Takes a shared lock on the DATABASE object. Não é possível alterar um banco de dados que esteja sendo usado por outro usuário para leitura ou gravação.You cannot alter a database that is in use by another user for reading or writing. Isso inclui as sessões que emitiram uma instrução USE no banco de dados.This includes sessions that have issued a USE statement on the database.

DesempenhoPerformance

A redução de um banco de dados pode demorar bastante e usar uma grande quantidade de recursos do sistema, dependendo do tamanho dos dados reais no banco de dados e da quantidade de fragmentação no disco.Shrinking a database can take a large amount of time and system resources, depending on the size of the actual data within the database, and the amount of fragmentation on disk. Por exemplo, a redução de um banco de dados pode levar várias horas ou mais.For example, shrinking a database could take several hours or more.

Determinando o andamento da criptografiaDetermining Encryption Progress

Use a consulta a seguir para determinar o andamento da Transparent Data Encryption do banco de dados como um percentual:Use the following query to determine progress of database transparent data encryption as a percent:

WITH
database_dek AS (
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id,
        dek.encryption_state, dek.percent_complete,
        dek.key_algorithm, dek.key_length, dek.encryptor_thumbprint,
        type
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek
    INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map
        ON dek.database_id = node_db_map.database_id
        AND dek.pdw_node_id = node_db_map.pdw_node_id
    LEFT JOIN sys.pdw_database_mappings AS db_map
        ON node_db_map .physical_name = db_map.physical_name
    INNER JOIN sys.dm_pdw_nodes nodes
        ON nodes.pdw_node_id = dek.pdw_node_id
    WHERE dek.encryptor_thumbprint <> 0x
),
dek_percent_complete AS (
    SELECT database_dek.database_id, AVG(database_dek.percent_complete) AS percent_complete
    FROM database_dek
    WHERE type = 'COMPUTE'
    GROUP BY database_dek.database_id
)
SELECT DB_NAME( database_dek.database_id ) AS name,
    database_dek.database_id,
    ISNULL(
       (SELECT TOP 1 dek_encryption_state.encryption_state
        FROM database_dek AS dek_encryption_state
        WHERE dek_encryption_state.database_id = database_dek.database_id
        ORDER BY (CASE encryption_state
            WHEN 3 THEN -1
            ELSE encryption_state
            END) DESC), 0)
        AS encryption_state,
dek_percent_complete.percent_complete,
database_dek.key_algorithm, database_dek.key_length, database_dek.encryptor_thumbprint
FROM database_dek
INNER JOIN dek_percent_complete
    ON dek_percent_complete.database_id = database_dek.database_id
WHERE type = 'CONTROL';

Para obter um exemplo abrangente que demonstra todas as etapas da implementação de TDE, confira TDE (Transparent Data Encryption).For a comprehensive example demonstrating all the steps in implementing TDE, see Transparent Data Encryption (TDE).

Exemplos: Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

A.A. Alterando a configuração AUTOGROWAltering the AUTOGROW setting

Defina AUTOGROW como ON para o banco de dados CustomerSales.Set AUTOGROW to ON for database CustomerSales.

ALTER DATABASE CustomerSales
    SET ( AUTOGROW = ON );

B.B. Alterando o armazenamento máximo para tabelas replicadasAltering the maximum storage for replicated tables

O exemplo a seguir define o limite de armazenamento de tabela replicada em 1 GB para o banco de dados CustomerSales.The following example sets the replicated table storage limit to 1 GB for the database CustomerSales. Este é o limite de armazenamento por nó de computação.This is the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( REPLICATED_SIZE = 1 GB );

C.C. Alterando o armazenamento máximo para tabelas distribuídasAltering the maximum storage for distributed tables

O exemplo a seguir define o limite de armazenamento de tabela distribuída para 1000 GB (um terabyte) para o banco de dados CustomerSales.The following example sets the distributed table storage limit to 1000 GB (one terabyte) for the database CustomerSales. Este é o limite de armazenamento combinado no dispositivo para todos os nós de computação, não o limite de armazenamento por nó de computação.This is the combined storage limit across the appliance for all of the Compute nodes, not the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( DISTRIBUTED_SIZE = 1000 GB );

D.D. Alterando o armazenamento máximo para o log de transaçõesAltering the maximum storage for the transaction log

O exemplo a seguir atualiza o banco de dados CustomerSales para que o tamanho máximo do log de transações do SQL ServerSQL Server seja de 10 GB para o dispositivo.The following example updates the database CustomerSales to have a maximum SQL ServerSQL Server transaction log size of 10 GB for the appliance.

ALTER DATABASE CustomerSales
    SET ( LOG_SIZE = 10 GB );

E.E. Verificar valores atuais de estatísticasCheck for current statistics values

A consulta a seguir retorna os valores atuais de estatísticas para todos os bancos de dados.The following query returns the current statistics values for all databases. O valor 1 significa que o recurso está ativado, e 0 significa o recurso está desativado.The value 1 means the feature is on, and a 0 means the feature is off.

SELECT NAME,
    is_auto_create_stats_on,
    is_auto_update_stats_on,
    is_auto_update_stats_async_on
FROM sys.databases;

F.F. Habilitar criação automática e atualização automática de estatísticas para um banco de dadosEnable auto-create and auto-update stats for a database

Use a instrução a seguir para habilitar a criação e atualização de estatísticas automaticamente e de maneira assíncrona para o banco de dados, CustomerSales.Use the following statement to enable create and update statistics automatically and asynchronously for database, CustomerSales. Isso cria e atualiza estatísticas de coluna única conforme necessário para criar planos de consulta de alta qualidade.This creates and updates single-column statistics as necessary to create high quality query plans.

ALTER DATABASE CustomerSales
    SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE
    SET AUTO_UPDATE_STATISTICS_ASYNC ON;

Consulte TambémSee Also