CREATE DATABASECREATE DATABASE

Crea una nueva base de datos.Creates a new database.

Haga clic en una de las pestañas siguientes para obtener la sintaxis, los argumentos, los comentarios, los permisos y los ejemplos para una versión de SQL concreta con la que está trabajando.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

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)

 

SQL ServerSQL Server

Información generalOverview

En SQL Server, esta instrucción crea una base de datos nueva y los archivos usados y sus grupos de archivos.In SQL Server, this statement creates a new database and the files used and their filegroups. También puede usarse para crear una instantánea de base de datos o adjuntar archivos de base de datos para crear una base de datos de los archivos desasociados de otra base de datos.It can also be used to create a database snapshot, or attach database files to create a database from the detached files of another database.

SintaxisSyntax

Crear una base de datos.Create a database.

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
      [ PRIMARY ] <filespec> [ ,...n ]
      [ , <filegroup> [ ,...n ] ]
      [ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
      FILESTREAM ( <filestream_option> [,...n ] )
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
    | NESTED_TRIGGERS = { OFF | ON }
    | TRANSFORM_NOISE_WORDS = { OFF | ON}
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
    | DB_CHAINING { OFF | ON }
    | TRUSTWORTHY { OFF | ON }
    | PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='<Filepath to folder on DAX formatted volume>' )
}

<filestream_option> ::=
{
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    | DIRECTORY_NAME = 'directory_name'
}

<filespec> ::=
{
(
    NAME = logical_file_name ,
    FILENAME = { 'os_file_name' | 'filestream_path' }
    [ , SIZE = size [ KB | MB | GB | TB ] ]
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]
    <filespec> [ ,...n ]
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

Adjuntar una base de datosAttach a database

CREATE DATABASE database_name
    ON <filespec> [ ,...n ]
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
        | ATTACH_REBUILD_LOG }
[;]

<attach_database_option> ::=
{
      <service_broker_option>
    | RESTRICTED_USER
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

Crear una instantánea de base de datosCreate a database snapshot

CREATE DATABASE database_snapshot_name
    ON
    (
        NAME = logical_file_name,
        FILENAME = 'os_file_name'
    ) [ ,...n ]
    AS SNAPSHOT OF
[;]

ArgumentosArguments

database_name Es el nombre de la nueva base de datos.database_name Is the name of the new database. Los nombres de base de datos deben ser únicos en una instancia de SQL ServerSQL Server y cumplir las reglas de los identificadores.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

database_name puede tener 128 caracteres como máximo, a menos que no se especifique un nombre lógico para el archivo de registro.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. Si no se especifica un nombre de archivo de registro lógico, SQL ServerSQL Server genera logical_file_name y os_file_name para el registro, anexando un sufijo a database_name.If a logical log file name is not specified, SQL ServerSQL Server generates the logical_file_name and the os_file_name for the log by appending a suffix to database_name. Esto limita database_name a 123 caracteres, por lo que el nombre de archivo lógico generado tiene como máximo 128 caracteres.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Si no se especifica el nombre de archivo de datos, SQL ServerSQL Server utiliza database_name como el logical_file_name y como os_file_name.If data file name is not specified, SQL ServerSQL Server uses database_name as both the logical_file_name and as the os_file_name. La ruta de acceso predeterminada se obtiene del Registro.The default path is obtained from the registry. La ruta de acceso predeterminada se puede cambiar utilizando las Propiedades del servidor (página de configuración de base de datos) en Management StudioManagement Studio.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. Para cambiar la ruta de acceso predeterminada se requiere reiniciar SQL ServerSQL Server.Changing the default path requires restarting SQL ServerSQL Server.

CONTAINMENT = { NONE | PARTIAL }CONTAINMENT = { NONE | PARTIAL }

Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Especifica el estado de contención de la base de datos.Specifies the containment status of the database. NONE = base de datos dependiente.NONE = non-contained database. PARTIAL = base de datos parcialmente independiente.PARTIAL = partially contained database.

ONON
Especifica que los archivos de disco utilizados para almacenar las secciones de datos de la base de datos (archivos de datos) se definen explícitamente.Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. ON es obligatorio cuando va seguido de una lista de elementos <filespec> separados por comas que definen los archivos de datos del grupo de archivos principal.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. Detrás de la lista de archivos del grupo de archivos principal se puede colocar una lista opcional de elementos <filegroup> separados por comas que definan los grupos de archivos de usuario y sus archivos.The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items that define user filegroups and their files.

PRIMARYPRIMARY
Especifica que la lista de elementos <filespec> asociada define el archivo principal.Specifies that the associated <filespec> list defines the primary file. El primer archivo especificado en la entrada <filespec> del grupo de archivos principal se convierte en el archivo principal.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. Una base de datos solo puede tener un archivo principal.A database can have only one primary file. Para más información, consulte Database Files and Filegroups.For more information, see Database Files and Filegroups.

Si no se especifica PRIMARY, el primer archivo enumerado en la instrucción CREATE DATABASE se convierte en el archivo principal.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ONLOG ON
Especifica que los archivos de disco utilizados para almacenar el registro de la base de datos (archivos de registro) se definen explícitamente.Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON va seguido de una lista de elementos <filespec> separados por comas que definen los archivos de registro.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. Si no se especifica LOG ON, se crea automáticamente un archivo de registro cuyo tamaño es el 25 % de la suma de los tamaños de todos los archivos de datos de la base de datos o 512 KB, el valor que sea mayor.If LOG ON is not specified, one log file is automatically created, which has a size that is 25 percent of the sum of the sizes of all the data files for the database, or 512 KB, whichever is larger. Este archivo se coloca en la ubicación del archivo de registro predeterminado.This file is placed in the default log-file location. Para obtener más información sobre esta ubicación, consulte Ver o cambiar las ubicaciones predeterminadas de los archivos de datos y registro - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

LOG ON no se puede especificar en una instantánea de base de datos.LOG ON cannot be specified on a database snapshot.

COLLATE collation_name COLLATE collation_name
Especifica la intercalación predeterminada de la base de datos.Specifies the default collation for the database. El nombre de intercalación 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 predeterminada de la instancia de SQL ServerSQL Server.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. No se puede especificar un nombre de intercalación en una instantánea de base de datos.A collation name cannot be specified on a database snapshot.

No se puede especificar un nombre de intercalación con las cláusulas FOR ATTACH o FOR ATTACH_REBUILD_LOG.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. Para obtener información acerca de cómo cambiar la intercalación de una base de datos adjuntada, visite este sitio web de Microsoft.For information about how to change the collation of an attached database, visit this Microsoft Web site.

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.

Nota

Las bases de datos independientes se intercalan de modo diferente al de las bases de datos dependientes.Contained databases are collated differently than non-contained databases. Para obtener más información, consulte Intercalaciones de bases de datos independientes.Please see Contained Database Collations for more information.

WITH <option>WITH <option>
<filestream_options><filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Se aplica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) mediante SQL Server 2017SQL Server 2017.NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Especifica el nivel de acceso no transaccional de FILESTREAM a la base de datos.Specifies the level of non-transactional FILESTREAM access to the database.

ValorValue DescripciónDescription
OFFOFF El acceso no transaccional está deshabilitado.Non-transactional access is disabled.
READONLYREADONLY Los procesos no transaccionales pueden leer los datos de FILESTREAM en esta base de datos.FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL El acceso no transaccional total a objetos FileTable de FILESTREAM está habilitado.Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <directory_name>DIRECTORY_NAME = <directory_name>
Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Un nombre de directorio compatible con Windows.A windows-compatible directory name. Este nombre debe ser único entre todos los nombres de Database_Directory en la instancia de SQL ServerSQL Server.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. La comparación de unicidad no distingue mayúsculas de minúsculas, independientemente de la configuración de intercalación de SQL ServerSQL Server.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. Esta opción se debe establecer antes de crear un objeto FileTable en esta base de datos.This option should be set before creating a FileTable in this database.

Las opciones siguientes se permiten solo cuando CONTAINMENT se ha establecido en PARTIAL.The following options are allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT se establece en NONE, se producirán errores.If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <nombre de idioma> | <alias de idioma>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

    Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Para obtener más información, consulte Establecer la opción de configuración del servidor Idioma de texto completo predeterminado.See Configure the default full-text language Server Configuration Option for a full description of this option.

  • DEFAULT_LANGUAGE = <lcid> | <nombre de idioma> | <alias de idioma>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

    Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Para obtener más información, consulte Establecer la opción de configuración del servidor Idioma predeterminado.See Configure the default language Server Configuration Option for a full description of this option.

  • NESTED_TRIGGERS = { OFF | ON}NESTED_TRIGGERS = { OFF | ON}

    Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Para obtener más información, consulte Establecer la opción de configuración del servidor Desencadenadores anidados.See Configure the nested triggers Server Configuration Option for a full description of this option.

  • TRANSFORM_NOISE_WORDS = { OFF | ON}TRANSFORM_NOISE_WORDS = { OFF | ON}

    Se aplica a: de SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Para obtener más información, consulte transform noise words (opción de configuración del servidor).See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <cualquier año entre 1753 y 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    Cuatro dígitos que representan un año.Four digits representing a year. El valor predeterminado es 2049.2049 is the default value. Para obtener más información, consulte Establecer la opción de configuración del servidor Fecha límite de año de dos dígitos.See Configure the two digit year cutoff Server Configuration Option for a full description of this option.

  • DB_CHAINING { OFF | ON }DB_CHAINING { OFF | ON }

    Si se especifica ON, la base de datos puede ser el origen o destino de una cadena de propiedad entre bases de datos.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    Si es OFF, la base de datos no puede participar en encadenamientos de propiedad entre bases de datos.When OFF, the database cannot participate in cross-database ownership chaining. El valor predeterminado es OFF.The default is OFF.

    Importante

    La instancia de SQL ServerSQL Server reconoce esta configuración si la opción del servidor cross db ownership chaining server es 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Si cross db ownership chaining es 1 (ON), todas las bases de datos de usuario pueden participar en cadenas de propiedad entre bases de datos, independientemente del valor de esta opción.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Esta opción se establece mediante sp_configure.This option is set by using sp_configure.

    Para establecer esta opción, debe pertenecer al rol fijo de servidor sysadmin.To set this option, requires membership in the sysadmin fixed server role. La opción DB_CHAINING no se puede establecer en estas bases de datos del sistema: master, model, tempdb.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

  • TRUSTWORTHY { OFF | ON }TRUSTWORTHY { OFF | ON }

    Cuando se especifica ON, los módulos de base de datos (por ejemplo, vistas, funciones definidas por el usuario o procedimientos almacenados) que utilicen un contexto de suplantación pueden tener acceso a recursos externos a la base de datos.When ON is specified, database modules (for example, views, user-defined functions, or stored procedures) that use an impersonation context can access resources outside the database.

    Si es OFF, los módulos de base de datos en un contexto de suplantación no pueden tener acceso a recursos externos a la base de datos.When OFF, database modules in an impersonation context cannot access resources outside the database. El valor predeterminado es OFF.The default is OFF.

    TRUSTWORTHY se establece en OFF siempre que la base de datos se adjunta.TRUSTWORTHY is set to OFF whenever the database is attached.

    De forma predeterminada, el valor TRUSTWORTHY se establece en OFF en todas las bases de datos de sistema, excepto msdb.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. El valor no se puede cambiar en las bases de datos model ni tempdb.The value cannot be changed for the model and tempdb databases. Se recomienda no establecer la opción TRUSTWORTHY en ON en la base de datos maestra.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

  • PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )

    Cuando se especifica esta opción, se crea el búfer de registro de transacciones en un volumen que se encuentra en un dispositivo de disco respaldado por la memoria de clase de almacenamiento (almacenamiento permanente de NVDIMM-N), también conocido como un búfer de registro persistente.When this option is specified, the transaction log buffer is created on a volume that is located on a disk device backed by Storage Class Memory (NVDIMM-N nonvolatile storage) - also known as a persistent log buffer. Para más información, consulte Transaction Commit latency acceleration using Storage Class Memory (Aceleración de latencia de confirmación de transacciones con memoria de clase de almacenamiento).For more information, see Transaction Commit latency acceleration using Storage Class Memory. Válido para: SQL Server 2017 (14.x)SQL Server 2017 (14.x) y versiones más recientes.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and newer.

