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

Modifica ciertas opciones de configuración de una base de datos.Modifies certain configuration options of a database.

En este artículo se proporciona la sintaxis, argumentos, comentarios, permisos y ejemplos para cualquier producto SQL que elija.This article provides the syntax, arguments, remarks, permissions, and examples for whichever SQL product you choose.

Para obtener más información sobre las convenciones de sintaxis, vea Convenciones de sintaxis de Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Haga clic en un producto.Click a product!

En la siguiente fila, haga clic en cualquier nombre de producto que le interese.In the following row, click whichever product name you are interested in. Al hacer clic, en esta página web se muestra otro contenido, adecuado para el producto que seleccione.The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
Instancia administrada de
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Introducción: SQL ServerOverview: SQL Server

En SQL Server, esta instrucción modifica una base de datos o los archivos y grupos de archivos asociados a la base de datos.In SQL Server, this statement modifies a database, or the files and filegroups associated with the database. Agrega o quita archivos y grupos de archivos en una base de datos, cambia los atributos de una base de datos o de sus archivos y grupos de archivos, cambia la intercalación de base de datos y establece las opciones de base de datos.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. Las instantáneas de base de datos no se pueden modificar.Database snapshots cannot be modified. Para modificar las opciones de base de datos asociadas a la replicación, utilice sp_replicationdboption.To modify database options associated with replication, use sp_replicationdboption.

Debido a su longitud, la sintaxis de ALTER DATABASE se divide en varios artículos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE En el artículo actual se proporciona la sintaxis e información relacionada para cambiar el nombre y la intercalación de una base de datos.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opciones File y Filegroup de ALTER DATABASE Proporciona la sintaxis e información relacionada para agregar y eliminar archivos y grupos de archivos de una base de datos y para cambiar los atributos de archivos y grupos de archivos.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.

Opciones SET de ALTER DATABASE Proporciona la sintaxis e información relacionada para cambiar los atributos de una base de datos usando las opciones 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.

ALTER DATABASE Database Mirroring Proporciona la sintaxis de información relacionada de las opciones SET de ALTER DATABASE relacionadas con la creación de reflejo de la base de datos.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 Proporciona la sintaxis e información relacionada de las opciones Grupos de disponibilidad AlwaysOnAlways On availability groups de ALTER DATABASE para configurar una base de datos secundaria en una réplica secundaria de un grupo de disponibilidad AlwaysOn.ALTER DATABASE SET HADR Provides the syntax and related information for the Grupos de disponibilidad AlwaysOnAlways On availability groups options of ALTER DATABASE for configuring a secondary database on a secondary replica of an Always On availability group.

Nivel de compatibilidad de ALTER DATABASE Proporciona la sintaxis e información relacionada de las opciones SET de ALTER DATABASE relacionadas con los niveles de compatibilidad de la base de datos.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 Proporciona la sintaxis relacionada con las configuraciones con ámbito de base de datos utilizadas para la configuración del nivel de base de datos individual, como los comportamientos relacionados con la optimización y la ejecución de consultas.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.

SintaxisSyntax

-- 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 Es el nombre de la base de datos que se va a modificar.database_name Is the name of the database to be modified.

Nota

Esta opción no está disponible en las bases de datos independientes.This option is not available in a Contained Database.

CURRENT Se aplica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posterioresCURRENT Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

Designa que la base de datos actual en uso se debe modificar.Designates that the current database in use should be altered.

MODIFY NAME = new_database_name Reemplaza el nombre de la base de datos por el nombre 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 la intercalación de la base de datos.COLLATE collation_name Specifies the collation for the database. collation_name puede ser un nombre de intercalación de Windows o un nombre de intercalación de SQL.collation_name can be either a Windows collation name or a SQL collation name. Si no se especifica, se asigna a la base de datos la intercalación de la instancia de SQL ServerSQL Server.If not specified, the database is assigned the collation of the instance of SQL ServerSQL Server.

Nota

No se puede cambiar la intercalación después de crear la base de datos en Base de datos SQL de AzureAzure SQL Database.Collation cannot be changed after database has been created on Base de datos SQL de AzureAzure SQL Database.

Al crear bases de datos con una intercalación diferente de la predeterminada, los datos de la base de datos siempre respetan la intercalación especificada.When creating databases with other than the default collation, the data in the database always respects the specified collation. Para SQL ServerSQL Server, al crear una base de datos independiente, la información de catálogo interno se mantiene mediante la intercalación predeterminada 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 más información sobre los nombres de intercalación de Windows y de SQL, consulte COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

<delayed_durability_option> ::= Se aplica a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) y versiones posteriores<delayed_durability_option> ::= Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

Para más información, consulte Opciones de ALTER DATABASE SET y Controlar la durabilidad de las transacciones.For more information see ALTER DATABASE SET Options and Control Transaction Durability.

<file_and_filegroup_options>::= Para obtener más información, vea Opciones File y Filegroup de ALTER DATABASE.<file_and_filegroup_options>::= For more information, see ALTER DATABASE File and Filegroup Options.

NotasRemarks

Para quitar una base de datos, use DROP DATABASE.To remove a database, use DROP DATABASE.

Para reducir el tamaño de una base de datos, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

La instrucción ALTER DATABASE se debe ejecutar en modo de confirmación automática (modo predeterminado de administración de transacciones) y no se permite en una transacción explícita o 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.

El estado de un archivo de base de datos (por ejemplo, en línea o sin conexión) se mantiene con independencia del estado de la base de datos.The state of a database file (for example, online or offline), is maintained independently from the state of the database. Para más información, vea Estados de los archivos.For more information, see File States. El estado de los archivos de un grupo de archivos determina la disponibilidad de todo el grupo de archivos.The state of the files within a filegroup determines the availability of the whole filegroup. Para que un grupo de archivos esté disponible, todos los archivos del grupo de archivos deben estar en línea.For a filegroup to be available, all files within the filegroup must be online. Si un grupo de archivos se encuentra en modo sin conexión, todos los intentos de acceso al grupo de archivos por parte de una instrucción SQL generan un error.If a filegroup is offline, any try to access the filegroup by an SQL statement will fail with an error. Al generar un plan de consulta para las instrucciones SELECT, el optimizador de consultas evita los índices no clúster y las vistas indizadas que residen en los grupos de archivos sin conexión.When you build query plans for SELECT statements, the query optimizer avoids nonclustered indexes and indexed views that reside in offline filegroups. Esto permite que las instrucciones se ejecuten correctamente.This enables these statements to succeed. No obstante, si el grupo de archivos sin conexión contiene el montón o el índice clúster de la tabla de destino, las instrucciones SELECT no funcionarán.However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. Asimismo, cualquier instrucción INSERT, UPDATE o DELETE que modifique una tabla con cualquier índice en un grupo de archivos sin conexión no funcionará.Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

