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.