FOR ATTACH [ WITH < attach_database_option > ]FOR ATTACH [ WITH < attach_database_option > ]
Especifica que la base de datos se crea adjuntando un conjunto existente de archivos del sistema operativo.Specifies that the database is created by attaching an existing set of operating system files. Debe haber una entrada <filespec> que especifique el archivo principal.There must be a <filespec> entry that specifies the primary file. Las demás entradas <filespec> que son necesarias son las correspondientes a los archivos con una ruta de acceso diferente de la que tenían cuando la base de datos se creó por primera vez o se adjuntó por última vez.The only other <filespec> entries required are those for any files that have a different path from when the database was first created or last attached. Debe especificarse una entrada <filespec> para estos archivos.A <filespec> entry must be specified for these files.

FOR ATTACH tiene los siguientes requisitos:FOR ATTACH requires the following:

  • Todos los archivos de datos (MDF y NDF) deben estar disponibles.All data files (MDF and NDF) must be available.
  • Si hay varios archivos de registro, todos ellos deben estar disponibles.If multiple log files exist, they must all be available.

Si una base de datos de lectura/escritura tiene un único archivo de registro que no está disponible actualmente y si la base de datos se cerró sin usuarios o transacciones abiertas antes de la operación de adjuntar, FOR ATTACH regenera automáticamente el archivo de registro y actualiza el archivo principal.If a read/write database has a single log file that is currently unavailable, and if the database was shut down with no users or open transactions before the attach operation, FOR ATTACH automatically rebuilds the log file and updates the primary file. En cambio, en el caso de una base de datos de solo lectura, el registro no se puede volver a generar porque el archivo principal no se puede actualizar.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. Por lo tanto, cuando se adjunta una base de datos de solo lectura con un registro que no está disponible, se deben proporcionar los archivos de registro o los archivos de la cláusula FOR ATTACH.Therefore, when you attach a read-only database with a log that is unavailable, you must provide the log files, or the files in the FOR ATTACH clause.

Nota

Una base de datos creada por una versión más reciente de SQL ServerSQL Server no puede adjuntarse en versiones anteriores.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

En SQL ServerSQL Server, los archivos de texto completo que formen parte de la base de datos que se va a adjuntar se adjuntarán con la base de datos.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. Para especificar una nueva ruta de acceso al catálogo de texto completo, escriba la nueva ubicación sin incluir el nombre de archivo de texto completo del sistema operativo.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. Para obtener más información, vea la sección Ejemplos.For more information, see the Examples section.

Si se adjunta una base de datos que contiene una opción FILESTREAM de "Nombre de directorio" en una instancia de SQL ServerSQL Server, se solicitará a SQL ServerSQL Server que compruebe que el nombre de Database_Directory es único.Attaching a database that contains a FILESTREAM option of "Directory name", into a SQL ServerSQL Server instance will prompt SQL ServerSQL Server to verify that the Database_Directory name is unique. Si no lo es, la operación de adjuntar sufrirá un error con el mensaje "El nombre de FILESTREAM Database_Directory <nombre> no es único en esta instancia de SQL Server".If it is not, the attach operation fails with the error, "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance". Para evitar este error, se debe pasar a esta operación el parámetro opcional directory_name.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

FOR ATTACH no se puede especificar en una instantánea de base de datos.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH puede especificar la opción RESTRICTED_USER.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER permite que solamente se conecten a la base de datos los miembros del rol fijo de base de datos db_owner y de los roles fijos de servidor dbcreator y sysadmin, aunque no limita su número.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does not limit their number. Los intentos de los usuarios no calificados se rechazarán.Attempts by unqualified users are refused.

Si la base de datos usa Service BrokerService Broker, emplee WITH <service_broker_option> en la cláusula FOR ATTACH:If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option><service_broker_option>
Controla la entrega de mensajes de Service BrokerService Broker y el identificador de Service BrokerService Broker para la base de datos.Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. Las opciones de Service BrokerService Broker solo se pueden especificar cuando se usa la cláusula FOR ATTACH.Service BrokerService Broker options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKERENABLE_BROKER
Indica que se habilite Service BrokerService Broker para la base de datos especificada.Specifies that Service BrokerService Broker is enabled for the specified database. En otras palabras, se inicia la entrega de mensajes y se establece is_broker_enabled en True en la vista de catálogo sys.databases.That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. La base de datos conserva el identificador de Service BrokerService Broker existente.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Crea un valor service_broker_guid en sys.databases y en la base de datos restaurada y finaliza todos los extremos de conversación con limpieza.Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. El agente se habilita, pero no se envía ningún mensaje a los extremos de conversación remotos.The broker is enabled, but no message is sent to the remote conversation endpoints. Cualquier ruta que haga referencia al identificador de Service BrokerService Broker anterior se debe volver a crear con el nuevo identificador.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Finaliza todas las conversaciones con un error que indica que la base de datos está adjunta o restaurada.Ends all conversations with an error stating that the database is attached or restored. El agente está deshabilitado hasta que finaliza esta operación y, después, se habilita.The broker is disabled until this operation is completed and then enabled. La base de datos conserva el identificador de Service BrokerService Broker existente.The database retains the existing Service BrokerService Broker identifier.

Si adjunta una base de datos replicada que fue copiada en lugar de ser separada, tenga en cuenta lo siguiente:When you attach a replicated database that was copied instead of being detached, consider the following:

  • Si adjunta la base de datos a la misma versión e instancia de servidor que la base de datos original, no es necesario realizar ningún paso adicional.If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • Si adjunta la base de datos a la misma instancia de servidor pero con una versión actualizada, debe ejecutar sp_vupgrade_replication para actualizar la replicación una vez que se complete la operación de adjuntar.If you attach the database to the same server instance but with an upgraded version, you must execute sp_vupgrade_replication to upgrade replication after the attach operation is complete.
  • Si adjunta la base de datos a una instancia de servidor diferente, independientemente de la versión, debe ejecutar sp_removedbreplication para quitar la replicación una vez que se complete la operación de adjuntar.If you attach the database to a different server instance, regardless of version, you must execute sp_removedbreplication to remove replication after the attach operation is complete.

Nota

Adjunte los trabajos con el formato de almacenamiento vardecimal, pero el Motor de base de datos de SQL ServerSQL Server Database Engine se debe actualizar al menos a SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2.Attach works with the vardecimal storage format, but the Motor de base de datos de SQL ServerSQL Server Database Engine must be upgraded to at least SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2. No puede adjuntar ninguna base de datos que use el formato de almacenamiento vardecimal a una versión anterior de SQL ServerSQL Server.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. Para obtener más información sobre el formato de almacenamiento vardecimal, consulte Compresión de datos.For more information about the vardecimal storage format, see Data Compression.

La primera vez que se adjunta una base de datos o se restaura en una instancia nueva de SQL ServerSQL Server, aún no se ha almacenado una copia de la clave maestra de la base de datos (cifrada por la clave maestra de servicio) en el servidor.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. Debe usar la instrucción OPEN MASTER KEY para descifrar la clave maestra de la base de datos (DMK).You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Una vez que se ha descifrado la clave maestra de la base de datos, tiene la posibilidad de habilitar el descifrado automático en el futuro usando la instrucción ALTER MASTER KEY REGENERATE para proporcionar al servidor una copia de la clave maestra de la base de datos cifrada con la clave maestra de servicio (SMK).Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). Cuando una base de datos se haya actualizado desde una versión anterior, se debe volver a generar la DMK para usar el algoritmo AES más reciente.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Para obtener más información sobre cómo volver a generar la DMK, vea ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. El tiempo necesario para volver a generar la DMK con el fin de actualizarse a AES depende del número de objetos protegidos por la DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Solo es necesario volver a generar la DMK una vez y no tiene ningún efecto sobre las nuevas generaciones futuras como parte de una estrategia de rotación de claves.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy. Para obtener información sobre cómo actualizar una base de datos mediante el uso de adjuntar, vea Actualizar una base de datos mediante Separar y Adjuntar.For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

Importante

Se recomienda no adjuntar bases de datos de orígenes desconocidos o que no sean de confianza.We recommend that you do not attach databases from unknown or untrusted sources. Es posible que dichas bases de datos contengan código malintencionado que podría ejecutar código Transact-SQLTransact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física.Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. Para usar una base de datos desde un origen desconocido o que no sea de confianza, ejecute DBCC CHECKDB en la base de datos de un servidor que no sea de producción y examine también el código, como procedimientos almacenados u otro código definido por el usuario, en la base de datos.Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server, and also examine the code, such as stored procedures or other user-defined code, in the database.

Nota

Las opciones TRUSTWORTHY y DB_CHAINING no tienen ningún efecto cuando se adjunta una base de datos.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOGFOR ATTACH_REBUILD_LOG
Especifica que la base de datos se crea adjuntando un conjunto existente de archivos del sistema operativo.Specifies that the database is created by attaching an existing set of operating system files. Esta opción está limitada a las bases de datos de lectura y escritura.This option is limited to read/write databases. Debe haber una entrada <filespec> que especifique el archivo principal.There must be a <filespec> entry specifying the primary file. Si no se encuentran uno o varios archivos de registro de transacciones, se volverá a generar el archivo de registro.If one or more transaction log files are missing, the log file is rebuilt. ATTACH_REBUILD_LOG crea automáticamente un nuevo archivo de registro de 1 MB.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Este archivo se coloca en la ubicación del archivo de registro predeterminado.This file is placed in the default log-file location. Para obtener más información sobre esta ubicación, consulte Ver o cambiar las ubicaciones predeterminadas de los archivos de datos y registro - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Nota