Si una base de datos se encuentra en estado RESTORING, se producirán errores en la mayoría de las instrucciones ALTER DATABASE.When a database is in the RESTORING state, most ALTER DATABASE statements will fail. La excepción es el establecimiento de opciones de creación de reflejo de la base de datos.The exception is setting database mirroring options. Es posible que una base de datos se encuentre en estado RESTORING durante una operación de restauración activa o cuando se produce un error en una operación de restauración de una base de datos o de un archivo de registro, debido a un archivo de copia de seguridad dañado.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.

La memoria caché de planes para la instancia de SQL ServerSQL Server se borra si se establece alguna de las opciones siguientes.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

Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las 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 almacén de caché borrado de la caché de planes, el registro de errores de SQL ServerSQL Server contiene el siguiente mensaje informativo: 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. Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

La caché de planes también se vacía en los escenarios siguientes:The plan cache is also flushed in the following scenarios:

  • Una base de datos tiene la opción de base de datos AUTO_CLOSE establecida en ON.A database has the AUTO_CLOSE database option set to ON. Cuando ninguna conexión de usuario hace referencia a la base de datos ni la usa, la tarea de segundo plano intenta cerrar la base de datos y apagarla de modo automático.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Ejecuta varias consultas con una base de datos que tiene opciones predeterminadas.You run several queries against a database that has default options. Después, la base de datos se quita.Then, the database is dropped.
  • Se quita una instantánea de base de datos para una base de datos de origen.A database snapshot for a source database is dropped.
  • Volvió a generar correctamente el registro de transacciones para una base de datos.You successfully rebuild the transaction log for a database.
  • Restaura una copia de seguridad de una base de datosYou restore a database backup.
  • Separa una base de datos.You detach a database.

Cambiar la intercalación de la base de datosChanging the Database Collation

Antes de aplicar otra intercalación a una base de datos, asegúrese de que se cumplen las siguientes condiciones:Before you apply a different collation to a database, make sure that the following conditions are in place:

  • Es el único usuario que utiliza actualmente la base de datos.You are the only one currently using the database.
  • Ningún objeto enlazado a un esquema depende de la intercalación de la base de datos.No schema-bound object depends on the collation of the database.

Si los objetos siguientes, que dependen de la intercalación de la base de datos, existen en la base de datos, la instrucción ALTER DATABASEdatabase_nameCOLLATE producirá un error.If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail. SQL ServerSQL Server devolverá un mensaje de error para cada objeto que bloquee la acción de ALTER:will return an error message for each object blocking the ALTER action:

  • Vistas y funciones definidas por el usuario creadas con SCHEMABINDINGUser-defined functions and views created with SCHEMABINDING
  • Columnas calculadasComputed columns
  • CHECK, restriccionesCHECK constraints
  • Funciones con valores de tabla que devuelven tablas con columnas de caracteres con intercalaciones heredadas de la intercalación predeterminada de la base de datosTable-valued functions that return tables with character columns with collations inherited from the default database collation

La información de dependencia de las entidades no vinculadas a esquemas se actualiza automáticamente si se cambia la intercalación de la base de datos.Dependency information for non-schema-bound entities is automatically updated when the database collation is changed.

Cambiar la intercalación de la base de datos no crea duplicados entre los nombres del sistema para los objetos de base de datos.Changing the database collation does not create duplicates among any system names for the database objects. Si se producen nombres duplicados en la intercalación cambiada, los siguientes espacios de nombres pueden provocar errores en el cambio de la intercalación de la base de datos:If duplicate names result from the changed collation, the following namespaces may cause the failure of a database collation change:

  • Nombres de objetos, como un procedimiento, una tabla, un desencadenador o una vistaObject names such as a procedure, table, trigger, or view
  • Nombres de esquemasSchema names
  • Entidades de seguridad, como un grupo, rol o usuarioPrincipals such as a group, role, or user
  • Nombres de tipo escalar, como los tipos definidos por el usuario y por el sistemaScalar-type names such as system and user-defined types
  • Nombres de catálogos de texto completoFull-text catalog names
  • Nombres de columnas o parámetros en un objetoColumn or parameter names within an object
  • Nombres de índices en una tablaIndex names within a table

Los nombres duplicados resultantes de la nueva intercalación provocarán que la acción de cambio no se ejecute correctamente y SQL ServerSQL Server devolverá un mensaje de error que especifica el espacio de nombres donde se ha encontrado el duplicado.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.

Ver la información de la base de datosViewing Database Information

Se pueden utilizar vistas de catálogo, funciones del sistema y procedimientos almacenados del sistema para devolver información sobre bases de datos, archivos y grupos de archivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermisosPermissions

Debe tener el permiso ALTER para la base de datos.Requires ALTER permission on the database.

EjemplosExamples

A.A. Cambiar el nombre de una base de datosChanging the name of a database

En el ejemplo siguiente se cambia el nombre de la base de datos AdventureWorks2012 a 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. Cambiar la intercalación de una base de datosChanging the collation of a database

En el siguiente ejemplo se crea una base de datos denominada testdb con la intercalación SQL_Latin1_General_CP1_CI_AS, y luego se cambia la intercalación de la base de datos testdb a 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.

Válido para : SQL Server 2008SQL Server 2008 y versiones posteriores.Applies to: SQL Server 2008SQL Server 2008 and later.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

Consulte tambiénSee Also

SQL ServerSQL Server *Grupo de bases de datos elásticas o base de datos única de
SQL Database*
 
* SQL Database
single database/elastic pool *
 
Instancia administrada de
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Introducción: Grupo de bases de datos elásticas o base de datos única de Azure SQL DatabaseOverview: Azure SQL Database single database/elastic pool

En Azure SQL Database, use esta instrucción para modificar una base de datos en un grupo elástico o una base de datos única.In Azure SQL Database, use this statement to modify a database on a single database/elastic pool. Use esta instrucción para cambiar el nombre de una base de datos, cambiar el objetivo de edición y servicio de la base de datos, unir la base de datos a un grupo elástico o quitarla de uno, establecer las opciones de base de datos, agregar o quitar la base de datos como una base de datos secundaria en una relación de replicación geográfica y establecer el nivel de compatibilidad de base de datos.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.

