Partager via


CREATE DATABASE (base de données SQL Azure)

Crée une base de données. Vous devez être connecté à la base de données master pour créer une base de données.

S'applique à : Base de données SQL Azure. Pour la syntaxe liée à SQL Server, consultez CREATE DATABASE (SQL Server Transact-SQL).

Syntaxe

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
[;]

Arguments

Ce diagramme de syntaxe montre les arguments pris en charge dans Base de données SQL Azure.

  • database_name
    Nom de la nouvelle base de données. Ce nom doit être unique sur le serveur Base de données SQL et doit respecter les règles SQL Server relatives aux identificateurs. Pour plus d'informations, consultez Identificateurs.

  • Collation_name
    Indique le classement par défaut de la base de données. Le nom du classement peut être un nom de classement Windows ou SQL. S'il est omis, le classement par défaut, SQL_Latin1_General_CP1_CI_AS, est affecté à la base de données.

    Pour plus d'informations sur les noms de classements Windows et SQL, consultez COLLATE (Transact-SQL).

  • EDITION
    Spécifie la couche de service de la base de données. Les valeurs disponibles sont : 'web', 'business', 'basic', 'standard' et 'premium'.

    Lorsque EDITION est spécifié mais MAXSIZE n'est pas spécifié, MAXSIZE est défini avec la taille la plus restrictive que l'édition prend en charge.

  • MAXSIZE
    Spécifie la taille maximale de la base de données. MAXSIZE doit être valide pour l'EDITION (niveau de service) spécifiée. Voici les valeurs de MAXSIZE prises en charge et les valeurs par défaut (D) des niveaux de service.

    MAXSIZE

    Web

    Business

    Basic

    Standard

    Premium

    100 Mo

    500 Mo

    1 Go

    √ (D)

    2 Go

    √ (D)

    5 Go

    10 Go

    √ (D)

    20 Go

    30 Go

    40 Go

    50 Go

    100 Go

    150 Go

    200 Go

    250 Go

    √ (D)

    300 Go

    400 Go

    500 Go

    √ (D)

    Les règles suivantes s'appliquent aux arguments MAXSIZE et EDITION.

    • La valeur MAXSIZE, si spécifiée, doit être une valeur valide indiquée dans le tableau ci-dessus.

    • Si MAXSIZE est inférieur à 5 Go et que EDITION n'est pas spécifié, l'édition de la base de données sera automatiquement définie à « Web ».

    • Si MAXSIZE est supérieur à 5 Go et que EDITION n'est pas spécifié, l'édition de la base de données sera automatiquement « Business ».

    • Si EDITION est spécifié, mais MAXSIZE n'est pas spécifié, la valeur par défaut de l'édition est utilisée. Par exemple, si EDITION est défini à Standard et que MAXSIZE n'est pas spécifié, MAXSIZE est automatiquement défini à 500 Mo.

    • Si MAXSIZE et EDITION ne sont pas spécifiés, EDITION est défini à « Web » et MAXSIZE est défini à 1 Go.

  • SERVICE_OBJECTIVE
    Spécifie le niveau de performances. Pour plus d'informations sur les objectifs de service, ainsi que sur la taille, les éditions et les combinaisons d'objectifs de service, consultez Niveaux de service et niveaux de performances des bases de données SQL Azure. Si le SERVICE_OBJECTIVE spécifié n'est pas pris en charge par l'EDITION, un message d'erreur s'affiche.

  • destination_database_name
    Nom de la base de données créée par la copie de base de données. Ce nom doit être unique sur le serveur Base de données SQL (de destination) et doit respecter les règles relatives aux identificateurs SQL Server. Pour plus d'informations, consultez Identificateurs.

  • AS COPY OF [source_server_name.]source_database_name
    Pour la copie d'une base de données sur le même serveur ou sur un serveur Base de données SQL différent.

    Notes

    AS COPY OF ne peut être utilisé avec aucun autre argument CREATE DATABASE.

    • source_server_name
      Nom du serveur Base de données SQL où se trouve la base de données source. Ce paramètre est facultatif lorsque la base de données source et la base de données de destination se trouveront sur le même serveur Base de données SQL.

      Remarque : l'argument AS COPY OF ne prend pas en charge les noms de domaine complets uniques. En d'autres termes, si le nom de domaine complet de votre serveur est serverName.database.windows.net, utilisez uniquement serverName pendant la copie de base de données.

    • source_database_name
      Nom de la base de données copiée.

Base de données SQL Azure ne prend pas en charge les arguments et options suivants lors de l'utilisation de l'instruction CREATE DATABASE :

  • Paramètres liés au placement physique de fichier, tels que <filespec> et <filegroup>

  • Options d'accès externe, telles que DB_CHAINING et TRUSTWORTHY

  • Attachement d'une base de données

  • Options de Service Broker, telles que ENABLE_BROKER, NEW_BROKER et ERROR_BROKER_CONVERSATIONS

  • Instantané de base de données