Si los archivos de registro están disponibles, el Motor de base de datosDatabase Engine utiliza esos archivos en lugar de volver a generar los archivos de registro.If the log files are available, the Motor de base de datosDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG requiere lo siguiente:FOR ATTACH_REBUILD_LOG requires the following:

  • Un cierre limpio de la base de datos.A clean shutdown of the database.
  • Todos los archivos de datos (MDF y NDF) deben estar disponibles.All data files (MDF and NDF) must be available.

Importante

Esta operación interrumpe la cadena de copias de seguridad de registros.This operation breaks the log backup chain. Se recomienda realizar una copia de seguridad completa de la base de datos después de finalizar la operación.We recommend that a full database backup be performed after the operation is completed. Para obtener más información, vea BACKUP.For more information, see BACKUP.

Normalmente, FOR ATTACH_REBUILD_LOG se utiliza cuando se copia una base de datos de lectura/escritura con un registro grande en otro servidor donde la copia se va a utilizar mayoritariamente, o únicamente, para operaciones de lectura y, por lo tanto, requiere menos espacio de registro que la base de datos original.Typically, FOR ATTACH_REBUILD_LOG is used when you copy a read/write database with a large log to another server where the copy will be used mostly, or only, for read operations, and therefore requires less log space than the original database.

FOR ATTACH_REBUILD_LOG no se puede especificar en una instantánea de base de datos.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

Para obtener más información sobre cómo se adjuntan y separan las bases de datos, vea Adjuntar y separar bases de datos.For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec><filespec>
Controla las propiedades de archivo.Controls the file properties.

NAME logical_file_name NAME logical_file_name
Especifica un nombre lógico para el archivo.Specifies the logical name for the file. NAME es obligatorio si se especifica FILENAME, excepto cuando se especifica una de las cláusulas FOR ATTACH.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. Un grupo de archivos FILESTREAM no se puede denominar PRIMARY.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name logical_file_name
Es el nombre lógico utilizado en SQL ServerSQL Server cuando se hace referencia al archivo.Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name debe ser único en la base de datos y debe cumplir las mismas reglas que los identificadores.Logical_file_name must be unique in the database and comply with the rules for identifiers. El nombre puede ser una constante de caracteres o Unicode, o un identificador regular o delimitado.The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { ' os_file_name ' | ' filestream_path ' }FILENAME { 'os_file_name' | 'filestream_path' }
Especifica el nombre de archivo (físico) del sistema operativo.Specifies the operating system (physical) file name.

' os_file_name ' ' os_file_name '
Es la ruta de acceso y el nombre de archivo que el sistema operativo utiliza cuando se crea el archivo.Is the path and file name used by the operating system when you create the file. El archivo debe residir en uno de los siguientes dispositivos: el servidor local en el que se ha instalado SQL ServerSQL Server, una red de área de almacenamiento (SAN) o una red basada en iSCSI.The file must reside on one of the following devices: the local server on which SQL ServerSQL Server is installed, a Storage Area Network [SAN], or an iSCSI-based network. La ruta de acceso especificada debe existir antes de ejecutar la instrucción CREATE DATABASE.The specified path must exist before executing the CREATE DATABASE statement. Para obtener más información, vea "Archivos y grupos de archivos de base de datos" en la sección Comentarios.For more information, see "Database Files and Filegroups" in the Remarks section.

Los parámetros SIZE, MAXSIZE y FILEGROWTH se pueden establecer si se ha especificado una ruta UNC para el archivo.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

Si el archivo se encuentra en una partición sin formato, os_file_name solo debe indicar la letra de unidad de una partición sin formato existente.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. Solo se puede crear un archivo de datos en cada partición sin procesar.Only one data file can be created on each raw partition.

Los archivos de datos no deben guardarse en sistemas de archivo comprimidos a menos que se trate de archivos secundarios de solo lectura o que la base de datos sea de solo lectura.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. Los archivos de registro no se deben almacenar en sistemas de archivos comprimidos.Log files should never be put on compressed file systems.

' filestream_path ' ' filestream_path '
Para un grupo de archivos FILESTREAM, FILENAME hace referencia a la ruta de acceso donde se almacenarán los datos FILESTREAM.For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. La ruta de acceso hasta la última carpeta debe existir y la última carpeta no debe existir.The path up to the last folder must exist, and the last folder must not exist. Por ejemplo, si especifica la ruta de acceso C:\MyFiles\MyFilestreamData, C:\MyFiles debe existir antes de ejecutar ALTER DATABASE, pero la carpeta MyFilestreamData no debe existir.For example, if you specify the path C:\MyFiles\MyFilestreamData, C:\MyFiles must exist before you run ALTER DATABASE, but the MyFilestreamData folder must not exist.

El grupo de archivos y el archivo (<filespec>) se deben crear en la misma instrucción.The filegroup and file (<filespec>) must be created in the same statement.

Las propiedades SIZE y FILEGROWTH no se aplican a un grupo de archivos FILESTREAM.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size SIZE size
Especifica el tamaño del archivo.Specifies the size of the file.

SIZE no se puede especificar si se especifica os_file_name como ruta UNC.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE no se aplica a un grupo de archivos FILESTREAM.SIZE does not apply to a FILESTREAM filegroup.

size size
Es el tamaño inicial del archivo.Is the initial size of the file.

Cuando no se suministra size para el archivo principal, Motor de base de datosDatabase Engine utiliza el tamaño del archivo principal de la base de datos modelo.When size is not supplied for the primary file, the Motor de base de datosDatabase Engine uses the size of the primary file in the model database. El tamaño predeterminado del modelo es de 8 MB (a partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o 1 MB (para versiones anteriores).The default size of model is 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). Cuando se especifica un archivo de datos secundario o un archivo de registro, pero no se especifica size para el archivo, Motor de base de datosDatabase Engine hace que el tamaño del archivo sea de 8 MB (a partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o 1 MB (para versiones anteriores).When a secondary data file or log file is specified, but size is not specified for the file, the Motor de base de datosDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). El tamaño especificado para el archivo principal debe tener al menos el tamaño del archivo principal de la base de datos model.The size specified for the primary file must be at least as large as the primary file of the model database.

Se pueden utilizar los sufijos kilobyte (KB), megabyte (MB), gigabyte (GB) o terabyte (TB).The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. El valor predeterminado es MB.The default is MB. Especifique un número entero; no incluya decimales.Specify a whole number; do not include a decimal. Size es un valor entero.Size is an integer value. Para valores mayores que 2147483647, utilice unidades más grandes.For values greater than 2147483647, use larger units.

MAXSIZE max_size MAXSIZE max_size
Especifica el tamaño máximo que puede alcanzar el archivo.Specifies the maximum size to which the file can grow. MAXSIZE no se puede especificar si se especifica os_file_name como ruta UNC.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size max_size
Es el tamaño máximo del archivo.Is the maximum file size. Se pueden utilizar los sufijos KB, MB, GB y TB.The KB, MB, GB, and TB suffixes can be used. El valor predeterminado es MB.The default is MB. Especifique un número entero; no incluya decimales.Specify a whole number; do not include a decimal. Si no se especifica max_size, el archivo aumenta de tamaño hasta que el disco esté lleno.If max_size is not specified, the file grows until the disk is full. Max_size es un valor entero.Max_size is an integer value. Para valores mayores que 2147483647, utilice unidades más grandes.For values greater than 2147483647, use larger units.

UNLIMITEDUNLIMITED
Especifica que el archivo crecerá hasta que el disco esté lleno.Specifies that the file grows until the disk is full. En SQL ServerSQL Server, si se especifica un crecimiento ilimitado para un archivo de registro, su tamaño máximo será de 2 TB, y para un archivo de datos será de 16 TB.In SQL ServerSQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.

Nota

No hay un tamaño máximo cuando esta opción se especifica para un contenedor de FILESTREAM.There is no maximum size when this option is specified for a FILESTREAM container. Continúa creciendo hasta que el disco se completa.It continues to grow until the disk is full.

FILEGROWTH growth_increment FILEGROWTH growth_increment
Especifica el incremento de crecimiento automático del archivo.Specifies the automatic growth increment of the file. El valor FILEGROWTH de un archivo no puede superar el valor MAXSIZE.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. FILEGROWTH no se puede especificar si se especifica os_file_name como ruta UNC.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH no se aplica a un grupo de archivos FILESTREAM.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment growth_increment
Es la cantidad de espacio que se agrega al archivo siempre que se necesita más espacio.Is the amount of space added to the file every time new space is required.

El valor se puede especificar en MB, KB, GB, TB o como porcentaje (%).The value can be specified in MB, KB, GB, TB, or percent (%). Si se especifica un número sin los sufijos MB, KB o %, el valor predeterminado es MB.If a number is specified without an MB, KB, or % suffix, the default is MB. Cuando se especifica %, el incremento de crecimiento es el porcentaje especificado del tamaño del archivo en el momento en que tiene lugar el incremento.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. El tamaño especificado se redondea al múltiplo de 64 KB más cercano y el valor mínimo es 64 KB.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

El valor 0 indica que el crecimiento automático está desactivado y no se permite más espacio.A value of 0 indicates that automatic growth is off and no additional space is allowed.

Si no se especifica FILEGROWTH, los valores predeterminados son:If FILEGROWTH is not specified, the default values are:

VersiónVersion Valores predeterminadosDefault values
A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) Datos: 64 MB.Data 64 MB. Archivos de registro: 64 MB.Log files 64 MB.
A partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x)Beginning SQL Server 2005 (9.x)SQL Server 2005 (9.x) Datos: 1 MB.Data 1 MB. Archivos de registro: 10 %.Log files 10%.
Antes de SQL Server 2005 (9.x)SQL Server 2005 (9.x)Prior to SQL Server 2005 (9.x)SQL Server 2005 (9.x) Datos: 10 %.Data 10%. Archivos de registro: 10 %.Log files 10%.

<filegroup><filegroup>
Controla las propiedades del grupo de archivos.Controls the filegroup properties. Filegroup no se puede especificar en una instantánea de base de datos.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name FILEGROUP filegroup_name
Es el nombre lógico del grupo de archivos.Is the logical name of the filegroup.

filegroup_name filegroup_name
filegroup_name debe ser único en la base de datos y no puede ser los nombres PRIMARY ni PRIMARY_LOG suministrados por el sistema.filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. El nombre puede ser una constante de caracteres o Unicode, o un identificador regular o delimitado.The name can be a character or Unicode constant, or a regular or delimited identifier. El nombre debe cumplir las reglas de los identificadores.The name must comply with the rules for identifiers.