Debido a su longitud, la sintaxis de ALTER DATABASE se divide en varios artículos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE En el artículo actual se proporciona la sintaxis e información relacionada para cambiar el nombre y la intercalación de una base de datos.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opciones SET de ALTER DATABASE Proporciona la sintaxis e información relacionada para cambiar los atributos de una base de datos usando las opciones 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.

Nivel de compatibilidad de ALTER DATABASE Proporciona la sintaxis e información relacionada de las opciones SET de ALTER DATABASE relacionadas con los niveles de compatibilidad de la base de datos.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintaxisSyntax

-- 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 Es el nombre de la base de datos que se va a modificar.database_name Is the name of the database to be modified.

CURRENT designa que la base de datos actual en uso se debe modificar.CURRENT Designates that the current database in use should be altered.

MODIFY NAME = new_database_name Reemplaza el nombre de la base de datos por el nombre especificado como new_database_name.MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name. En el ejemplo siguiente se cambia el nombre de la base de datos db1 a 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']) Cambia el nivel de servicio de la base de datos.MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Changes the service tier of the database.

En el ejemplo siguiente se cambia la edición a premium:The following example changes edition to premium:

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

Importante

Se produce un error en el cambio de EDITION si la propiedad MAXSIZE de la base de datos está establecida en un valor fuera del intervalo válido admitido por esa edición.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 el tamaño máximo de la base de datos.MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Specifies the maximum size of the database. El tamaño máximo debe cumplir con el conjunto válido de valores de la propiedad EDITION de la base de datos.The maximum size must comply with the valid set of values for the EDITION property of the database. Cambiar el tamaño máximo de la base de datos puede causar que cambie también el valor de EDITION de la base de datos.Changing the maximum size of the database may cause the database EDITION to be changed.

Nota

El argumento MAXSIZE no es aplicable a bases de datos únicas en el nivel de servicio Hyperscale.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. Las bases de datos de nivel de servicio Hyperscale crecen según sea necesario, hasta 100 TB.Hyperscale service tier databases grow as needed, up to 100 TB. El servicio SQL Database agrega almacenamiento automáticamente; no es necesario establecer un tamaño máximo.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modelo de 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/DN/A
10 GB10 GB N/DN/A
20 GB20 GB N/DN/A
30 GB30 GB N/DN/A
40 GB40 GB N/DN/A
50 GB50 GB N/DN/A
100 GB100 GB N/DN/A
150 GB150 GB N/DN/A
200 GB200 GB N/DN/A
250 GB250 GB N/DN/A √ (D)√ (D) √ (D)√ (D)
300 GB300 GB N/DN/A
400 GB400 GB N/DN/A
500 GB500 GB N/DN/A √ (D)√ (D)
750 GB750 GB N/DN/A
1024 GB1024 GB N/DN/A √ (D)√ (D)
Desde 1024 GB hasta 4096 GB en incrementos de 256 GB*From 1024 GB up to 4096 GB in increments of 256 GB* N/DN/A N/DN/A N/DN/A N/DN/A

* P11 y P15 permiten un valor de MAXSIZE de hasta 4 TB, con 1024 GB como tamaño predeterminado.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 y P15 pueden usar hasta 4 TB de almacenamiento incluido sin cargos adicionales.P11 and P15 can use up to 4 TB of included storage at no additional charge. En el nivel Premium, un valor de MAXSIZE mayor de 1 TB está actualmente disponible en las regiones siguientes: Este de EE. UU. 2, Oeste de EE. UU., Virginia Gob. EE. UU., Europa Occidental, Centro de Alemania, Sudeste Asiático, Japón Oriental, Este de Australia, Centro de Canadá y Este de 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 obtener más información sobre las limitaciones de recursos para el modelo de DTU, consulte Límites de recursos de DTU.For additional details regarding resource limitations for the DTU model, see DTU resource limits.

El valor MAXSIZE para el modelo de DTU, si se especifica, tiene que ser válido según lo que se indica en la tabla anterior para el nivel de servicio especificado.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 de núcleo virtualvCore model

Uso general, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Uso general, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Uso general, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Uso general, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Uso general, proceso aprovisionado, serie Fsv2 (versión preliminar)General purpose - provisioned compute - Fsv2-series (preview)

MAXSIZEMAXSIZE GP_Fsv2_72GP_Fsv2_72
Tamaño máximo de datos (GB)Max data size (GB) 40964096

Uso general, proceso sin 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
Número máximo de núcleos virtualesMax vCores 11 22 44 66 88

Uso general, proceso sin 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
Número máximo de núcleos virtualesMax vCores 1010 1212 1414 1616

Crítico para la empresa, proceso aprovisionado, Gen4 (parte 1)Business critical - provisioned compute - Gen4 (part 1)

