Compartir a través de


CREATE DATABASE (Base de datos SQL de Azure)

Crea una nueva base de datos. Debe estar conectado a la base de datos maestra para crear una base de datos.

Se aplica a: Base de datos SQL de Azure. Para obtener la sintaxis relacionada con SQL Server, vea CREATE DATABASE (Transact-SQL de SQL Server).

Sintaxis

CREATE DATABASE database_name [ COLLATE collation_name ]
{
   (<edition_options> [, ...n]) 
}

<edition_options> ::= 
{
      MAXSIZE = { 100 MB | 500 MB | 1 | 5 | 10 | 20 | 30 … 150…500 } GB  
    | EDITION = { 'web' | 'business' | 'basic' | 'standard' | 'premium' } 
    | SERVICE_OBJECTIVE = { 'shared' | 'basic' | 'S0' | 'S1' | 'S2' | 'P1' | 'P2' | 'P3' } 
}
[;]

To copy a database:
CREATE DATABASE destination_database_name
     AS COPY OF [source_server_name.] source_database_name
[;]

Argumentos

Este diagrama de sintaxis muestra los argumentos admitidos en Base de datos SQL de Azure.

  • database_name
    El nombre de la nueva base de datos. Este nombre debe ser único en el servidor Base de datos SQL y debe cumplir las reglas de SQL Server para los identificadores. Para obtener más información, vea Identificadores de base de datos.

  • Collation_name
    Especifica la intercalación predeterminada de la base de datos. El nombre de intercalación puede ser un nombre de intercalación de Windows o un nombre de intercalación de SQL. Si no se especifica, a la base de datos se le asigna la intercalación predeterminada, que es SQL_Latin1_General_CP1_CI_AS.

    Para obtener más información acerca de los nombres de intercalación de Windows y de SQL, vea COLLATE (Transact-SQL).

  • EDITION
    Especifica el nivel de servicio de la base de datos. Los valores disponibles son: 'web', 'business', 'basic', 'standard' y 'premium'.

    Si se especifica EDITION pero no se especifica MAXSIZE, este se establecerá en el tamaño más restrictivo que admita la edición.

  • MAXSIZE
    Especifica el tamaño máximo de la base de datos. 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

    Web

    Negocio

    Basic

    Standard

    Premium

    100 MB

    500 MB

    1 GB

    √ (D)

    2 GB

    √ (D)

    5 GB

    10 GB

    √ (D)

    20 GB

    30 GB

    40 GB

    50 GB

    100 GB

    150 GB

    200 GB

    250 GB

    √ (D)

    300 GB

    400 GB

    500 GB

    √ (D)

    Las reglas siguientes se aplican a los argumentos MAXSIZE y EDITION:

    • El valor de MAXSIZE, si se especifica, tiene que ser un valor válido mostrado en la tabla anterior.

    • Si MAXSIZE está establecido en un valor menor que 5 GB y EDITION no se especifica, la edición de la base de datos se establecerá automáticamente en Web.

    • Si MAXSIZE está establecido en un valor mayor que 5 GB y EDITION no se especifica, la edición de la base de datos se establecerá automáticamente en Business.

    • Si se especifica EDITION pero no se especifica MAXSIZE, se usa el valor predeterminado de la edición. Por ejemplo, si EDITION está establecido en Standard y MAXSIZE no se especifica, el valor de MAXSIZE se establece automáticamente en 500 MB.

    • Si no se especifica MAXSIZE ni EDITION, EDITION se establece en Web y MAXSIZE en 1 GB.

  • SERVICE_OBJECTIVE
    Especifica el nivel de rendimiento. 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, vea Niveles de servicio y niveles de rendimiento de la Base de datos SQL de Azure. Si EDITION no admite el valor SERVICE_OBJECTIVE especificado, se devuelve un error.

  • destination_database_name
    El nombre de la base de datos creada por la copia de la base de datos. Este nombre debe ser único en el servidor Base de datos SQL (de destino) y debe cumplir las reglas de SQL Server para los identificadores. Para obtener más información, vea Identificadores de base de datos.

  • AS COPY OF [source_server_name.]source_database_name
    Para copiar una base de datos al mismo o a otro servidor de Base de datos SQL.

    Nota

    AS COPY OF no se puede usar con ningún otro argumento CREATE DATABASE.

    • source_server_name
      El nombre del servidor Base de datos SQL donde está ubicada la base de datos de origen. Este parámetro es opcional cuando la base de datos de origen y la de destino van a estar ubicadas en el mismo servidor Base de datos SQL.

      Nota: El argumento AS COPY OF no admite nombres de dominio únicos completos. 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.

    • source_database_name
      El nombre de la base de datos que se va a copiar.