CONTAINS FILESTREAMCONTAINS FILESTREAM
Especifica que el grupo de archivos almacena objetos binarios grandes (BLOB) de FILESTREAM en el sistema de archivos.Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

Se aplica a: de SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017

Especifica que el grupo de archivos almacena los datos memory_optimized en el sistema de archivos.Specifies that the filegroup stores memory_optimized data in the file system. Para obtener más información, vea OLTP en memoria (optimización en memoria).For more information, see In-Memory OLTP - In-Memory Optimization. Solo se admite un grupo de archivos MEMORY_OPTIMIZED_DATA por cada base de datos.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. Para que los ejemplos de código que crean un grupo de archivos almacenen datos optimizados para memoria, consulte Crear una tabla con optimización para memoria y un procedimiento almacenado compilado de forma nativa.For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULTDEFAULT
Especifica que el grupo de archivos indicado es el grupo de archivos predeterminado de la base de datos.Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name database_snapshot_name
Es el nombre de la nueva instantánea de base de datos.Is the name of the new database snapshot. Los nombres de instantánea de base de datos deben ser únicos dentro de una instancia de SQL ServerSQL Server y cumplir las reglas de los identificadores.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name puede tener un máximo de 128 caracteres.database_snapshot_name can be a maximum of 128 characters.

ON ( NAME = logical_file_name , FILENAME =' os_file_name ') [ , ... n ]ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]
Para la creación de una instantánea de base de datos, especifica una lista de archivos de la base de datos de origen.For creating a database snapshot, specifies a list of files in the source database. Para que la instantánea funcione, todos los archivos de datos deben especificarse individualmente.For the snapshot to work, all the data files must be specified individually. Sin embargo, no se permiten archivos de registro para las instantáneas de base de datos.However, log files are not allowed for database snapshots. Los grupos de archivos FILESTREAM no son compatibles con instantáneas de base de datos.FILESTREAM filegroups are not supported by database snapshots. Si se incluye un archivo de datos FILESTREAM en una cláusula CREATE DATABASE ON, se producirá un error en la instrucción y se generará el mensaje correspondiente.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

Para obtener las descripciones de NAME y FILENAME y sus valores, vea las descripciones de los valores equivalentes de <filespec>.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

Nota

Cuando se crea una instantánea de base de datos, no se admiten las demás opciones de <filespec> ni la palabra clave PRIMARY.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name Indica que la base de datos que se va a crear es una instantánea de base de datos de origen especificada en source_database_name.AS SNAPSHOT OF source_database_name Specifies that the database being created is a database snapshot of the source database specified by source_database_name. La instantánea y la base de datos de origen deben estar en la misma instancia.The snapshot and source database must be on the same instance.

Para obtener más información, vea Instantáneas de base de datos en la sección Notas.For more information, see Database Snapshots in the Remarks section.

NotasRemarks

Cada vez que se crea, modifica o quita una base de datos de usuario, se debe hacer una copia de seguridad de la base de datos maestra.The master database should be backed up whenever a user database is created, modified, or dropped.

La instrucción CREATE DATABASE se debe ejecutar en el modo de confirmación automática (modo de administración de transacciones predeterminado) y no se permite en una transacción explícita o implícita.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

Se puede usar una instrucción CREATE DATABASE para crear una base de datos y los archivos donde se almacena.You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server implementa la instrucción CREATE DATABASE de la siguiente manera:implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server utiliza una copia de la base de datos modelo para inicializar la base de datos y sus metadatos.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. Se asigna un GUID de Service Broker a la base de datos.A service broker GUID is assigned to the database.
  3. A continuación, el Motor de base de datosDatabase Engine rellena el resto de la base de datos con páginas vacías, excepto las páginas que tengan datos internos que registren cómo se emplea el espacio en la base de datos.The Motor de base de datosDatabase Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.

En una instancia de SQL ServerSQL Serverse pueden especificar 32.767 bases de datos como máximo.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

Cada base de datos tiene un propietario que puede realizar actividades especiales en ella.Each database has an owner that can perform special activities in the database. El propietario es el usuario que crea la base de datos.The owner is the user that creates the database. El propietario de la base de datos se puede cambiar utilizando sp_changedbowner.The database owner can be changed by using sp_changedbowner.

Algunas características de la base de datos dependen de características o capacidades que están en el sistema de archivos para que la base de datos funcione completamente.Some database features depend on features or capabilities present in the file system for full functionality of a database. Estos son algunos ejemplos de características que dependen de un conjunto de características del sistema de archivos:Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • Secuencia de archivosFileStream
  • Copias de seguridad en línea con VSS e instantáneas de archivosOnline backups using VSS and file snapshots
  • Creación de instantáneas de bases de datosDatabase snapshot creation
  • Grupo de archivos de datos optimizados para memoriaMemory Optimized Data filegroup

Archivos y grupos de archivos de base de datosDatabase Files and Filegroups

Todas las bases de datos tienen al menos dos archivos (un archivo principal y un archivo de registro de transacciones) y un grupo de archivos como mínimo.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. Para cada base de datos pueden especificarse hasta 32.767 archivos y 32.767 grupos de archivos.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

Cuando cree una base de datos, defina el mayor tamaño posible para los archivos de datos según la cantidad de datos máxima prevista para la base datos.When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database.

Se recomienda usar una red de área de almacenamiento (SAN), una red basada en iSCSI o un disco conectado localmente para almacenar los archivos de base de datos de SQL ServerSQL Server, porque esta configuración optimiza el rendimiento y la confiabilidad de SQL ServerSQL Server.We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL ServerSQL Server database files, because this configuration optimizes SQL ServerSQL Server performance and reliability.

Instantáneas de base de datosDatabase Snapshots

Se puede utilizar la instrucción CREATE DATABASE para crear una vista estática de solo lectura, es decir, una instantánea de la base de datos de origen.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. Desde el punto de vista transaccional, una instantánea de base de datos es coherente con la base de datos de origen tal como se encontraba en el momento de crear la instantánea.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. Una base de datos de origen puede tener varias instantáneas.A source database can have multiple snapshots.

Nota

Al crear una instantánea de base de datos, la instrucción CREATE DATABASE no puede hacer referencia a archivos de registro, archivos sin conexión, archivos de restauración ni archivos inactivos.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

Si se produce un error al crear una instantánea de base de datos, se sospecha de la instantánea y debe eliminarse.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. Para obtener más información, vea DROP DATABASE.For more information, see DROP DATABASE.

Las instantáneas se conservan hasta que se eliminan mediante DROP DATABASE.Each snapshot persists until it is deleted by using DROP DATABASE.

Para más información, vea Instantáneas de base de datos.For more information, see Database Snapshots.

Opciones de base de datosDatabase Options

Cuando se crea una base de datos, se establecen automáticamente varias opciones de base de datos.Several database options are automatically set whenever you create a database. Para obtener una lista de estas opciones, vea Opciones de ALTER DATABASE SET.For a list of these options, see ALTER DATABASE SET Options.

Base de datos modelo y creación de nuevas bases de datosThe model Database and Creating New Databases

Todos los objetos definidos por el usuario en la base de datos modelo se copiarán en todas las bases de datos recién creadas.All user-defined objects in the model database are copied to all newly created databases. Puede agregar a la base de datos model todos los objetos (tablas, vistas, procedimientos almacenados, tipos de datos, etc.) que desee incluir en todas las bases de datos creadas recientemente.You can add any objects, such as tables, views, stored procedures, data types, and so on, to the model database to be included in all newly created databases.

Al especificar una instrucción CREATE DATABASE <database_name> sin parámetros de tamaño adicionales, el archivo de datos principal pasa a tener el mismo tamaño que el archivo principal de la base de datos modelo.When a CREATE DATABASE <database_name> statement is specified without additional size parameters, the primary data file is made the same size as the primary file in the model database.

A menos que se especifique FOR ATTACH, todas las bases de datos nuevas heredan los valores de las opciones de la base de datos modelo.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. Por ejemplo, la opción de base de datos de reducción automática se establece en true en la base de datos model y en cualquier base de datos nueva que se cree.For example, the database option auto shrink is set to true in model and in any new databases you create. Si se cambian las opciones de la base de datos model, los nuevos valores de estas opciones se utilizarán en las nuevas bases de datos que se creen.If you change the options in the model database, these new option settings are used in any new databases you create. Las operaciones de modificación de la base de datos model no afectan a las bases de datos existentes.Changing operations in the model database does not affect existing databases. Si se especifica FOR ATTACH en la instrucción CREATE DATABASE, la nueva base de datos hereda los valores de las opciones de la base de datos original.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

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. Para obtener más información, vea Vistas del sistema.For more information, see System Views.

PermisosPermissions

Requiere el permiso CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Para mantener el control del uso del disco en una instancia de SQL ServerSQL Server, el permiso para crear bases de datos suele limitarse a un número reducido de cuentas de inicio de sesión.To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.

En el ejemplo siguiente se proporciona el permiso para crear una base de datos al usuario de base de datos Fay.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE DATABASE TO [Fay];
GO

Permisos en archivos de datos y de registroPermissions on Data and Log Files

En SQL ServerSQL Server, algunos permisos se establecen en los archivos de datos y de registro de cada base de datos.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. Siempre que se realizan las operaciones siguientes en una base de datos, se establecen estos permisos:The following permissions are set whenever the following operations are applied to a database:

CreadoCreated Modificada para agregar un nuevo archivoModified to add a new file
AdjuntadaAttached Realización de copia de seguridadBacked up
SeparadaDetached RestauradaRestored

Los permisos evitan que los archivos se modifiquen accidentalmente si residen en un directorio sin restricción de permisos.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

Nota

MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition no establece permisos en archivos de datos y de registro.SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

EjemplosExamples

A.A. Crear una base de datos sin especificar archivosCreating a database without specifying files

En este ejemplo se crea la base de datos mytest, y los archivos principal y de registro de transacciones correspondientes.The following example creates the database mytest and creates a corresponding primary and transaction log file. Debido a que la instrucción no tiene elementos <filespec>, el archivo de la base de datos principal tiene el tamaño del archivo principal de la base de datos model.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. El registro de transacciones se establece en el mayor de los valores siguientes: 512 KB o el 25 % del tamaño del archivo de datos principal.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. Como no se ha especificado MAXSIZE, los archivos pueden crecer hasta llenar todo el espacio disponible en el disco.Because MAXSIZE is not specified, the files can grow to fill all available disk space. En este ejemplo también se muestra la forma de quitar la base de datos denominada mytest si existe, antes de crear la base de datos mytest.This example also demonstrates how to drop the database named mytest if it exists, before creating the mytest database.

USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.B. Crear una base de datos que especifica los archivos de datos y de registro de transaccionesCreating a database that specifies the data and transaction log files

En el ejemplo siguiente se crea la base de datos Sales.The following example creates the database Sales. Debido a que no se usa la palabra clave PRIMARY, el primer archivo (Sales_dat) se convierte en el principal.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Como no se especifica MB ni KB en el parámetro SIZE del archivo Sales_dat , se utiliza MB y el tamaño se asigna en megabytes.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. Cada vez que se crea, modifica o quita una base de datos de usuario, se debe hacer una copia de seguridad de la base de datos Sales_log se asigna en megabytes porque el sufijo MB se ha indicado explícitamente en el parámetro SIZE .The Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

C.C. Crear una base de datos especificando múltiples archivos de datos y de registro de transaccionesCreating a database by specifying multiple data and transaction log files

En el ejemplo siguiente se crea la base de datos Archive, que tiene tres archivos de datos de 100-MB y dos archivos de registro de transacciones de 100-MB.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. El archivo principal es el primer archivo de la lista y se especifica explícitamente con la palabra clave PRIMARY.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. Los archivos de registro de transacciones se especifican a continuación de las palabras clave LOG ON.The transaction log files are specified following the LOG ON keywords. Tenga en cuenta las extensiones usadas para los archivos en la opción FILENAME: .mdf se usa para archivos de datos principales, .ndf para archivos de datos secundarios y .ldf para archivos de registro de transacciones.Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. En este ejemplo se coloca la base de datos en la unidad D:, en lugar de con la base de datos master.This example places the database on the D: drive instead of with the master database.

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
    (NAME = Arch1,
    FILENAME = 'D:\SalesData\archdat1.mdf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20)
LOG ON
  (NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
  (NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20) ;
GO

D.D. Crear una base de datos que tenga grupos de archivosCreating a database that has filegroups

En el ejemplo siguiente se crea la base de datos Sales, que tiene los siguientes grupos de archivos:The following example creates the database Sales that has the following filegroups:

  • El grupo de archivos principal, con los archivos Spri1_dat y Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. El incremento de FILEGROWTH para estos archivos se especifica como 15%.The FILEGROWTH increments for these files are specified as 15%.
  • Un grupo de archivos denominado SalesGroup1, con los archivos SGrp1Fi1 y SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • Un grupo de archivos denominado SalesGroup2, con los archivos SGrp2Fi1 y SGrp2Fi2.A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

En este ejemplo se colocan los archivos de datos y de registro en discos diferentes para mejorar el rendimiento.This example places the data and log files on different disks to improve performance.

USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = 'D:\SalesData\SPri1dat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = 'D:\SalesData\SPri2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'E:\SalesLog\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

E.E. Adjuntar una base de datosAttaching a database

En el ejemplo siguiente se separa la base de datos Archive creada en el ejemplo D y, a continuación, se adjunta mediante la cláusula FOR ATTACH.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive se ha definido para contener varios archivos de datos y de registro.Archive was defined to have multiple data and log files. Sin embargo, dado que la ubicación de los archivos no ha cambiado desde que se crearon, solo es necesario especificar el archivo principal en la cláusula FOR ATTACH.However, because the location of the files has not changed since they were created, only the primary file has to be specified in the FOR ATTACH clause. A partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x), los archivos de texto completo que formen parte de la base de datos que se va a adjuntar se adjuntarán con la base de datos.Beginning with SQL Server 2005 (9.x)SQL Server 2005 (9.x), any full-text files that are part of the database that is being attached will be attached with the database.

USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
      ON (FILENAME = 'D:\SalesData\archdat1.mdf')
      FOR ATTACH ;
GO

F.F. Crear una instantánea de base de datosCreating a database snapshot

En el ejemplo siguiente se crea la instantánea de base de datos sales_snapshot0600.The following example creates the database snapshot sales_snapshot0600. Debido a que la instantánea de base de datos es de solo lectura, no se puede especificar un archivo de registro.Because a database snapshot is read-only, a log file cannot be specified. De acuerdo con la sintaxis, se especifican todos los archivos de la base de datos de origen, pero los grupos de archivos no se especifican.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

La base de datos de origen en este ejemplo es la base de datos Sales creada en el ejemplo D.The source database for this example is the Sales database created in example D.

USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO

G.G. Crear una base de datos y especificar un nombre de intercalación y sus opcionesCreating a database and specifying a collation name and options

En el ejemplo siguiente se crea la base de datos MyOptionsTest.The following example creates the database MyOptionsTest. Se especifica un nombre de intercalación y las opciones TRUSTYWORTHY y DB_CHAINING se establecen en ON.A collation name is specified and the TRUSTYWORTHY and DB_CHAINING options are set to ON.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

H.H. Adjuntar un catálogo de texto completo que se ha movidoAttaching a full-text catalog that has been moved

En el ejemplo siguiente se adjunta el catálogo de texto completo AdvWksFtCat junto con los archivos de datos y de registro de AdventureWorks2012.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. En el ejemplo, el catálogo de texto completo se mueve desde su ubicación predeterminada hasta una nueva ubicación c:\myFTCatalogs.In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. Los archivos de datos y de registro permanecen en sus ubicaciones predeterminadas.The data and log files remain in their default locations.

USE master;
GO
--Detach the AdventureWorks2012 database
sp_detach_db AdventureWorks2012;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2012 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2012 ON
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_data.mdf'),
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'),
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO

I.I. Crear una base de datos que especifique un grupo de archivos de filas y dos grupos de archivos FILESTREAMCreating a database that specifies a row filegroup and two FILESTREAM filegroups

En el ejemplo siguiente se crea la base de datos FileStreamDB.The following example creates the FileStreamDB database. La base de datos se crea con un grupo de archivos de filas y dos grupos de archivos FILESTREAM.The database is created with one row filegroup and two FILESTREAM filegroups. Cada grupo de archivos contiene un archivo:Each filegroup contains one file:

  • FileStreamDB_data contiene los datos de fila.FileStreamDB_data contains row data. Contiene un archivo, FileStreamDB_data.mdf con la ruta de acceso predeterminada.It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos contiene los datos FILESTREAM.FileStreamPhotos contains FILESTREAM data. Contiene dos contenedores de datos FILESTREAM: FSPhotos, que se encuentra en C:\MyFSfolder\Photos, y FSPhotos2, que se encuentra en D:\MyFSfolder\Photos.It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. Se marca como el grupo de archivos FILESTREAM predeterminado.It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes contiene los datos FILESTREAM.FileStreamResumes contains FILESTREAM data. Contiene un contenedor de datos FILESTREAM, FSResumes, que se encuentra en C:\MyFSfolder\Resumes.It contains one FILESTREAM data container, FSResumes, located at C:\MyFSfolder\Resumes.
USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
                  FROM master.sys.master_files
                  WHERE database_id = 1 AND file_id = 1);

 -- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
    (
    NAME = FileStreamDB_data
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
    ,SIZE = 10MB
    ,MAXSIZE = 50MB
    ,FILEGROWTH = 15%
    ),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
    (
    NAME = FSPhotos
    ,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE and FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
, MAXSIZE = 5000 MB
    ),
    (
      NAME = FSPhotos2
      , FILENAME = ''D:\MyFSfolder\Photos''
      , MAXSIZE = 10000 MB
     ),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
    (
    NAME = FileStreamResumes
    ,FILENAME = ''C:\MyFSfolder\Resumes''
    )
LOG ON
    (
    NAME = FileStream_log
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
    ,SIZE = 5MB
    ,MAXSIZE = 25MB
    ,FILEGROWTH = 5MB
    )'
);
GO

J.J. Crear una base de datos que tenga un grupo de archivos FILESTREAM con varias filasCreating a database that has a FILESTREAM filegroup with multiple files

En el ejemplo siguiente se crea la base de datos BlobStore1.The following example creates the BlobStore1 database. La base de datos se crea con un grupo de archivos de filas y un grupo de archivos FILESTREAM, FS.The database is created with one row filegroup and one FILESTREAM filegroup, FS. El grupo de archivos FILESTREAM contiene dos archivos, FS1 y FS2.The FILESTREAM filegroup contains two files, FS1 and FS2. Después, la base de datos se altera agregando un tercer archivo, FS3, al grupo de archivos FILESTREAM.Then the database is altered by adding a third file, FS3, to the FILESTREAM filegroup.

USE master;
GO

CREATE DATABASE [BlobStore1]
CONTAINMENT = NONE
ON PRIMARY
(
    NAME = N'BlobStore1',
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
(  
    NAME = N'FS1',
    FILENAME = N'C:\BlobStore\FS1',
    MAXSIZE = UNLIMITED
),
(
    NAME = N'FS2',
    FILENAME = N'C:\BlobStore\FS2',
    MAXSIZE = 100MB
)
LOG ON
(
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 1MB
);
GO

ALTER DATABASE [BlobStore1]
ADD FILE
(
    NAME = N'FS3',
    FILENAME = N'C:\BlobStore\FS3',
    MAXSIZE = 100MB
)
TO FILEGROUP [FS];
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)

 

Grupo de bases de datos elásticas o base de datos única de Azure SQL DatabaseAzure SQL Database single database/elastic pool

Información generalOverview

En el grupo de bases de datos elásticas o la base de datos única de Base de datos SQL de AzureAzure SQL Database, esta instrucción puede utilizarse con un servidor Azure SQL Server para crear una base de datos única o una en un grupo elástico.In Base de datos SQL de AzureAzure SQL Database single database/elastic pool, this statement can be used with an Azure SQL server to create a single database or a database in an elastic pool. Con esta instrucción, se especifica el nombre de la base de datos, la intercalación, el tamaño máximo, la edición, el objetivo de servicio y, si corresponde, el grupo elástico para la nueva base de datos.With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. También puede usarse para crear la base de datos en un grupo elástico.It can also be used to create the database in an elastic pool. Además, puede utilizarse para crear una copia de la base de datos en otro servidor de SQL Database.Additionally, it can be used to create a copy of the database on another SQL Database server.

SintaxisSyntax

Crear una base de datosCreate a database

CREATE DATABASE database_name [ COLLATE collation_name ]
{
  (<edition_options> [, ...n])
}
[ WITH CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }]
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | ( EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale' }
  | 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'
      | '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'
      | '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>) } })
}

Copiar una base de datosCopy a database

CREATE DATABASE database_name
    AS COPY OF [source_server_name.] source_database_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'
      | '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'
      | '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>) } )
   ]
[;]

ArgumentosArguments

database_name database_name
El nombre de la nueva base de datos.The name of the new database. Este nombre debe ser único en el elemento SQL ServerSQL Server y debe cumplir las reglas de SQL ServerSQL Server para los identificadores.This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. Para obtener más información, consulte Identificadores.For more information, see Identifiers.