Nivel de rendimientoPerformance 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
Tamaño máximo de datos (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Crítico para la empresa, proceso aprovisionado, Gen4 (parte 2)Business critical - provisioned compute - Gen4 (part 2)

Nivel de rendimientoPerformance 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
Tamaño máximo de datos (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Crítico para la empresa, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Crítico para la empresa, proceso aprovisionado, 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
Tamaño máximo de datos (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Crítico para la empresa, proceso aprovisionado, serie M (versión preliminar)Business critical - provisioned compute - M-series (preview)

MAXSIZEMAXSIZE BC_M_128BC_M_128
Tamaño máximo de datos (GB)Max data size (GB) 40964096

Si no hay ningún valor MAXSIZE establecido al utilizar el modelo de núcleo virtual, el valor predeterminado es 32 GB.If no MAXSIZEvalue is set when using the vCore model, the default is 32 GB. Para obtener más información sobre las limitaciones de recursos para el modelo basado en núcleo virtual, vea Límites de recursos del núcleo virtual.For additional details regarding resource limitations for vCore model, see vCore resource limits.

Las reglas siguientes se aplican a los argumentos MAXSIZE y EDITION:The following rules apply to MAXSIZE and EDITION arguments:

  • Si se especifica EDITION pero no se especifica MAXSIZE, se usa el valor predeterminado de la edición.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Por ejemplo, si EDITION está establecido en Standard y MAXSIZE no se especifica, el valor de MAXSIZE se establece automáticamente en 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.
  • Si no se especifica MAXSIZE ni EDITION, este último se establece en De uso general y MAXSIZE se establece en 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 el nivel de rendimiento.MODIFY (SERVICE_OBJECTIVE = <service-objective>) Specifies the performance level. El ejemplo siguiente se cambia el objetivo de servicio de una base de datos Premium a P6:The following example changes service objective of a premium database to P6:

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

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Solo bases de datos únicas y agrupadasFor single and pooled databases

    • Especifica el nivel de rendimiento.Specifies the performance level. Los valores disponibles para el objetivo de servicio son estos: 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 y 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 bases de datos sin servidorFor serverless databases

    • Especifica el nivel de rendimiento.Specifies the performance level. Los valores disponibles para el objetivo de servicio son estos: 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 y 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 bases de datos en el nivel de servicio HyperscaleFor single databases in the Hyperscale service tier

    • Especifica el nivel de rendimiento.Specifies the performance level. Los valores disponibles para el objetivo de servicio son estos: 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 y 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 conocer las descripciones de los objetivos de servicio y obtener más información sobre las combinaciones de tamaño, ediciones y objetivos de servicio, consulte Niveles de servicio y niveles de rendimiento de Azure SQL Database, Límites de recursos de DTU y Límites de recursos del núcleo virtual.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. Se ha quitado la compatibilidad para los objetivos de servicio de PRS.Support for PRS service objectives have been removed. Si tiene preguntas, use este alias de correo electrónico: 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 agregar una base de datos existente a un grupo elástico, establezca el valor SERVICE_OBJECTIVE de la base de datos en ELASTIC_POOL e indique el nombre del grupo.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. También se puede usar esta opción para cambiar la base de datos a un grupo elástico diferente dentro del mismo servidor.You can also use this option to change the database to a different elastic pool within the same server. Para obtener más información, vea Create and manage a SQL Database elastic pool (Creación y administración de un grupo elástico de SQL Database).For more information, see Create and manage a SQL Database elastic pool. Para quitar una base de datos de un grupo elástico, use ALTER DATABASE para establecer el valor SERVICE_OBJECTIVE en un nivel de rendimiento de una sola base de datos.To remove a database from an elastic pool, use ALTER DATABASE to set the SERVICE_OBJECTIVE to a single database performance level.

Nota

No se pueden agregar bases de datos del nivel de servicio Hyperscale a un grupo 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>

Crea una base de datos de replicación geográfica secundaria con el mismo nombre en un servidor asociado, lo que convierte a la base de datos local en una base de datos principal de replicación geográfica, y comienza a replicar los datos de forma asincrónica desde la base de datos principal a la nueva base de datos secundaria.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. Si ya existe una base de datos con el mismo nombre en la base de datos secundaria, se produce un error en el comando.If a database with the same name already exists on the secondary, the command fails. El comando se ejecuta en la base de datos maestra en el servidor que hospeda la base de datos local que se convierte en la principal.The command is executed on the master database on the server hosting the local database that becomes the primary.

Importante

El nivel de servicio Hyperscale no es compatible actualmente con la replicación geográfica.The Hyperscale service tier does not currently support geo-replication.

WITH ALLOW_CONNECTIONS { ALL | NO } Cuando no se especifica ALLOW_CONNECTIONS, se establece en ALL de forma predeterminada.WITH ALLOW_CONNECTIONS { ALL | NO } When ALLOW_CONNECTIONS is not specified, it is set to ALL by default. Si se establece en ALL, es una base de datos de solo lectura que permite la conexión de todos los inicios de sesión con los permisos adecuados.If it is set ALL, it is a read-only database that allows all logins with the appropriate permissions to connect.

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 }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 }

Cuando no se especifica SERVICE_OBJECTIVE, la base de datos secundaria se crea en el mismo nivel de servicio que la principal.When SERVICE_OBJECTIVE is not specified, the secondary database is created at the same service level as the primary database. Cuando se especifica SERVICE_OBJECTIVE, la base de datos secundaria se crea en el nivel especificado.When SERVICE_OBJECTIVE is specified, the secondary database is created at the specified level. Esta opción permite crear bases de datos secundarias con replicación geográfica con niveles de servicio más económicos.This option supports creating geo-replicated secondaries with less expensive service levels. El valor SERVICE_OBJECTIVE especificado debe estar en la misma edición que el origen.The SERVICE_OBJECTIVE specified must be within the same edition as the source. Por ejemplo, no se puede especificar S0 si la edición es Premium.For example, you cannot specify S0 if the edition is premium.

ELASTIC_POOL (name = <elastic_pool_name>) Cuando no se especifica ELASTIC_POOL, la base de datos secundaria no se crea en un grupo elástico.ELASTIC_POOL (name = <elastic_pool_name>) When ELASTIC_POOL is not specified, the secondary database is not created in an elastic pool. Cuando se especifica ELASTIC_POOL, la base de datos secundaria se crea en el grupo especificado.When ELASTIC_POOL is specified, the secondary database is created in the specified pool.

Importante

El usuario que ejecuta el comando ADD SECONDARY debe ser DBManager en el servidor principal, ser miembro de db_owner en la base de datos local y DBManager en el servidor secundario.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> Quita la base de datos secundaria con replicación geográfica especificada en el servidor especificado.REMOVE SECONDARY ON SERVER <partner_server_name> Removes the specified geo-replicated secondary database on the specified server. El comando se ejecuta en la base de datos maestra en el servidor que hospeda la base de datos principal.The command is executed on the master database on the server hosting the primary database.

Importante

El usuario que ejecuta el comando REMOVE SECONDARY debe ser DBManager en el servidor principal.The user executing the REMOVE SECONDARY command must be DBManager on the primary server.

FAILOVER Promueve la base de datos secundaria en colaboración de replicación geográfica en la que el comando se ejecuta para convertirla en la principal y degrada la base de datos principal actual para convertirla en la nueva base de datos secundaria.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 de este proceso, el modo de replicación geográfica se cambia temporalmente de asincrónico a sincrónico.As part of this process, the geo-replication mode is temporarily switched from asynchronous mode to synchronous mode. Durante el proceso de conmutación por error:During the failover process:

  1. La base de datos principal deja de aceptar nuevas transacciones.The primary stops taking new transactions.
  2. Todas las transacciones pendientes se vacían en la base de datos secundaria.All outstanding transactions are flushed to the secondary.
  3. La base de datos secundaria se convierte en la principal y comienza la replicación geográfica asincrónica con la base de datos principal anterior y la base de datos secundaria nueva.The secondary becomes the primary and begins asynchronous geo-replication with the old primary / the new secondary.

Esta secuencia garantiza que no se produzca pérdida de datos.This sequence ensures that no data loss occurs. El período durante el que ambas bases de datos no están disponibles es de entre 0 y 25 segundos mientras se intercambian los roles.The period during which both databases are unavailable is on the order of 0-25 seconds while the roles are switched. La operación total no debería tardar más de un minuto aproximadamente.The total operation should take no longer than about one minute. Si la base de datos principal no está disponible cuando se emite este comando, el comando produce un error con un mensaje de error en el que se indica que la base de datos principal no está disponible.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. Si el proceso de conmutación por error no se completa y aparece bloqueado, se puede usar el comando para forzar la conmutación por error y aceptar la pérdida de datos, y después, si tiene que recuperar los datos perdidos, llama a devops (CSS) para recuperarlos.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

El usuario que ejecuta el comando FAILOVER debe ser DBManager tanto en el servidor principal como en el secundario.The user executing the FAILOVER command must be DBManager on both the primary server and the secondary server.

FORCE_FAILOVER_ALLOW_DATA_LOSS Promueve la base de datos secundaria en colaboración de replicación geográfica en la que el comando se ejecuta para convertirla en la principal y degrada la base de datos principal actual para convertirla en la nueva base de datos secundaria.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 solo cuando la base de datos principal actual ya no esté disponible.Use this command only when the current primary is no longer available. Está diseñado solo para la recuperación ante desastres, cuando la restauración de la disponibilidad sea esencial y se acepte cierta pérdida de datos.It is designed for disaster recovery only, when restoring availability is critical, and some data loss is acceptable.

Durante una conmutación por error forzada:During a forced failover:

  1. La base de datos secundaria especificada se convierte inmediatamente en la base de datos principal y comienza a aceptar nuevas transacciones.The specified secondary database immediately becomes the primary database and begins accepting new transactions.
  2. Cuando la base de datos principal original se pueda volver a conectar con la nueva base de datos principal, se toma una copia de seguridad incremental en la base de datos principal original y se convierte en una nueva base de datos secundaria.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 datos de esta copia de seguridad incremental en la base de datos principal anterior, el usuario usa devops/CSS.To recover data from this incremental backup on the old primary, the user engages devops/CSS.
  4. Si hay otras bases de datos secundarias, se reconfiguran de forma automática para convertirse en secundarias de la nueva base de datos principal.If there are additional secondaries, they are automatically reconfigured to become secondaries of the new primary. Este proceso es asincrónico y puede haber un retraso hasta que finalice.This process is asynchronous and there may be a delay until this process completes. Hasta que se haya completado la reconfiguración, las bases de datos secundarias siguen siendo secundarias de la base de datos principal anterior.Until the reconfiguration has completed, the secondaries continue to be secondaries of the old primary.

Importante

El usuario que ejecuta el comando FORCE_FAILOVER_ALLOW_DATA_LOSS debe pertenecer al rol dbmanager tanto en el servidor principal como en el secundario.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.

NotasRemarks

Para quitar una base de datos, use DROP DATABASE.To remove a database, use DROP DATABASE. Para reducir el tamaño de una base de datos, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

La instrucción ALTER DATABASE se debe ejecutar en modo de confirmación automática (modo predeterminado de administración de transacciones) y no se permite en una transacción explícita o 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.

Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las 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 almacén de caché borrado de la caché de planes, el registro de errores de SQL ServerSQL Server contiene el siguiente mensaje informativo: 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. Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

La caché de procedimientos también se vacía en el escenario siguiente: Ejecuta varias consultas con una base de datos que tiene opciones predeterminadas.The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. Después, la base de datos se quita.Then, the database is dropped.

Ver la información de la base de datosViewing Database Information

Se pueden utilizar vistas de catálogo, funciones del sistema y procedimientos almacenados del sistema para devolver información sobre bases de datos, archivos y grupos de archivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermisosPermissions

Para modificar una base de datos, un inicio de sesión debe ser ya sea el inicio de sesión de la entidad de seguridad a nivel de servidor (creado por el proceso de aprovisionamiento), un miembro del rol de base de datos dbmanager en la rama maestra, un miembro del rol de base de datos db_owner en la base de datos actual, o dbo de la base de datos.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.

EjemplosExamples

A.A. Comprobación y cambio de las opciones de ediciónCheck the edition options and change them

Establece un tamaño máximo y de edición para la base de datos 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. Movimiento de una base de datos a otro grupo elásticoMoving a database to a different elastic pool

Mueve una base de datos existente en un grupo denominado pool1:Moves an existing database into a pool named pool1:

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

C.C. Adición de una base de datos secundaria de replicación geográficaAdd a Geo-Replication Secondary

Crea una base de datos secundaria legible db1 en el servidor secondaryserver de db1 en el 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. Eliminación de una base de datos secundaria de replicación geográficaRemove a Geo-Replication Secondary

Quita la base de datos secundaria db1 en el servidor secondaryserver.Removes the secondary database db1 on server secondaryserver.

ALTER DATABASE db1
REMOVE SECONDARY ON SERVER testsecondaryserver

E.E. Conmutación por error a una base de datos secundaria de replicación geográficaFailover to a Geo-Replication Secondary

Promueve una base de datos secundaria db1 en el servidor secondaryserver para que se convierta en la nueva base de datos principal cuando se ejecute en el 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. Forzado de la conmutación por error a una base de datos secundaria de replicación geográfica con pérdida de datosForce Failover to a Geo-Replication Secondary with data loss

Obliga a una base de datos secundaria db1 en el servidor secondaryserver a convertirse en la nueva base de datos principal cuando se ejecute en el servidor secondaryserver, en el caso de que el servidor principal ya no esté disponible.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. Esta opción puede conllevar la pérdida de datos.This option may incur data loss.

ALTER DATABASE db1 FORCE_FAILOVER_ALLOW_DATA_LOSS

G.G. Actualizar una única base de datos al nivel de servicio S0 (edición estándar, nivel de rendimiento 0)Update a single database to service tier S0 (standard edition, performance level 0)

Actualiza una sola base de datos a la edición estándar (nivel de servicio) con un nivel de rendimiento de S0 y un tamaño 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');

Vea tambiénSee also

SQL ServerSQL Server Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
* Instancia administrada de
SQL Database *
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Introducción: Instancia administrada de Azure SQL DatabaseOverview: Azure SQL Database managed instance

En Instancia administrada de Azure SQL Database, use esta instrucción para establecer las opciones de base de datos.In Azure SQL Database managed instance, use this statement to set database options.

Debido a su longitud, la sintaxis de ALTER DATABASE se divide en varios artículos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE En el artículo actual se proporciona la sintaxis e información relacionada para establecer las opciones File y Filegroup, para establecer las opciones de base de datos y el nivel de compatibilidad de base de datos.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.

Opciones File y Filegroup de ALTER DATABASE Proporciona la sintaxis e información relacionada para agregar y eliminar archivos y grupos de archivos de una base de datos y para cambiar los atributos de archivos y grupos de archivos.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.

Opciones SET de ALTER DATABASE Proporciona la sintaxis e información relacionada para cambiar los atributos de una base de datos usando las opciones 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.

Nivel de compatibilidad de ALTER DATABASE Proporciona la sintaxis e información relacionada de las opciones SET de ALTER DATABASE relacionadas con los niveles de compatibilidad de la base de datos.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintaxisSyntax

-- 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 Es el nombre de la base de datos que se va a modificar.database_name Is the name of the database to be modified.

CURRENT designa que la base de datos actual en uso se debe modificar.CURRENT Designates that the current database in use should be altered.

NotasRemarks

Para quitar una base de datos, use DROP DATABASE.To remove a database, use DROP DATABASE. Para reducir el tamaño de una base de datos, use DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

La instrucción ALTER DATABASE se debe ejecutar en modo de confirmación automática (modo predeterminado de administración de transacciones) y no se permite en una transacción explícita o 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.

Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las 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 almacén de caché borrado de la caché de planes, el registro de errores de SQL ServerSQL Server contendrá el siguiente mensaje informativo: "SQL ServerSQL Server ha detectado %d instancias de vaciado del almacén de caché "%s" (parte de la memoria caché de planes) debido a determinadas operaciones de mantenimiento de base de datos o reconfiguración".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". Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

También se vacía la caché de planes cuando se ejecutan varias consultas en una base de datos que tiene las opciones predeterminadas.The plan cache is also flushed when several queries are executed against a database that has default options. Después, la base de datos se quita.Then, the database is dropped.

Ver la información de la base de datosViewing Database Information

Se pueden utilizar vistas de catálogo, funciones del sistema y procedimientos almacenados del sistema para devolver información sobre bases de datos, archivos y grupos de archivos.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

PermisosPermissions

Solo el inicio de sesión principal de nivel de servidor (creado por el proceso de aprovisionamiento) o los miembros del rol de base de datos dbcreator pueden modificar una base de datos.Only the server-level principal login (created by the provisioning process) or members of the dbcreator database role can alter a database.

Importante

El propietario de la base de datos no puede modificarla a menos que sea miembro del rol dbcreator.The owner of the database cannot alter the database unless they are a member of the dbcreator role.

EjemplosExamples

En los ejemplos siguientes se muestra cómo establecer el ajuste automático y cómo agregar un archivo en una instancia administrada.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')

Vea tambiénSee also

SQL ServerSQL Server Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
Instancia administrada de
SQL Database
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Introducción: Almacenamiento de datos SQL de AzureOverview: Azure SQL Data Warehouse

En Azure SQL Data Warehouse, "ALTER DATABASE" modifica el nombre, el tamaño máximo o el objetivo del servicio de una base de datos.In Azure SQL Dta Warehouse, 'ALTER DATABASE' modifies the name, maximum size, or service objective for a database.

Debido a su longitud, la sintaxis de ALTER DATABASE se divide en varios artículos.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

Opciones SET de ALTER DATABASE Proporciona la sintaxis e información relacionada para cambiar los atributos de una base de datos usando las opciones 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.

SintaxisSyntax

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 el nombre de la base de datos que se va a modificar.database_name Specifies the name of the database to be modified.

MODIFY NAME = new_database_name Reemplaza el nombre de la base de datos por el nombre especificado como new_database_name.MODIFY NAME = new_database_name Renames the database with the name specified as new_database_name.

MAXSIZE El valor predeterminado es 245, 760 GB (240 TB).MAXSIZE The default is 245,760 GB (240 TB).

Se aplica a: Optimizado para Compute Gen1Applies to: Optimized for Compute Gen1

El tamaño máximo permitido para la base de datos.The maximum allowable size for the database. La base de datos no puede superar el valor de MAXSIZE.The database cannot grow beyond MAXSIZE.

Se aplica a: Optimizado para Compute Gen2Applies to: Optimized for Compute Gen2

Tamaño máximo permitido para los datos de almacenamiento de filas de la base de datos.The maximum allowable size for rowstore data in the database. Los datos almacenados en tablas de almacenamiento de filas, en el almacén delta de un índice de almacén de columnas o en un índice no agrupado de un índice de almacén de columnas en clúster no pueden superar el valor de MAXSIZE.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE. Los datos comprimidos en formato de almacén de columnas no tienen un límite de tamaño y no están restringidos por el valor de MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVE Especifica el nivel de rendimiento.SERVICE_OBJECTIVE Specifies the performance level. Para más información sobre los objetivos de servicio para SQL Data Warehouse, consulte Unidades de almacenamiento de datos (DWU).For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

PermisosPermissions

Se requieren estos permisos:Requires these permissions:

  • Inicio de sesión principal en el nivel de servidor (creado por el proceso de aprovisionamiento), oServer-level principal login (the one created by the provisioning process), or
  • Miembro del rol de base de datos dbmanager.Member of the dbmanager database role.

El propietario de la base de datos no puede modificarla a menos que sea miembro del rol dbmanager.The owner of the database cannot alter the database unless the owner is a member of the dbmanager role.

Notas generalesGeneral Remarks

La base de datos actual debe ser diferente de la base de datos que está modificando, por lo que ALTER debe ejecutarse mientras se está conectado a la base de datos maestra.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.

SQL Data Warehouse está establecido en COMPATIBILITY_LEVEL 130 y no se puede cambiar.SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Para más información, vea Rendimiento de consultas mejorado con el nivel de compatibilidad 130 en Azure SQL Database.For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

Limitaciones y restriccionesLimitations and Restrictions

Para ejecutar ALTER DATABASE, la base de datos debe estar en línea y no puede encontrarse en estado de pausa.To run ALTER DATABASE, the database must be online and cannot be in a paused state.

La instrucción ALTER DATABASE debe ejecutarse en modo de confirmación automática, que es el modo de administración de transacciones predeterminado.The ALTER DATABASE statement must run in auto-commit mode, which is the default transaction management mode. Esto se establece en la configuración de conexión.This is set in the connection settings.

La instrucción ALTER DATABASE no puede formar parte de una transacción definida por el usuario.The ALTER DATABASE statement cannot be part of a user-defined transaction.

No es posible cambiar la intercalación de base de datos.You cannot change the database collation.

EjemplosExamples

Antes de ejecutar estos ejemplos, asegúrese de que la base de datos que está modificando no es la base de datos actual.Before you run these examples, make sure the database you are altering is not the current database. La base de datos actual debe ser diferente de la base de datos que está modificando, por lo que ALTER debe ejecutarse mientras se está conectado a la base de datos maestra.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. Cambiar el nombre de la base de datosChange the name of the database

ALTER DATABASE AdventureWorks2012
MODIFY NAME = Northwind;

B.B. Cambiar el tamaño máximo de la base de datosChange max size for the database

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );

C.C. Cambiar el nivel de rendimientoChange the performance level

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

D.D. Cambiar el tamaño máximo y el nivel de rendimientoChange the max size and the performance level

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

Consulte tambiénSee Also

SQL ServerSQL Server Grupo de bases de datos elásticas o base de datos única de
SQL Database
SQL Database
single database/elastic pool
Instancia administrada de
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Analytics
Platform System (PDW) *
 
* Analytics
Platform System (PDW) *
 

 

Introducción: Sistema de la plataforma de análisisOverview: Analytics Platform System

Modifica las opciones de tamaño máximo de la base de datos para las tablas replicadas, tablas distribuidas y el registro de transacciones en PDW.Modifies the maximum database size options for replicated tables, distributed tables, and the transaction log in PDW. Use esta instrucción para administrar las asignaciones de espacio de disco para una base de datos a medida que aumenta o disminuye de tamaño.Use this statement to manage disk space allocations for a database as it grows or shrinks in size. En el artículo también se describe la sintaxis relacionada con la configuración de opciones de base de datos en PDW.The article also describes syntax related to setting database options in PDW.

SintaxisSyntax

-- 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 El nombre de la base de datos que se va a modificar.database_name The name of the database to be modified. Para mostrar una lista de bases de datos en el dispositivo, use sys.databases.To display a list of databases on the appliance, use sys.databases.