Pour plus d'informations sur les arguments et l'instruction CREATE DATABASE, consultez CREATE DATABASE (SQL Server Transact-SQL).

Notes

Les bases de données dans Base de données SQL Azure ont plusieurs paramètres par défaut définis lors de la création de la base de données. Pour plus d'informations sur ces paramètres par défaut, consultez la liste de valeurs dans DATABASEPROPERTYEX (Transact-SQL).

MAXSIZE permet de limiter la taille de la base de données. Si la taille de la base de données atteint sa valeur MAXSIZE, vous recevez un code d'erreur 40544. Lorsque cela se produit, vous ne pouvez pas insérer ou mettre à jour des données, ni créer des objets (tels que des tables, des procédures stockées, des vues et des fonctions). Toutefois, vous pouvez encore lire et supprimer des données, tronquer des tables, supprimer des tables et des index et reconstruire des index. Vous pouvez ensuite mettre à jour MAXSIZE avec une valeur supérieure à votre taille de base de données actuelle ou supprimer certaines données afin de libérer de l'espace de stockage. Vous devrez peut-être patienter jusqu'à quinze minutes avant de pouvoir insérer de nouvelles données.

Important

L'instruction CREATE DATABASE doit être la seule instruction dans un lot Transact-SQL.Vous devez être connecté à la base de données master lors de l'exécution de l'instruction CREATE DATABASE.

Pour modifier les valeurs de taille, d'édition ou d'objectif de service, utilisez ALTER DATABASE (Transact-SQL).

Copies de bases de données

La copie d'une base de données à l'aide de l'instruction CREATE DATABASE est une opération asynchrone. Par conséquent, une connexion au serveur Base de données SQL n'est pas nécessaire pendant toute la durée du processus de copie. L'instruction CREATE DATABASE redonne le contrôle à l'utilisateur après la création de l'entrée dans sys.databases mais avant que l'opération de copie de base de données soit terminée. Autrement dit, l'instruction CREATE DATABASE est renvoyée avec succès lorsque la copie de base de données est encore en cours. Vous pouvez surveiller le processus de copie avec les vues sys.databases et sys.dm_database_copies. La vue sys.dm_operations_status peut être utilisée aussi, car elle retourne l'état des opérations de base de données, y compris la copie de base de données. Lorsque le processus de copie est terminé avec succès, la base de données de destination est cohérente avec la base de données source au niveau des transactions. Pour plus d'informations sur la copie de bases de données dans Base de données SQL, consultez Copie de bases de données dans la base de données SQL Azure.

Notes

Lorsque la base de données est copiée dans une nouvelle base de données, la nouvelle base de données est créée avec la même couche de service et le même niveau de performance que la base de données source.Par exemple, une copie d'une base de données Premium avec un niveau de performance P1 sera créée comme une nouvelle base de données Premium avec le niveau de performance P1.

La syntaxe et les règles sémantiques suivante s'appliquent à votre utilisation de l'argument AS COPY OF :

  • Le nom du serveur source et le nom du serveur pour la cible de copie peuvent être identiques ou différents. Lorsqu'ils sont identiques, ce paramètre est facultatif et le contexte de serveur de la session active est utilisé par défaut.

  • Les noms des bases de données source et de destination doivent être spécifiées, uniques et conformes aux règles applicables aux identificateurs SQL Server. Pour plus d'informations, consultez Identificateurs.

  • L'instruction CREATE DATABASE doit être exécutée dans le contexte de la base de données master du serveur Base de données SQL où la nouvelle base de données sera créée.

  • Une fois la copie terminée, la base de données de destination doit être gérée comme une base de données indépendante. Vous pouvez exécuter les instructions ALTER DATABASE et DROP DATABASE contre la nouvelle base de données indépendamment de la base de données source. Vous pouvez également copier la nouvelle base de données vers une autre nouvelle base de données.

  • La base de données de destination n'est pas accessible tant que le processus de copie n'est pas terminé. Vous pouvez vérifier l'état du processus de copie en interrogeant sys.dm_operations_status ou la colonne state dans la vue sys.databases, ou la colonne percentage_complete dans la vue sys.dm_database_copies sur le serveur Base de données SQL de destination.

    Durant le processus de copie, la colonne state de la vue sys.databases indique Copying sur le serveur Base de données SQL de destination. De plus, la colonne percentange_complete de la vue sys.dm_database_copies indique le pourcentage d'octets copiés sur le serveur de destination.

  • La base de données source est toujours accessible pendant que la copie de base de données est en cours.

Autorisations

Seuls la connexion du principal au niveau du serveur (créée par le processus de déploiement) ou les membres du rôle de base de données dbmanager peuvent créer des bases de données. Les serveurs logiques source et de destination doivent appartenir au même abonnement Azure.