Base de datos SQL de Azure no admite los argumentos y las opciones siguientes al utilizar la instrucción CREATE DATABASE:

  • Los parámetros relacionados con la ubicación física del archivo, como <filespec> y <filegroup>

  • Las opciones de acceso externo, como DB_CHAINING y TRUSTWORTHY

  • Adjuntar una base de datos

  • Las opciones de Service Broker, como ENABLE_BROKER, NEW_BROKER y ERROR_BROKER_CONVERSATIONS

  • Instantáneas de base de datos

Para obtener más información acerca de los argumentos y la instrucción CREATE DATABASE, vea CREATE DATABASE (Transact-SQL de SQL Server).

Comentarios

Las bases de datos de Base de datos SQL de Azure tienen varios parámetros predeterminados que se establecen al crear la base de datos. Para obtener más información acerca de estos parámetros predeterminados, vea la lista de valores de DATABASEPROPERTYEX (Transact-SQL).

MAXSIZE proporciona la capacidad de limitar el tamaño de la base de datos. Si el tamaño de la base de datos alcanza el valor MAXSIZE, recibirá el código de error 40544. Cuando esto sucede, no es posible insertar ni actualizar datos, ni tampoco crear nuevos objetos (como tablas, procedimientos almacenados, vistas y funciones). Sin embargo, todavía puede leer y eliminar datos, truncar tablas, quitar tablas e índices, y volver a generar índices. 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. Puede haber un retraso de hasta quince minutos antes de que pueda insertar nuevos datos.

Importante

La instrucción CREATE DATABASE debe ser la única de un lote Transact-SQL.Debe estar conectado con la base de datos master al ejecutar la instrucción CREATE DATABASE.

Para cambiar los valores de tamaño, edición u objetivo de servicio posteriormente, use ALTER DATABASE (Transact-SQL).

Copias de la base de datos

La copia de una base de datos mediante la instrucción CREATE DATABASE es una operación asincrónica. Por tanto, no es necesaria una conexión con el servidor Base de datos SQL durante todo el proceso de copia. La instrucción CREATE DATABASE devolverá el control al usuario una vez que se cree la entrada en sys.databases pero antes de que se complete la operación de copia de la base de datos. Es decir, la instrucción CREATE DATABASE vuelve correctamente cuando la copia de la base de datos aún está en curso. Puede supervisar el proceso de copia con las vistas sys.dm_database_copies y sys.databases. También se puede usar la vista sys.dm_operations_status, ya que devuelve el estado de las operaciones de base de datos, incluida la copia de bases de datos. Cuando se completa correctamente el proceso de copia, la base de datos de destino es transaccionalmente coherente con la base de datos de origen. Para obtener más información acerca de cómo copiar bases de datos en Base de datos SQL, vea Copiar bases de datos en Base de datos SQL de Azure.

Nota

Cuando una base de datos se copia a una base de datos nueva, la nueva base de datos se crea con el mismo nivel de servicio y de rendimiento que la base de datos de origen.Por ejemplo, una copia de una base de datos Premium con un nivel de rendimiento P1 se creará como una nueva base de datos Premium con el nivel de rendimiento P1.

Se aplican las siguientes reglas semánticas y de sintaxis al uso del argumento AS COPY OF:

  • El nombre del servidor de origen y el nombre del servidor del destino de la copia pueden ser iguales o diferentes. Si son iguales, este parámetro es opcional y se utilizará el contexto de servidor de la sesión actual de forma predeterminada.

  • Los nombres de las bases de datos de origen y de destino deben especificarse, ser únicos y ajustarse a las reglas de SQL Server para los identificadores. Para obtener más información, vea Identificadores de base de datos.

  • La instrucción CREATE DATABASE debe ejecutarse dentro del contexto de la base de datos maestra del servidor Base de datos SQL donde se creará la nueva base de datos.

  • Una vez finalizada la copia, la base de datos de destino debe administrarse como una base de datos independiente. 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. También puede copiar la nueva base de datos en otra base de datos nueva.

  • No se puede tener acceso a la base de datos de destino hasta que finalice el proceso de copia. Puede comprobar el estado del proceso de copia si consulta la columna sys.dm_operations_status o state en la vista sys.databases o la columna percentage_complete en la vista sys.dm_database_copies en el servidor Base de datos SQL de destino.

    Durante el proceso de copia, la columna state de la vista sys.databases muestra Copying en el servidor Base de datos SQL de destino. Además, la columna percentange_complete de sys.dm_database_copies muestra el porcentaje de bytes que se han copiado en el servidor de destino.

  • Se puede seguir teniendo acceso a la base de datos de origen mientras la copia de la base de datos está en curso.

Permisos

Solo el inicio de sesión principal de nivel de servidor (creado por el proceso de aprovisionamiento) o los miembros del rol de base de datos dbmanager pueden crear bases de datos. Los servidores lógicos de origen y de destino deben pertenecer a la misma suscripción de Azure.