AUTOGROW = { ON | OFF } Actualiza la opción AUTOGROW.AUTOGROW = { ON | OFF } Updates the AUTOGROW option. Cuando AUTOGROW es ON, Almacenamiento de datos paralelosParallel Data Warehouse aumenta automáticamente el espacio asignado para las tablas replicadas, tablas distribuidas y el registro de transacciones según sea necesario para adecuarse al crecimiento de los requisitos de almacenamiento.When AUTOGROW is ON, Almacenamiento de datos paralelosParallel Data Warehouse automatically increases the allocated space for replicated tables, distributed tables, and the transaction log as necessary to accommodate growth in storage requirements. Cuando AUTOGROW es OFF, Almacenamiento de datos paralelosParallel Data Warehouse devuelve un error si las tablas replicadas, tablas distribuidas o el registro de transacciones supera la configuración de tamaño máximo.When AUTOGROW is OFF, Almacenamiento de datos paralelosParallel Data Warehouse returns an error if replicated tables, distributed tables, or the transaction log exceeds the maximum size setting.

REPLICATED_SIZE = size [GB] Especifica el nuevo tamaño máximo en gigabytes por nodo de ejecución para almacenar todas las tablas replicadas en la base de datos que se va a modificar.REPLICATED_SIZE = size [GB] Specifies the new maximum gigabytes per Compute node for storing all of the replicated tables in the database being altered. Si tiene planeado el espacio de almacenamiento del dispositivo, debe multiplicar REPLICATED_SIZE por el número de nodos de ejecución en el 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 el nuevo tamaño máximo en gigabytes por base de datos para almacenar todas las tablas distribuidas de la base de datos que se va a modificar.DISTRIBUTED_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the distributed tables in the database being altered. El tamaño se distribuye entre todos los nodos de ejecución en el dispositivo.The size is distributed across all of the Compute nodes in the appliance.