Collation_name Collation_name
Especifica la intercalación predeterminada de la base de datos.Specifies the default collation for the database. El nombre de intercalación 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, a la base de datos se le asigna la intercalación predeterminada, que es SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obtener más información sobre los nombres de intercalación de Windows y de SQL, consulte COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATIONCATALOG_COLLATION
Especifica la intercalación predeterminada del catálogo de metadatos.Specifies the default collation for the metadata catalog. DATABASE_DEFAULT especifica que el catálogo de metadatos usado para las vistas y las tablas del sistema se intercalará para coincidir con la intercalación predeterminada de la base de datos.DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. Este es el comportamiento en SQL Server.This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS especifica que el catálogo de metadatos usado para las tablas y vistas del sistema se intercalará en una intercalación fija SQL_Latin1_General_CP1_CI_AS.SQL_Latin1_General_CP1_CI_AS specifies that the metadata catalog used for system views and tables be collated to a fixed SQL_Latin1_General_CP1_CI_AS collation. Se trata de la configuración predeterminada en Azure SQL Database si no se especifica.This is the default setting on Azure SQL Database if unspecified.

EDITIONEDITION
Especifica el nivel de servicio de la base de datos.Specifies the service tier of the database.

Bases de datos únicas y agrupadas en un grupo elástico o una base de datos única.Single and pooled databases on a single database/elastic pool. Los valores disponibles son: "basic", "standard", "premium", "GeneralPurpose", "BusinessCritical" e "Hyperscale".The available values are: 'basic', 'standard', 'premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

MAXSIZEMAXSIZE
Especifica el tamaño máximo de la base de datos.Specifies the maximum size of the database. El valor de MAXSIZE debe ser válido para el valor de EDITION (nivel de servicio) especificado A continuación se indican los valores de MAXSIZE admitidos y los valores predeterminados (D) de los niveles de servicio.MAXSIZE must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

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 Hyperscale crecen según sea necesario, hasta 100 TB.Hyperscale 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 basado en DTU para bases de datos únicas y agrupadas en un servidor de SQL DatabaseDTU-based model for single and pooled databases on a SQL Database server

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 N/DN/A
400 GB400 GB N/DN/A N/DN/A
500 GB500 GB N/DN/A N/DN/A √ (D)√ (D)
750 GB750 GB N/DN/A N/DN/A
1024 GB1024 GB N/DN/A 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 basado en DTU, consulte DTU-based resource limits (Límites de recursos basados en DTU).For additional details regarding resource limitations for the DTU-based model, see DTU-based resource limits.

El valor MAXSIZE para el modelo basado en DTU, si se especifica, tiene que ser un valor válido según se muestra en la tabla anterior para el nivel de servicio especificado.The MAXSIZE value for the DTU-based model, if specified, has to be a valid value shown in the table above for the service tier specified.

Modelo basado en el núcleo virtualvCore-based model

Nivel de servicio de uso general: plataforma de procesos de 4.ª generación (parte 1)General Purpose service tier - Generation 4 compute platform (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

Nivel de servicio de uso general: plataforma de procesos de 4.ª generación (parte 2)General Purpose service tier - Generation 4 compute platform (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

Nivel de servicio de uso general: plataforma de procesos de 5.ª generación (parte 1)General Purpose service tier - Generation 5 compute platform (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

Nivel de servicio de uso general: plataforma de procesos de 5.ª generación (parte 2)General Purpose service tier - Generation 5 compute platform (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

Nivel de servicio crítico para la empresa: plataforma de procesos de 4.ª generación (parte 1)Business Critical service tier - Generation 4 compute platform (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

Nivel de servicio crítico para la empresa: plataforma de procesos de 4.ª generación (parte 2)Business Critical service tier - Generation 4 compute platform (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

Nivel de servicio crítico para la empresa: plataforma de procesos de 5.ª generación (parte 1)Business Critical service tier - Generation 5 compute platform (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

Nivel de servicio crítico para la empresa: plataforma de procesos de 5.ª generación (parte 2)Business Critical service tier - Generation 5 compute platform (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

Si no se establece ningún valor de MAXSIZE al utilizar el modelo de núcleo virtual, el valor predeterminado es 32 GB.If no MAXSIZE value is set when using the vCore model, the default is 32 GB. Para más información sobre las limitaciones de recursos para el modelo basado en núcleo virtual, vea Límites del modelo de compra basado en núcleos virtuales de Azure SQL Database para una base de datos única.For additional details regarding resource limitations for vCore-based model, see vCore-based 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 el valor de MAXSIZE no se especifica, este último se establece automáticamente en 250 MB.For example, if 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.

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, 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 y BC_Gen5_80.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, 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.

    • 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 obtener las descripciones de los objetivos de servicio y más información sobre las combinaciones de tamaño, ediciones y objetivos de servicio, vea ¿Qué son los niveles de servicio de Azure SQL Database?.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers. Si EDITION no admite el valor SERVICE_OBJECTIVE especificado, se devuelve un error.If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. Para cambiar el valor SERVICE_OBJECTIVE de un nivel a otro (por ejemplo, de S1 a P1), también debe cambiar el valor EDITION.To change the SERVICE_OBJECTIVE value from one tier to another (for example from S1 to P1), you must also change the EDITION value. 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, DTU-based resource limits (Límites de recursos basados en DTU) y vCore-based resource limits (Límites de recursos basados en 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-based resource limits and vCore-based 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.

ELASTIC_POOL (name = <elastic_pool_name>)ELASTIC_POOL (name = <elastic_pool_name>)
Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only. No se aplica a bases de datos en el nivel de servicio Hyperscale.Does not apply to databases in the Hyperscale service tier. Para crear una base de datos en un grupo de bases de datos elásticas, establezca el valor SERVICE_OBJECTIVE de la base de datos en ELASTIC_POOL e indique el nombre del grupo.To create a new database in an elastic database pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the pool. 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.

AS COPY OF [source_server_name.]source_database_nameAS COPY OF [source_server_name.]source_database_name
Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only. Para copiar una base de datos al mismo o a otro servidor de SQL DatabaseSQL Database.For copying a database to the same or a different SQL DatabaseSQL Database server.

source_server_name source_server_name
El nombre del servidor SQL DatabaseSQL Database donde está ubicada la base de datos de origen.The name of the SQL DatabaseSQL Database server where the source database is located. Este parámetro es opcional cuando la base de datos de origen y la de destino van a estar ubicadas en el mismo servidor SQL DatabaseSQL Database.This parameter is optional when the source database and the destination database are to be located on the same SQL DatabaseSQL Database server.

Nota

El argumento AS COPY OF no admite nombres de dominio únicos completos.The AS COPY OF argument does not support the fully qualified unique domain names. En otras palabras, si el nombre de dominio completo del servidor es serverName.database.windows.net, utilice solo serverName durante la copia de la base de datos.In other words, if your server's fully qualified domain name is serverName.database.windows.net, use only serverName during database copy.

source_database_namesource_database_name

El nombre de la base de datos que se va a copiar.The name of the database that is to be copied.

NotasRemarks

Las bases de datos de Base de datos SQL de AzureAzure SQL Database tienen varios parámetros predeterminados que se establecen al crear la base de datos.Databases in Base de datos SQL de AzureAzure SQL Database have several default settings that are set when the database is created. Para obtener más información sobre estos parámetros predeterminados, consulte la lista de valores de DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE proporciona la capacidad de limitar el tamaño de la base de datos.MAXSIZE provides the ability to limit the size of the database. Si el tamaño de la base de datos alcanza el valor MAXSIZE, se le mostrará el código de error 40544.If the size of the database reaches its MAXSIZE, you receive error code 40544. Cuando esto sucede, no es posible insertar ni actualizar datos, ni tampoco crear nuevos objetos (como tablas, procedimientos almacenados, vistas y funciones).When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). Sin embargo, todavía puede leer y eliminar datos, truncar tablas, quitar tablas e índices, y volver a generar índices.However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. Seguidamente, puede actualizar MAXSIZE a un valor mayor que el tamaño actual de la base de datos o eliminar algunos datos para liberar espacio de almacenamiento.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Puede haber un retraso de hasta quince minutos antes de que pueda insertar nuevos datos.There may be as much as a fifteen-minute delay before you can insert new data.

Para cambiar los valores de tamaño, edición u objetivo de servicio, use ALTER DATABASE - Azure SQL Database.To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

El argumento CATALOG_COLLATION solo está disponible durante la creación de la base de datos.The CATALOG_COLLATION argument is only available during database creation.

Copias de la base de datosDatabase Copies

Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only.

La copia de una base de datos mediante la instrucción CREATE DATABASE es una operación asincrónica.Copying a database using the CREATE DATABASE statement is an asynchronous operation. Por tanto, no es necesaria una conexión con el servidor SQL DatabaseSQL Database durante todo el proceso de copia.Therefore, a connection to the SQL DatabaseSQL Database server is not needed for the full duration of the copy process. La instrucción CREATE DATABASE devuelve el control al usuario una vez que se crea la entrada en sys.databases, pero antes de que se complete la operación de copia de la base de datos.The CREATE DATABASE statement returns control to the user after the entry in sys.databases is created but before the database copy operation is complete. Es decir, la instrucción CREATE DATABASE vuelve correctamente cuando la copia de la base de datos aún está en curso.In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • Supervisión del proceso de copia en un servidor de SQL DatabaseSQL Database: Consulte las columnas percentage_complete o replication_state_desc de dm_database_copies o la columna state en la vista sys.databases.Monitoring the copy process on an SQL DatabaseSQL Database server: Query the percentage_complete or replication_state_desc columns in the dm_database_copies or the state column in the sys.databases view. También se puede usar la vista sys.dm_operation_status, ya que devuelve el estado de las operaciones de la base de datos, incluida la copia de esta.The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

Cuando se completa correctamente el proceso de copia, la base de datos de destino es transaccionalmente coherente con la base de datos de origen.At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

Se aplican las siguientes reglas semánticas y de sintaxis al uso del argumento AS COPY OF:The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • El nombre del servidor de origen y el nombre del servidor del destino de la copia pueden ser iguales o diferentes.The source server name and the server name for the copy target may be the same or different. Si son iguales, este parámetro es opcional y se usa el contexto de servidor de la sesión actual de forma predeterminada.When they are the same, this parameter is optional and the server context of the current session is used by default.
  • Los nombres de las bases de datos de origen y de destino deben especificarse, ser únicos y ajustarse a las reglas de SQL ServerSQL Server para los identificadores.The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. Para obtener más información, consulte Identificadores.For more information, see Identifiers.
  • La instrucción CREATE DATABASE debe ejecutarse dentro del contexto de la base de datos maestra del servidor SQL DatabaseSQL Database donde se creará la nueva base de datos.The CREATE DATABASE statement must be executed within the context of the master database of the SQL DatabaseSQL Database server where the new database will be created.
  • Una vez finalizada la copia, la base de datos de destino debe administrarse como una base de datos independiente.After the copying completes, the destination database must be managed as an independent database. Puede ejecutar las instrucciones ALTER DATABASE y DROP DATABASE en la nueva base de datos de forma independiente de la base de datos de origen.You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. También puede copiar la nueva base de datos en otra base de datos nueva.You can also copy the new database to another new database.
  • Se puede seguir teniendo acceso a la base de datos de origen mientras la copia de la base de datos está en curso.The source database may continue to be accessed while the database copy is in progress.

Para obtener más información, consulte Crear una copia de una base de datos de SQL Azure mediante Transact-SQL.For more information, see Create a copy of an Azure SQL database using Transact-SQL.

PermisosPermissions

Para crear una base de datos, el inicio de sesión debe ser uno de los siguientes:To create a database, a login must be one of the following:

  • El inicio de sesión de entidad de seguridad a nivel de servidorThe server-level principal login
  • El administrador de Azure AD para el Azure SQL Server localThe Azure AD administrator for the local Azure SQL Server
  • El inicio de sesión de un miembro del rol de base de datos dbmanagerA login that is a member of the dbmanager database role

Requisitos adicionales para usar la sintaxis CREATE DATABASE ... AS COPY OF: el inicio de sesión que ejecute la instrucción en el servidor local debe tener también al menos el rol de db_owner en el servidor de origen.Additional requirements for using CREATE DATABASE ... AS COPY OF syntax: The login executing the statement on the local server must also be at least the db_owner on the source server. Si el inicio de sesión se basa en la autenticación de SQL ServerSQL Server, el inicio de sesión que ejecute la instrucción en el servidor local debe tener un inicio de sesión correspondiente en el servidor de origen de SQL DatabaseSQL Database, con un nombre y una contraseña idénticos.If the login is based on SQL ServerSQL Server authentication, the login executing the statement on the local server must have a matching login on the source SQL DatabaseSQL Database server, with an identical name and password.

EjemplosExamples

Ejemplo sencilloSimple Example

Un ejemplo sencillo para crear una base de datos.A simple example for creating a database.

CREATE DATABASE TestDB1;

Ejemplo sencillo con EditionSimple Example with Edition

Un ejemplo sencillo para crear una base de datos de uso general.A simple example for creating a general purpose database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

Ejemplo con opciones adicionalesExample with Additional Options

Un ejemplo en el que se usan varias opciones.An example using multiple options.

CREATE DATABASE hito
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS
( MAXSIZE = 500 MB, EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_GEN4_8' ) ;

Crear una copiaCreating a Copy

Un ejemplo en el que se crea una copia de una base de datos.An example creating a copy of a database.

Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

Crear una base de datos en un grupo elásticoCreating a Database in an Elastic Pool

Crea una nueva base de datos en un grupo denominado S3M100:Creates new database in pool named S3M100:

Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only.

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;

Crear una copia de una base de datos en otro servidorCreating a Copy of a Database on Another Server

En el siguiente ejemplo se crea una copia de la base de datos db_original, denominada db_copy, en el nivel de rendimiento P2 para una única base de datos.The following example creates a copy of the db_original database, named db_copy in the P2 performance level for a single database. Esto es válido independientemente de si db_original está en un grupo elástico o un nivel de rendimiento para una única base de datos.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database.

Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );

En el siguiente ejemplo se crea una copia de la base de datos db_original, denominada db_copy, en un grupo elástico llamado ep1.The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. Esto es válido independientemente de si db_original está en un grupo elástico o un nivel de rendimiento para una única base de datos.This is true regardless of whether db_original is in an elastic pool or a performance level for a single database. Si db_original está en un grupo elástico con un nombre distinto, db_copy se sigue creando en ep1.If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

Se aplica a: Solo bases de datos únicas y agrupadas.Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original
  (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

Crear una base de datos con un valor de intercalación de catálogo especificadoCreate database with specified catalog collation value

En el siguiente ejemplo se establece la intercalación de catálogo en DATABASE_DEFAULT durante la creación de la base de datos, lo que establece la intercalación de catálogo como la misma que la intercalación de base de datos.The following example sets the catalog collation to DATABASE_DEFAULT during database creation, which sets the catalog collation to be the same as the database collation.

CREATE DATABASE TestDB3 COLLATE Japanese_XJIS_140 (MAXSIZE = 100 MB, EDITION = 'basic')
  WITH CATALOG_COLLATION = DATABASE_DEFAULT

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)

 

Instancia administrada de Azure SQL DatabaseAzure SQL Database Managed Instance

Información generalOverview

En Instancia administrada de Azure SQL Database, esta instrucción se utiliza para crear una base de datos.In Azure SQL Database Managed Instance, this statement is used to create a database. Al crear una base de datos en una instancia administrada, especifique el nombre de la base de datos y la intercalación.When creating a database on a managed instance, you specify the database name and collation.

SintaxisSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

Importante

Para agregar archivos o establecer la independencia de una base de datos en una instancia administrada, use la instrucción ALTER DATABASE.To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

ArgumentosArguments

database_name database_name
El nombre de la nueva base de datos.The name of the new database. Este nombre debe ser único en el servidor SQL Server y debe cumplir las reglas de SQL ServerSQL Server para los identificadores.This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. Para obtener más información, consulte Identificadores.For more information, see Identifiers.

Collation_name Collation_name
Especifica la intercalación predeterminada de la base de datos.Specifies the default collation for the database. El nombre de intercalación 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, a la base de datos se le asigna la intercalación predeterminada, que es SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obtener más información sobre los nombres de intercalación de Windows y de SQL, consulte COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

NotasRemarks

Las bases de datos de Base de datos SQL de AzureAzure SQL Database tienen varios parámetros predeterminados que se establecen al crear la base de datos.Databases in Base de datos SQL de AzureAzure SQL Database have several default settings that are set when the database is created. Para obtener más información sobre estos parámetros predeterminados, consulte la lista de valores de DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

Importante

La instrucción CREATE DATABASE debe ser la única de un lote Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

Estas son limitaciones CREATE DATABASE:The following are CREATE DATABASE limitations:

  • No se pueden definir archivos y grupos de archivos.Files and filegroups cannot be defined.

  • No se admiten las opciones WITH.WITHoptions are not supported.

    Sugerencia

    Como solución alternativa, use ALTER DATABASE.As workaround, use ALTER DATABASE. después de CREATE DATABASE para establecer opciones de base de datos y para agregar archivos.after CREATE DATABASE to set database options and to add files.

PermisosPermissions

Para crear una base de datos, el inicio de sesión debe ser uno de los siguientes:To create a database, a login must be one of the following:

  • El inicio de sesión de entidad de seguridad a nivel de servidorThe server-level principal login
  • El administrador de Azure AD para el Azure SQL Server localThe Azure AD administrator for the local Azure SQL Server
  • El inicio de sesión de un miembro del rol de base de datos dbcreatorA login that is a member of the dbcreator database role

EjemplosExamples

Ejemplo sencilloSimple Example

Un ejemplo sencillo para crear una base de datos.A simple example for creating a database.

CREATE DATABASE TestDB1;

Vea tambiénSee also

Consulte ALTER DATABASESee ALTER DATABASE

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)

 

Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse

Información generalOverview

En Azure SQL Data Warehouse, esta instrucción puede utilizarse con un servidor de Azure SQL Database para crear una base de datos de SQL Data Warehouse.In Azure SQL Data Warehouse, this statement can be used with an Azure SQL Database server to create a SQL Data Warehouse database. Con esta instrucción, especifica el nombre de la base de datos, la intercalación, el tamaño máximo, la edición y el objetivo de servicio.With this statement, you specify the database name, collation, maximum size, edition, and service objective.

SintaxisSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
(
    [ MAXSIZE = {
          250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 | 30720
        | 40960 | 51200 | 61440 | 71680 | 81920 | 92160 | 102400
        | 153600 | 204800 | 245760
      } GB ,
    ]
    EDITION = 'datawarehouse',
    SERVICE_OBJECTIVE = {
         'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' | 'DW600'
        | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000' | 'DW3000' | 'DW6000'
        |'DW100c' | 'DW200c' | 'DW300c' | 'DW400c' | 'DW500c'
        | 'DW1000c' | 'DW1500c' | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c'
        | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
    }
)
[;]

ArgumentosArguments

database_name database_name
El nombre de la nueva base de datos.The name of the new database. Este nombre debe ser único en el servidor SQL, que puede hospedar tanto bases de datos de Base de datos SQL de AzureAzure SQL Database como de Almacenamiento de datos SQLSQL Data Warehouse, y cumplir con las reglas de SQL ServerSQL Server para identificadores.This name must be unique on the SQL server, which can host both Base de datos SQL de AzureAzure SQL Database databases and Almacenamiento de datos SQLSQL Data Warehouse databases, and comply with the SQL ServerSQL Server rules for identifiers. Para obtener más información, consulte Identificadores.For more information, see Identifiers.

collation_name collation_name
Especifica la intercalación predeterminada de la base de datos.Specifies the default collation for the database. El nombre de intercalación 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, a la base de datos se le asigna la intercalación predeterminada, que es SQL_Latin1_General_CP1_CI_AS.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Para obtener más información sobre los nombres de intercalación de Windows y SQL, consulte COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION EDITION
Especifica el nivel de servicio de la base de datos.Specifies the service tier of the database. Para Almacenamiento de datos SQLSQL Data Warehouse, use "datawarehouse".For Almacenamiento de datos SQLSQL Data Warehouse use 'datawarehouse'.

MAXSIZE MAXSIZE
El valor predeterminado es 245 760 GB (240 TB).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 agrupado no pueden superar el valor de 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 stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVESERVICE_OBJECTIVE
Especifica el nivel de rendimiento.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).

Notas generalesGeneral Remarks

Use DATABASEPROPERTYEX para ver las propiedades de la base de datos.Use DATABASEPROPERTYEX to see the database properties.

Use ALTER DATABASE - Azure SQL Data Warehouse para cambiar el tamaño máximo o los valores de objetivo de servicio más adelante.Use ALTER DATABASE - Azure SQL Data Warehouse to change the max size, or service objective values later.

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.

PermisosPermissions

Permisos necesarios:Required permissions:

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

Tratamiento de erroresError Handling

Si el tamaño de la base de datos alcanza el valor de MAXSIZE, recibirá el código de error 40544.If the size of the database reaches MAXSIZE you will receive error code 40544. Cuando esto sucede, no es posible insertar ni actualizar datos, ni tampoco crear nuevos objetos (como tablas, procedimientos almacenados, vistas y funciones).When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). Sin embargo, todavía puede leer y eliminar datos, truncar tablas, quitar tablas e índices, y recompilar índices.You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. Seguidamente, puede actualizar MAXSIZE a un valor mayor que el tamaño actual de la base de datos o eliminar algunos datos para liberar espacio de almacenamiento.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Puede haber un retraso de hasta quince minutos antes de que pueda insertar nuevos datos.There may be as much as a fifteen-minute delay before you can insert new data.

Limitaciones y restriccionesLimitations and Restrictions

Debe estar conectado a la base de datos maestra para crear una base de datos.You must be connected to the master database to create a new database.

La instrucción CREATE DATABASE debe ser la única de un lote Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

No se puede cambiar la intercalación de base de datos una vez creada la base de datos.You cannot change the database collation after the database is created.

Ejemplos: Almacenamiento de datos SQL de AzureAzure SQL Data WarehouseExamples: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse

A.A. Ejemplo sencilloSimple example

Un ejemplo sencillo de cómo crear una base de datos de almacenamiento de datos.A simple example for creating a data warehouse database. De esta forma se crea la base de datos con el tamaño más pequeño, 10 240 GB, la intercalación predeterminada, SQL_Latin1_General_CP1_CI_AS, y la potencia de proceso más reducida, DW100.This creates the database with the smallest max size which is 10240 GB, the default collation which is SQL_Latin1_General_CP1_CI_AS, and the smallest compute power which is DW100.

CREATE DATABASE TestDW
(EDITION = 'datawarehouse', SERVICE_OBJECTIVE='DW100');

B.B. Crear una base de datos de almacenamiento de datos con todas las opcionesCreate a data warehouse database with all the options

Un ejemplo de cómo crear un almacenamiento de datos de 10 terabytes usando todas las opciones.An example of creating a 10 terabyte data warehouse using all the options.

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS
(MAXSIZE = 10240 GB, EDITION = 'datawarehouse', SERVICE_OBJECTIVE = 'DW1000');

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) *

 

Sistema de la plataforma de análisisAnalytics Platform System

Información generalOverview

En Analytics Platform System, esta instrucción se utiliza para crear una nueva base de datos en un dispositivo de Analytics Platform System.In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. Use esta instrucción para crear todos los archivos asociados con una base de datos del dispositivo y para establecer las opciones de crecimiento automático y de tamaño máximo de las tablas de base de datos y del registro de transacciones.Use this statement to create all files associated with an appliance database and to set maximum size and auto-growth options for the database tables and transaction log.

SintaxisSyntax

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[;]

ArgumentosArguments

database_name database_name
El nombre de la nueva base de datos.The name of the new database. Para más información sobre los nombres de base de datos permitidos, vea las secciones sobre las reglas de nomenclatura de objetos y sobre los nombres reservados de base de datos en la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF AUTOGROW = ON | OFF
Especifica si los parámetros replicated_size, distributed_size y log_size de esta base de datos van a crecer automáticamente según sea necesario y más allá de sus tamaños establecidos.Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. El valor predeterminado es OFF.Default value is OFF.

Si AUTOGROW se establece en ON, replicated_size, distributed_size y log_size aumentarán según sea necesario (no en bloques con el tamaño inicial especificado) con cada inserción de datos, actualización u otra acción que requiera más almacenamiento del que ya hay asignado.If AUTOGROW is ON, replicated_size, distributed_size, and log_size will grow as required (not in blocks of the initial specified size) with each data insert, update, or other action that requires more storage than has already been allocated.

Si AUTOGROW se establece en OFF, el tamaño no aumentará automáticamente.If AUTOGROW is OFF, the sizes will not grow automatically. Almacenamiento de datos paralelosParallel Data Warehouse devolverá un error si se intenta realizar una acción que requiera que replicated_size, distributed_size o log_size aumenten por encima de su valor especificado.will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

AUTOGROW se establece en ON o en OFF invariablemente para todos los tamaños.AUTOGROW is either ON for all sizes or OFF for all sizes. Por ejemplo, no es posible establecer AUTOGROW en ON para log_size y no establecerlo para replicated_size.For example, it is not possible to set AUTOGROW ON for log_size, but not set it for replicated_size.

replicated_size [ GB ]replicated_size [ GB ]
Un número positivo.A positive number. Establece el tamaño (en gigabytes en forma de número entero o con decimales) del espacio total asignado a las tablas replicadas y a los datos correspondientes en cada nodo de ejecución.Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. Para conocer los requisitos mínimos y máximos de replicated_size, vea la sección sobre valores mínimos y máximos de la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

Si AUTOGROW está establecido en ON, las tablas replicadas podrán crecer más allá de este límite.If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

Si AUTOGROW está establecido en OFF, se devolverá un error si un usuario intenta crear una tabla replicada, insertar datos en una tabla replicada ya existente o actualizar una tabla replicada ya existente de forma que pueda aumentar el tamaño más allá de replicated_size.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new replicated table, insert data into an existing replicated table, or update an existing replicated table in a manner that would increase the size beyond replicated_size.

distributed_size [ GB ]distributed_size [ GB ]
Un número positivo.A positive number. Se trata del tamaño (en gigabytes en forma de número entero o con decimales) del espacio total asignado a las tablas distribuidas (y a los datos correspondientes) en todo el dispositivo.The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. Para conocer los requisitos mínimos y máximos de distributed_size, vea la sección sobre valores mínimos y máximos de la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

Si AUTOGROW está establecido en ON, las tablas distribuidas podrán crecer más allá de este límite.If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

Si AUTOGROW está establecido en OFF, se devolverá un error si un usuario intenta crear una tabla distribuida, insertar datos en una tabla distribuida ya existente o actualizar una tabla distribuida ya existente de forma que pueda aumentar el tamaño más allá de distributed_size.If AUTOGROW is OFF, an error will be returned if a user attempts to create a new distributed table, insert data into an existing distributed table, or update an existing distributed table in a manner that would increase the size beyond distributed_size.

log_size [ GB ]log_size [ GB ]
Un número positivo.A positive number. Se trata del tamaño (en gigabytes en forma de número entero o con decimales) del registro de transacciones en todo el dispositivo.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

Para conocer los requisitos mínimos y máximos de log_size, vea la sección sobre valores mínimos y máximos de la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

Si AUTOGROW está establecido en ON, el archivo de registro podrá crecer más allá de este límite.If AUTOGROW is ON, the log file is permitted to grow beyond this limit. Use la instrucción DBCC SHRINKLOG (Azure SQL Data Warehouse) para reducir el tamaño de los archivos de registro a su tamaño original.Use the DBCC SHRINKLOG (Azure SQL Data Warehouse) statement to reduce the size of the log files to their original size.

Si AUTOGROW está establecido en OFF, se devolverá un error al usuario si intenta realizar cualquier acción que suponga aumentar el tamaño del registro más allá de log_size en un nodo de ejecución concreto.If AUTOGROW is OFF, an error will be returned to the user for any action that would increase the log size on an individual Compute node beyond log_size.

PermisosPermissions

Requiere el permiso CREATE ANY DATABASE en la base de datos maestra o pertenecer al rol fijo de servidor sysadmin.Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

En el ejemplo siguiente se proporciona el permiso para crear una base de datos al usuario de base de datos Fay.The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO

Notas generalesGeneral Remarks

Las bases de datos se crean con el nivel de compatibilidad de base de datos 120, que es el nivel de compatibilidad de SQL Server 2014 (12.x)SQL Server 2014 (12.x).Databases are created with database compatibility level 120, which is the compatibility level for SQL Server 2014 (12.x)SQL Server 2014 (12.x). De este modo, se asegura que la base de datos podrá usar toda la funcionalidad de SQL Server 2014 (12.x)SQL Server 2014 (12.x) que PDW usa.This ensures the database will be able to use all of the SQL Server 2014 (12.x)SQL Server 2014 (12.x) functionality that PDW uses.

Limitaciones y restriccionesLimitations and Restrictions

La instrucción CREATE DATABASE no se puede usar en una transacción explícita.The CREATE DATABASE statement is not allowed in an explicit transaction. Para más información, vea Statements (Instrucciones).For more information, see Statements.

Para más información sobre las limitaciones mínimas y máximas en las bases de datos, vea la sección sobre valores mínimos y máximos de la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

En el momento en que se cree una base de datos, debe haber suficiente espacio libre disponible en cada nodo de ejecución que permita asignar el total combinado de los siguientes tamaños:At the time a database is created, there must be enough available free space on each Compute node to allocate the combined total of the following sizes:

  • Base de datos de SQL ServerSQL Server con tablas que tengan el tamaño de replicated_table_size.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • Base de datos de SQL ServerSQL Server con tablas que tengan un tamaño de (distributed_table_size/número de nodos de ejecución).SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • Registros de SQL ServerSQL Server que tengan un tamaño de (log_size/número de nodos de ejecución).SQL ServerSQL Server logs the size of (log_size / number of Compute nodes).

BloqueoLocking

Toma un bloqueo compartido en el objeto DATABASE.Takes a shared lock on the DATABASE object.

MetadatosMetadata

Después de que esta operación se realice correctamente, aparecerá una entrada relativa a esta base de datos en las vistas de metadatos sys.databases y sys.objects.After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

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

A.A. Ejemplos básicos de creación de base de datosBasic database creation examples

En el siguiente ejemplo se crea la base de datos mytest con una asignación de almacenamiento de 100 GB por nodo de ejecución para las tablas replicadas, 500 GB por dispositivo para las tablas distribuidas y 100 GB por dispositivo para el registro de transacciones.The following example creates the database mytest with a storage allocation of 100 GB per Compute node for replicated tables, 500 GB per appliance for distributed tables, and 100 GB per appliance for the transaction log. En este ejemplo, AUTOGROW está desactivado de forma predeterminada.In this example, AUTOGROW is off by default.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

En el siguiente ejemplo se crea la base de datos mytest con los mismos parámetros que el anterior, excepto que AUTOGROW está activado.The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. Esto permite que la base de datos crezca fuera de los parámetros de tamaño especificado.This allows the database to grow outside the specified size parameters.

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B.B. Crear una base de datos con tamaños de gigabyte parcialesCreating a database with partial gigabyte sizes

En el siguiente ejemplo se crea la base de datos mytest con AUTOGROW desactivado y con una asignación de almacenamiento de 1,5 GB por nodo de ejecución para las tablas replicadas, 5,25 GB por dispositivo para las tablas distribuidas y 10 GB por dispositivo para el registro de transacciones.The following example creates the database mytest, with AUTOGROW off, a storage allocation of 1.5 GB per Compute node for replicated tables, 5.25 GB per appliance for distributed tables, and 10 GB per appliance for the transaction log.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);

Consulte tambiénSee Also