LOG_SIZE = size [GB] Especifica el nuevo tamaño máximo en gigabytes por base de datos para almacenar todas los registros de transacciones de la base de datos que se va a modificar.LOG_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the transaction logs in the database being altered. El tamaño se distribuye entre todos los nodos de ejecución en el dispositivo.The size is distributed across all of the Compute nodes in the appliance.

ENCRYPTION { ON | OFF } Establece que la base de datos se cifre (ON) o no se cifre (OFF).ENCRYPTION { ON | OFF } Sets the database to be encrypted (ON) or not encrypted (OFF). Solo se puede configurar el cifrado para Almacenamiento de datos paralelosParallel Data Warehouse cuando sp_pdw_database_encryption se haya establecido en 1.Encryption can only be configured for Almacenamiento de datos paralelosParallel Data Warehouse when sp_pdw_database_encryption has been set to 1. Se debe crear una clave de cifrado de base de datos antes de poder configurar el cifrado de datos transparente.A database encryption key must be created before transparent data encryption can be configured. Para obtener más información sobre el cifrado de bases de datos, vea Cifrado de datos transparente (TDE).For more information about database encryption, see Transparent Data Encryption (TDE).

SET AUTO_CREATE_STATISTICS { ON | OFF } Cuando se activa la opción automática de creación de estadísticas, AUTO_CREATE_STATISTICS, el optimizador de consultas crea las estadísticas en columnas individuales en el predicado de consulta, según sea necesario, para mejorar las estimaciones de cardinalidad para el plan 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. Estas estadísticas de columna única se crean en las columnas que aún no tienen un histograma en un objeto de estadísticas existente.These single-column statistics are created on columns that do not already have a histogram in an existing statistics object.

El valor predeterminado es ON para las bases de datos creadas después de actualizar a AU7.Default is ON for new databases created after upgrading to AU7. El valor predeterminado es OFF para las bases de datos creadas antes de la actualización.The default is OFF for databases created prior to the upgrade.

Para obtener más información sobre las estadísticas, vea Estadísticas.For more information about statistics, see Statistics

SET AUTO_UPDATE_STATISTICS { ON | OFF } Cuando se activa la opción automática de actualización de estadísticas, AUTO_UPDATE_STATISTICS, el optimizador de consultas determina cuándo es posible que las estadísticas queden obsoletas y las actualiza cuando una consulta las usa.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. Las estadísticas se vuelven obsoletas después de que las operaciones de inserción, actualización, eliminación o combinación cambien la distribución de los datos en la tabla o la vista indexada.Statistics become out-of-date after operations insert, update, delete, or merge change the data distribution in the table or indexed view. El optimizador de consultas determina cuándo han podido quedar obsoletas las estadísticas contando el número de modificaciones de datos desde la actualización más reciente de las estadísticas, comparando el número de modificaciones con respecto a un umbral.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. El umbral se basa en el número de filas de la tabla o la vista indizada.The threshold is based on the number of rows in the table or indexed view.

El valor predeterminado es ON para las bases de datos creadas después de actualizar a AU7.Default is ON for new databases created after upgrading to AU7. El valor predeterminado es OFF para las bases de datos creadas antes de la actualización.The default is OFF for databases created prior to the upgrade.

Para obtener más información sobre las estadísticas, vea Estadísticas.For more information about statistics, see Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } La opción de actualización asincrónica de estadísticas, AUTO_UPDATE_STATISTICS_ASYNC, determina si el optimizador de consultas usa actualizaciones de estadísticas sincrónicas o asincrónicas.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. La opción AUTO_UPDATE_STATISTICS_ASYNC se aplica a los objetos de estadística creados para índices y columnas únicas de los predicados de consulta, así como a las estadísticas creadas con la instrucción 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.

El valor predeterminado es ON para las bases de datos creadas después de actualizar a AU7.Default is ON for new databases created after upgrading to AU7. El valor predeterminado es OFF para las bases de datos creadas antes de la actualización.The default is OFF for databases created prior to the upgrade.

Para obtener más información sobre las estadísticas, vea Estadísticas.For more information about statistics, see Statistics.

PermisosPermissions

Se necesita el permiso ALTER en la base de datos.Requires the ALTER permission on the database.

mensajes de errorError Messages

Si se deshabilitan las estadísticas automáticas e intenta modificar las estadísticas, PDW genera el error 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. El administrador del sistema puede habilitar las estadísticas automáticas si habilita el modificador de características AutoStatsEnabled.The system administrator can enable auto-stats by enabling the feature switch AutoStatsEnabled.

Notas generalesGeneral Remarks

Los valores de REPLICATED_SIZE, DISTRIBUTED_SIZE y LOG_SIZE pueden ser mayor que, igual que o menor que los valores actuales de la base de datos.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.

Limitaciones y restriccionesLimitations and Restrictions

Las operaciones de crecimiento y reducción son aproximadas.Grow and shrink operations are approximate. Los tamaños reales resultantes pueden variar con respecto a los parámetros de tamaño.The resulting actual sizes can vary from the size parameters.

Almacenamiento de datos paralelosParallel Data Warehouse no ejecuta la instrucción ALTER DATABASE como una operación atómica.does not perform the ALTER DATABASE statement as an atomic operation. Si la instrucción se anula durante la ejecución, se conservarán los cambios que ya se han producido.If the statement is aborted during execution, changes that have already occurred will remain.

La configuración de las estadísticas solo funcionará si el administrador ha habilitado las estadísticas automáticas. Si es un administrador, use el modificador de características AutoStatsEnabled para habilitar o deshabilitar las estadí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.

Comportamiento del bloqueoLocking Behavior

Toma un bloqueo compartido en el objeto DATABASE.Takes a shared lock on the DATABASE object. No se puede modificar una base de datos que está en uso por otro usuario para operaciones lectura o escritura.You cannot alter a database that is in use by another user for reading or writing. Esto incluye las sesiones que han emitido una instrucción USE en la base de datos.This includes sessions that have issued a USE statement on the database.

RendimientoPerformance

Reducir una base de datos puede consumir mucho tiempo y recursos del sistema, en función del tamaño de los datos reales en la base de datos y la cantidad de fragmentación del 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 ejemplo, reducir una base de datos puede tardar varias horas o más.For example, shrinking a database could take several hours or more.

Determinar el progreso del cifradoDetermining Encryption Progress

Use la consulta siguiente para determinar el progreso del cifrado de datos transparente de base de datos como un porcentaje: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 obtener un ejemplo completo en el que se muestran todos los pasos en la implementación de TDE, vea Cifrado de datos transparente (TDE).For a comprehensive example demonstrating all the steps in implementing TDE, see Transparent Data Encryption (TDE).

Ejemplos: Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos paralelosParallel Data Warehouse

A.A. Modificación de la configuración de AUTOGROWAltering the AUTOGROW setting

Establezca AUTOGROW en ON para la base de datos CustomerSales.Set AUTOGROW to ON for database CustomerSales.

ALTER DATABASE CustomerSales
    SET ( AUTOGROW = ON );

B.B. Modificación del almacenamiento máximo para las tablas replicadasAltering the maximum storage for replicated tables

En el ejemplo siguiente se establece el límite de almacenamiento de tablas replicadas en 1 GB para la base de datos CustomerSales.The following example sets the replicated table storage limit to 1 GB for the database CustomerSales. Este es el límite de almacenamiento por nodo de ejecución.This is the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( REPLICATED_SIZE = 1 GB );

C.C. Modificación del almacenamiento máximo para las tablas distribuidasAltering the maximum storage for distributed tables

En el ejemplo siguiente se establece el límite de almacenamiento de distribuidas replicadas en 1000 GB (un terabyte) para la base de datos CustomerSales.The following example sets the distributed table storage limit to 1000 GB (one terabyte) for the database CustomerSales. Este es el límite de almacenamiento combinado en todo el dispositivo para todos los nodos de ejecución, no el límite de almacenamiento por nodo de ejecución.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. Modificación del almacenamiento máximo para el registro de transaccionesAltering the maximum storage for the transaction log

En el ejemplo siguiente se actualiza la base de datos CustomerSales para que tenga un tamaño máximo de registro de transacciones de SQL ServerSQL Server de 10 GB para el 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. Comprobación de los valores de estadísticas actualesCheck for current statistics values

La consulta siguiente devuelve los valores actuales de las estadísticas para todas las bases de datos.The following query returns the current statistics values for all databases. El valor 1 significa que la característica está activada, y 0 que está desactivada.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. Habilitación de estadísticas de creación y actualización automáticas para una base de datosEnable auto-create and auto-update stats for a database

Use la instrucción siguiente para habilitar las estadísticas de creación y actualización de manera automática y asincrónica para la base de datos, CustomerSales.Use the following statement to enable create and update statistics automatically and asynchronously for database, CustomerSales. Esto crea y actualiza las estadísticas de columna única según sea necesario para crear planes de consulta de alta calidad.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 tambiénSee Also