CREATE DATABASECREATE DATABASE

Crée une base de données.Creates a new database.

Cliquez sur l’un des onglets suivants pour connaître la syntaxe, les arguments, les remarques, les autorisations et des exemples propres à la version de SQL que vous utilisez.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Pour plus d’informations sur les conventions de la syntaxe, consultez Conventions de la syntaxe Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Sélectionner un produitSelect a product

Sur la ligne suivante, sélectionnez le nom du produit qui vous intéresse, afin d’afficher uniquement les informations le concernant.In the following row, select the product name you're interested in, and only that product’s information is displayed.

* SQL Server *  * SQL Server *  

 

SQL ServerSQL Server

Vue d’ensembleOverview

Dans SQL Server, cette instruction crée une nouvelle base de données et les fichiers utilisés avec leurs groupes de fichiers.In SQL Server, this statement creates a new database and the files used and their filegroups. Elle permet également de créer une capture instantanée de base de données et de joindre des fichiers de base de données pour créer une base de données à partir des fichiers détachés d’une autre base de données.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.

SyntaxeSyntax

Créer une base de données.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
}

Attacher une base de donnéesAttach 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 } )
}

Créer un instantané de base de donnéesCreate a database snapshot

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

ArgumentsArguments

database_name correspond au nom de la nouvelle base de données.database_name Is the name of the new database. Les noms de base de données doivent être uniques au sein d’une instance de SQL ServerSQL Server et respecter les règles applicables aux identificateurs.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

database_name peut comporter 128 caractères maximum, à moins qu’aucun nom logique ne soit spécifié pour le fichier journal.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. Si aucun nom logique de fichier journal n’est spécifié, SQL ServerSQL Server génère logical_file_name et the os_file_name pour le journal en ajoutant un suffixe à 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. Cela limite la taille de database_name à 123 caractères de sorte que le nom logique du fichier généré ne comporte pas plus de 128 caractères.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Si le nom de fichier de données n’est pas spécifié, SQL ServerSQL Server utilise database_name à la fois comme logical_file_name et comme 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. Le chemin d'accès par défaut est obtenu à partir du Registre.The default path is obtained from the registry. Le chemin par défaut peut être modifié à l’aide de Propriétés du serveur (page Paramètres de base de données) dans Management StudioManagement Studio.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. La modification du chemin d'accès par défaut requiert le redémarrage de SQL ServerSQL Server.Changing the default path requires restarting SQL ServerSQL Server.

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

S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et ultérieurApplies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

Spécifie l'état de la relation contenant-contenu de la base de données.Specifies the containment status of the database. NONE = Base de données non autonome.NONE = non-contained database. PARTIAL = Base de données partiellement autonome.PARTIAL = partially contained database.

ON spécifie que les fichiers disque servant à stocker les parties données de la base de données (fichiers des données) sont définis de manière explicite.ON Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. ON est nécessaire s’il est suivi d’une liste d’éléments <filespec> séparés par des virgules, définissant les fichiers de données du groupe de fichiers primaire.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. La liste des fichiers du groupe de fichiers primaire peut être suivie d’une liste facultative d’éléments <filegroup> séparés par des virgules, définissant les groupes de fichiers utilisateur et leurs fichiers.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.

PRIMARY spécifie que la liste <filespec> associée définit le fichier primaire.PRIMARY Specifies that the associated <filespec> list defines the primary file. Le premier fichier spécifié dans l’entrée <filespec> du groupe de fichiers primaire devient le fichier primaire.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. Une base de données ne peut avoir qu’un seul fichier primaire.A database can have only one primary file. Pour plus d'informations, consultez Database Files and Filegroups.For more information, see Database Files and Filegroups.

Si vous ne précisez pas PRIMARY, le premier fichier spécifié dans l'instruction CREATE DATABASE devient le fichier primaire.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ON spécifie que les fichiers disque servant à stocker le journal de la base de données (fichiers journaux) sont définis de manière explicite.LOG ON Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON est suivi d’une liste d’éléments <filespec> séparés par des virgules, définissant les fichiers journaux.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. Si vous ne spécifiez pas LOG ON, un fichier journal est automatiquement créé, dont la taille correspond à 512 Ko, ou, si ce volume est plus élevé, à 25 pour cent de la somme des tailles de tous les fichiers de données de la base de données.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. Ce fichier est placé à l'emplacement de fichier journal par défaut.This file is placed in the default log-file location. Pour plus d’informations sur cet emplacement, consultez Afficher ou modifier les emplacements par défaut des fichiers de données et des fichiers journaux - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

LOG ON ne peut pas être spécifié sur un instantané de base de données.LOG ON cannot be specified on a database snapshot.

COLLATE collation_name spécifie le classement par défaut de la base de données.COLLATE collation_name Specifies the default collation for the database. Le nom du classement peut être un nom de classement Windows ou SQL.Collation name can be either a Windows collation name or a SQL collation name. S'il n'est pas spécifié, la base de données est affectée au classement par défaut de l'instance SQL ServerSQL Server.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. Un nom de classement ne peut pas être spécifié sur un instantané de base de données.A collation name cannot be specified on a database snapshot.

Un nom de classement ne peut pas être spécifié pour les clauses FOR ATTACH ou FOR ATTACH_REBUILD_LOG.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. Pour plus d’informations sur la façon de changer le classement d’une base de données attachée, visitez ce site web de Microsoft.For information about how to change the collation of an attached database, visit this Microsoft Web site.

Pour plus d’informations sur les noms de classements Windows et SQL, voir COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

Notes

Les bases de données autonomes sont classées différemment des bases de données non autonomes.Contained databases are collated differently than non-contained databases. Pour plus d’informations, consultez Classements de base de données autonome.Please see Contained Database Collations for more information.

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

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et versions ultérieures.NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

Spécifie le niveau d'accès FILESTREAM non transactionnel à la base de données.Specifies the level of non-transactional FILESTREAM access to the database.

ValeurValue DescriptionDescription
OFFOFF L'accès non transactionnel est désactivé.Non-transactional access is disabled.
READONLYREADONLY Les données FILESTREAM de cette base de données peuvent être lues par des processus non transactionnels.FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL L'accès non transactionnel complet aux FileTables FILESTREAM est activé.Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <directory_name> S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et versions ultérieuresDIRECTORY_NAME = <directory_name> Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

Nom de répertoire compatible avec Windows.A windows-compatible directory name. Ce nom doit être unique parmi tous les noms Database_Directory dans l'instance SQL ServerSQL Server.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. La comparaison d'unicité n'est pas sensible à la casse, indépendamment des paramètres de classement SQL ServerSQL Server.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. Cette option doit être définie avant de créer un FileTable dans cette base de données.This option should be set before creating a FileTable in this database.

Les options suivantes sont autorisées uniquement lorsque CONTAINMENT a été défini sur PARTIAL.The following options are allowable only when CONTAINMENT has been set to PARTIAL. Si CONTAINMENT est défini sur NONE, des erreurs se produiront.If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

    S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et ultérieurApplies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    Pour obtenir une description complète de cette option, consultez Configurer l’option de configuration de serveur default full-text language.See Configure the default full-text language Server Configuration Option for a full description of this option.

  • DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

    S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et ultérieurApplies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    Pour obtenir une description complète de cette option, consultez Configurer l’option de configuration de serveur default language.See Configure the default language Server Configuration Option for a full description of this option.

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

    S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et ultérieurApplies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    Pour obtenir une description complète de cette option, consultez Configurer l’option de configuration de serveur nested triggers.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}

    S’applique à : SQL Server 2012 (11.x)SQL Server 2012 (11.x) et ultérieurApplies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    Pour obtenir une description complète de cette option, consultez Configurer l’option de configuration de serveur transform noise words.See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    Quatre chiffres qui représente une année.Four digits representing a year. 2049 est la valeur par défaut.2049 is the default value. Pour obtenir une description complète de cette option, consultez Configurer l’option de configuration du serveur two digit year cutoff.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 ON est spécifié, la base de données peut être la source ou la cible d'un chaînage des propriétés des bases de données croisées.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    Lorsque OFF est spécifié, la base de données ne peut pas participer au chaînage des propriétés des bases de données croisées.When OFF, the database cannot participate in cross-database ownership chaining. La valeur par défaut est OFF.The default is OFF.

    Important

    L'instance de SQL ServerSQL Server reconnaît ce paramètre lorsque l'option de serveur cross db ownership chaining a la valeur 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Lorsque cross db ownership chaining a la valeur 1 (ON), toutes les bases de données utilisateur peuvent participer aux chaînages des propriétés des bases de données croisées, quelle que soit la valeur de cette option.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. Cette option est configurée à l’aide de sp_configure.This option is set by using sp_configure.

    Pour définir cette option, l'appartenance au rôle serveur fixe sysadmin est nécessaire.To set this option, requires membership in the sysadmin fixed server role. L’option DB_CHAINING ne peut pas être définie sur les bases de données système suivantes : master, model et tempdb.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

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

    Si ON est spécifié, les modules de base de données (par exemple les vues, les fonctions définies par l'utilisateur ou les procédures stockées) utilisant le contexte d'emprunt d'identité peuvent accéder à des ressources en dehors de la base de données.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.

    Lorsque OFF est spécifié, les modules de base de données dans le contexte d'emprunt d'identité ne peuvent pas accéder à des ressources en dehors de la base de données.When OFF, database modules in an impersonation context cannot access resources outside the database. La valeur par défaut est OFF.The default is OFF.

    TRUSTWORTHY prend la valeur OFF chaque fois que la base de données est attachée.TRUSTWORTHY is set to OFF whenever the database is attached.

    Par défaut, pour toutes les bases de données système, sauf pour la base msdb, l'option TRUSTWORTHY est définie à OFF (désactivé).By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. La valeur ne peut pas être modifiée pour les bases de données model et tempdb.The value cannot be changed for the model and tempdb databases. Nous vous recommandons de ne jamais définir l'option TRUSTWORTHY à ON (activé) pour la base de données master.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='' )

    Lorsque cette option est spécifiée, le tampon du journal des transactions est créé sur un volume situé sur un disque avec mémoire de classe de stockage (stockage non volatil NVDIMM-N), également appelé tampon de journal persistant.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. Pour plus d’informations, voir Accélération de la latence des validations de transactions avec la mémoire de classe de stockage.For more information, see Transaction Commit latency acceleration using Storage Class Memory. S’applique à : SQL Server 2017 (14.x)SQL Server 2017 (14.x) et versions ultérieures.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and newer.

FOR ATTACH [ WITH < attach_database_option > ] spécifie que la base de données est créée en joignant un ensemble existant de fichiers du système d’exploitation.FOR ATTACH [ WITH < attach_database_option > ] Specifies that the database is created by attaching an existing set of operating system files. Il doit exister une entrée <filespec> spécifiant le premier fichier primaire.There must be a <filespec> entry that specifies the primary file. Les seules autres entrées <filespec> nécessaires sont celles relatives aux fichiers dont le chemin est différent de celui existant lors de la première création de la base de données ou de son dernier attachement.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. Vous devez spécifier une entrée <filespec> pour ces fichiers.A <filespec> entry must be specified for these files.

FOR ATTACH exige les conditions suivantes :FOR ATTACH requires the following:

  • Tous les fichiers de données (MDF et NDF) doivent être disponibles.All data files (MDF and NDF) must be available.
  • Si plusieurs fichiers journaux existent, tous doivent être disponibles.If multiple log files exist, they must all be available.

Si une base de données en lecture-écriture possède un seul fichier journal qui n'est pas disponible actuellement, et si la base de données a été fermée sans aucun utilisateur ou transaction ouverte avant l'opération d'attachement, FOR ATTACH reconstruit automatiquement le fichier journal et met à jour le fichier primaire.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. Par opposition, pour une base de données en lecture seule, le fichier journal ne peut pas être reconstruit car le fichier primaire ne peut pas être mis à jour.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. Par conséquent, lorsque vous attachez une base de données en lecture seule dont le fichier journal n'est pas disponible, vous devez fournir les fichiers journaux ou les fichiers pour la cause 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.

Notes

Une base de données créée dans une version plus récente de SQL ServerSQL Server ne peut pas être attachée à des versions antérieures.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

Dans SQL ServerSQL Server, tous les fichiers de texte intégral appartenant à la base de données qui est attachée seront attachés avec la base de données.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. Pour spécifier un nouveau chemin d'accès pour le catalogue de texte intégral, spécifiez le nouvel emplacement sans le nom de fichier du système d'exploitation en texte intégral.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. Pour plus d’informations, consultez la section Exemples.For more information, see the Examples section.

Le fait d’attacher une base de données qui contient une option FILESTREAM de « nom de répertoire », dans une instance SQL ServerSQL Server invitera SQL ServerSQL Server à vérifier que le nom Database_Directory est unique.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 ce n’est pas le cas, l’opération d’attachement échoue avec l’erreur « FILESTREAM Database_Directory name <name> n’est pas unique dans cette instance 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". Pour éviter cette erreur, le paramètre facultatif, directory_name, doit être passé à cette opération.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

FOR ATTACH ne peut pas être spécifié sur un instantané de base de données.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH peut spécifier l'option RESTRICTED_USER.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER permet uniquement aux membres du rôle de base de données fixe db_owner et aux rôles serveurs fixes dbcreator et sysadmin de se connecter à la base de données, mais il n'en limite pas le nombre.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. Les tentatives par des utilisateurs non qualifiés sont refusées.Attempts by unqualified users are refused.

Si la base de données utilise Service BrokerService Broker, utilisez WITH <service_broker_option> dans votre clause FOR ATTACH :If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option> contrôle la remise des messages Service BrokerService Broker et l’identificateur Service BrokerService Broker pour la base de données.<service_broker_option> Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. Les options Service BrokerService Broker peuvent être spécifiées uniquement quand la clause FOR ATTACH est utilisée.Service BrokerService Broker options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKER spécifie que Service BrokerService Broker est activé pour la base de données spécifiée.ENABLE_BROKER Specifies that Service BrokerService Broker is enabled for the specified database. Autrement dit, la remise des messages est démarrée et is_broker_enabled a la valeur True dans la vue de catalogue 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 données conserve l'identificateur Service BrokerService Broker existant.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKER crée une nouvelle valeur service_broker_guid dans sys.databases et les bases restaurées, et termine tous les points de terminaison de conversation avec un nettoyage.NEW_BROKER Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. Service Broker est activé, mais aucun message n'est envoyé aux points de terminaison de conversation distants.The broker is enabled, but no message is sent to the remote conversation endpoints. Tout itinéraire qui fait référence à l'ancien identificateur Service BrokerService Broker doit être recréé avec le nouvel identificateur.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONS termine toutes les conversations avec une erreur indiquant que la base de données est attachée ou restaurée.ERROR_BROKER_CONVERSATIONS Ends all conversations with an error stating that the database is attached or restored. Service Broker est désactivé jusqu'à la fin de l'opération, puis il est activé.The broker is disabled until this operation is completed and then enabled. La base de données conserve l'identificateur Service BrokerService Broker existant.The database retains the existing Service BrokerService Broker identifier.

Lorsque vous attachez une base de données répliquée qui a été copiée au lieu d'être détachée, tenez compte des conditions suivantes :When you attach a replicated database that was copied instead of being detached, consider the following:

  • Si vous attachez la base de données à la même version et à la même instance de serveur que celles de la base de données d'origine, aucune opération supplémentaire n'est nécessaire.If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • Si vous attachez la base de données à la même instance de serveur alors que sa version a été mise à niveau, vous devez exécuter sp_vupgrade_replication pour mettre à jour la réplication à la fin de l’opération de rattachement.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 vous attachez la base de données à une instance de serveur différente, sans tenir compte de la version, vous devez exécuter sp_removedbreplication pour supprimer la réplication, une fois l’opération de rattachement effectuée.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.

Notes

L’attachement fonctionne avec le format de stockage vardecimal, mais le Moteur de base de données SQL ServerSQL Server Database Engine doit être mis à niveau au minimum vers SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2.Attach works with the vardecimal storage format, but the Moteur de base de données SQL ServerSQL Server Database Engine must be upgraded to at least SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2. Vous ne pouvez pas attacher une base de données à l'aide du format de stockage vardecimal à une version antérieure de SQL ServerSQL Server.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. Pour plus d’informations sur le format de stockage vardecimal, consultez Compression des données.For more information about the vardecimal storage format, see Data Compression.

Lorsqu'une base de données est attachée ou restaurée pour la première fois à une nouvelle instance de SQL ServerSQL Server, une copie de la clé principale de la base de données (chiffrée par la clé principale du service) n'est pas encore stockée sur le serveur.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. Vous devez utiliser l’instruction OPEN MASTER KEY pour déchiffrer la clé principale de la base de données.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Une fois la clé principale de la base de données déchiffrée, vous avez la possibilité d’activer le déchiffrement automatique dans le futur en exécutant l’instruction ALTER MASTER KEY REGENERATE pour fournir au serveur une copie de la clé principale de la base de données chiffrée avec la clé principale du service.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). Lorsqu'une base de données a été mise à niveau à partir d'une version antérieure, la clé DMK doit être régénérée de façon à utiliser le nouvel algorithme AES.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Pour plus d’informations sur la régénération de la clé DMK, consultez l’article ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. La durée nécessaire pour régénérer la clé DMK à mettre à niveau vers AES dépend du nombre d'objets protégés par la clé DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. La régénération de la clé DMK à mettre à niveau vers AES est nécessaire une seule fois et n'a aucune incidence sur les régénérations ultérieures effectuées dans le cadre d'une stratégie de rotation de clés.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. Pour plus d’informations sur la façon de mettre à niveau une base de données à l’aide de l’attachement, consultez Mettre à niveau une base de données avec Detach et Attach.For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

Important

Nous vous recommandons de ne pas attacher des bases de données issues de sources inconnues ou non approuvées.We recommend that you do not attach databases from unknown or untrusted sources. Ces bases de données peuvent contenir du code malveillant susceptible d'exécuter du code Transact-SQLTransact-SQL indésirable ou de provoquer des erreurs en modifiant le schéma ou la structure physique des bases de données.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. Avant d’utiliser une base de données issue d’une source inconnue ou non approuvée, exécutez DBCC CHECKDB sur la base de données sur un serveur autre qu’un serveur de production et examinez également le code, notamment les procédures stockées ou le code défini par l’utilisateur, de la base de données.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.

Notes

Les options TRUSTWORTHY et DB_CHAINING n’ont aucun effet lors de l’attachement d’une base de données.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOG spécifie que la base de données est créée en joignant un ensemble existant de fichiers du système d’exploitation.FOR ATTACH_REBUILD_LOG Specifies that the database is created by attaching an existing set of operating system files. Cette option est limitée aux bases de données en lecture/écriture.This option is limited to read/write databases. Il doit exister une entrée <filespec> spécifiant le fichier primaire.There must be a <filespec> entry specifying the primary file. S'il manque un ou plusieurs fichiers du journal des transactions, le fichier journal est reconstruit.If one or more transaction log files are missing, the log file is rebuilt. ATTACH_REBUILD_LOG crée automatiquement un nouveau fichier journal de 1 Mo.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Ce fichier est placé à l'emplacement de fichier journal par défaut.This file is placed in the default log-file location. Pour plus d’informations sur cet emplacement, consultez Afficher ou modifier les emplacements par défaut des fichiers de données et des fichiers journaux - SSMS.For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

Notes

Si les fichiers journaux sont disponibles, le Moteur de base de donnéesDatabase Engine utilise ces fichiers au lieu de reconstruire les fichiers journaux.If the log files are available, the Moteur de base de donnéesDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG requiert ce qui suit :FOR ATTACH_REBUILD_LOG requires the following:

  • Un arrêt propre de la base de données.A clean shutdown of the database.
  • Tous les fichiers de données (MDF et NDF) doivent être disponibles.All data files (MDF and NDF) must be available.

Important

Cette opération brise la chaîne de sauvegarde du journal.This operation breaks the log backup chain. Nous recommandons d'effectuer une sauvegarde complète avant de réaliser cette opération.We recommend that a full database backup be performed after the operation is completed. Pour plus d’informations, consultez BACKUP.For more information, see BACKUP.

Généralement, FOR ATTACH_REBUILD_LOG est utilisé lorsque vous copiez une base de données en lecture/écriture avec un grand journal vers un autre serveur où la copie sera principalement, ou uniquement, utilisée pour des opérations de lecture, et nécessite donc moins d'espace de journal que la base de données d'origine.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 ne peut pas être spécifié sur un instantané de base de données.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

Pour plus d’informations sur l’attachement et le détachement de base de données, consultez Attacher et détacher une base de données.For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec> contrôle les propriétés des fichiers.<filespec> Controls the file properties.

NAME logical_file_name spécifie le nom logique du fichier.NAME logical_file_name Specifies the logical name for the file. NAME est requis lorsque FILENAME est spécifié, sauf lors de la spécification d'une des clauses FOR ATTACH.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. Un groupe de fichiers FILESTREAM ne peut pas être nommé PRIMARY.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name Spécifie le nom logique utilisé pour référencer le fichier dans SQL ServerSQL Server.logical_file_name Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name doit être unique dans la base de données et doit respecter les règles relatives aux identificateurs.Logical_file_name must be unique in the database and comply with the rules for identifiers. Le nom peut être une constante de type caractère ou Unicode, un identificateur régulier ou un identificateur délimité.The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { ' os_file_name ' | ' filestream_path ' } : spécifie un nom de fichier du système d’exploitation (physique).FILENAME { 'os_file_name' | 'filestream_path' } Specifies the operating system (physical) file name.

' os_file_name '  : correspond au chemin d’accès et nom de fichier utilisé par le système d’exploitation lorsque vous créez le fichier.' os_file_name ' Is the path and file name used by the operating system when you create the file. Le fichier doit résider sur l'un des périphériques suivants : le serveur local sur lequel SQL ServerSQL Server est installé, un réseau de zone de stockage [réseau SAN] ou un réseau basé sur 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. Le chemin d'accès spécifié doit exister avant l'exécution de l'instruction CREATE DATABASE.The specified path must exist before executing the CREATE DATABASE statement. Pour plus d'informations, consultez le paragraphe « Groupes de fichiers et fichiers de base de données » dans la section Notes.For more information, see "Database Files and Filegroups" in the Remarks section.

Les paramètres SIZE, MAXSIZE et FILEGROWTH peuvent être définis lorsqu'un chemin d'accès UNC est spécifié pour le fichier.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

Si le fichier se trouve sur une partition brute, os_file_name doit spécifier uniquement la lettre d’une unité correspondant à une partition brute existante.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. Un seul fichier de données peut être créé sur chaque partition brute.Only one data file can be created on each raw partition.

Les fichiers de données ne doivent pas être placés sur des systèmes de fichiers compressés, sauf si les fichiers sont des fichiers secondaires en lecture seule ou si la base de données est en en lecture seule.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. Les fichiers journaux ne doivent jamais être placés sur des systèmes de fichiers compressés.Log files should never be put on compressed file systems.

' filestream_path ' Pour un groupe de fichiers FILESTREAM, FILENAME fait référence à un chemin où les données FILESTREAM seront stockées.' filestream_path ' For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. Le chemin d'accès jusqu'au dernier dossier doit exister, et le dernier dossier ne doit pas exister.The path up to the last folder must exist, and the last folder must not exist. Par exemple, si vous spécifiez le chemin d'accès C:\MyFiles\MyFilestreamData, C:\MyFiles doit exister avant l'exécution d'ALTER DATABASE, mais le dossier MyFilestreamData ne doit pas exister.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.

Le groupe de fichiers et le fichier (<filespec>) doivent être créés dans la même instruction.The filegroup and file (<filespec>) must be created in the same statement.

Les propriétés SIZE et FILEGROWTH ne s'appliquent pas à un groupe de fichiers FILESTREAM.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size spécifie la taille du fichier.SIZE size Specifies the size of the file.

SIZE ne peut pas être spécifié quand os_file_name est spécifié en tant que chemin UNC.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE ne s'applique pas à un groupe de fichiers FILESTREAM.SIZE does not apply to a FILESTREAM filegroup.

size correspond à la taille initiale du fichier.size Is the initial size of the file.

Quand size n’est pas spécifié pour le fichier primaire, le Moteur de base de donnéesDatabase Engine utilise la taille du fichier primaire dans la base de données model.When size is not supplied for the primary file, the Moteur de base de donnéesDatabase Engine uses the size of the primary file in the model database. La taille par défaut de la base de données model est de 8 Mo (à partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)) ou de 1 Mo (pour les versions antérieures).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). Quand vous spécifiez un fichier de données secondaire ou un fichier journal, mais que size n’est pas spécifié pour le fichier, le Moteur de base de donnéesDatabase Engine lui donne une taille de 8 Mo (à partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)) ou de 1 Mo (pour les versions antérieures).When a secondary data file or log file is specified, but size is not specified for the file, the Moteur de base de donnéesDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). La taille spécifiée pour le fichier primaire doit être au moins égale à la taille du fichier primaire de la base de données model.The size specified for the primary file must be at least as large as the primary file of the model database.

Les suffixes kilo-octet (Ko), mégaoctet (Mo), gigaoctet (Go) ou téraoctet (To) peuvent être utilisés.The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. La valeur par défaut est Mo.The default is MB. Indiquez un nombre entier sans aucune décimale.Specify a whole number; do not include a decimal. Size est une valeur entière.Size is an integer value. Pour les valeurs supérieures à 2147483647, utilisez des unités plus grandes.For values greater than 2147483647, use larger units.

MAXSIZE max_size spécifie la taille maximale que peut atteindre le fichier.MAXSIZE max_size Specifies the maximum size to which the file can grow. MAXSIZE ne peut pas être spécifié quand os_file_name est spécifié en tant que chemin UNC.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size Spécifie la taille de fichier maximale.max_size Is the maximum file size. Les indications Ko, Mo, Go et To peuvent être utilisées.The KB, MB, GB, and TB suffixes can be used. La valeur par défaut est Mo.The default is MB. Indiquez un nombre entier sans aucune décimale.Specify a whole number; do not include a decimal. Si vous ne spécifiez pas max_size, le fichier peut s’accroître jusqu’à occuper tout l’espace disque disponible.If max_size is not specified, the file grows until the disk is full. Max_size est une valeur entière.Max_size is an integer value. Pour les valeurs supérieures à 2147483647, utilisez des unités plus grandes.For values greater than 2147483647, use larger units.

UNLIMITED Spécifie que la taille du fichier peut croître jusqu’à ce que le disque soit plein.UNLIMITED Specifies that the file grows until the disk is full. Dans SQL ServerSQL Server, un fichier journal spécifié avec une croissance illimitée a une taille maximale de 2 To et un fichier de données une taille maximale de 16 To.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.

Notes

Aucune taille maximale n'est définie lorsque cette option est spécifiée pour un conteneur FILESTREAM.There is no maximum size when this option is specified for a FILESTREAM container. Il continue à grandir jusqu'à ce que le disque soit saturé.It continues to grow until the disk is full.

FILEGROWTH growth_increment Spécifie l’incrément de croissance automatique du fichier.FILEGROWTH growth_increment Specifies the automatic growth increment of the file. Le paramètre FILEGROWTH d'un fichier ne peut dépasser le paramètre MAXSIZE.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. FILEGROWTH ne peut pas être spécifié quand os_file_name est spécifié en tant que chemin UNC.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH ne s'applique pas à un groupe de fichiers FILESTREAM.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment Spécifie la quantité d’espace ajoutée au fichier quand de l’espace supplémentaire est nécessaire.growth_increment Is the amount of space added to the file every time new space is required.

La valeur peut être exprimée en Mo, Ko, Go, To ou pourcentage (%).The value can be specified in MB, KB, GB, TB, or percent (%). Si un nombre est mentionné sans spécifier Mo, Ko ou %, la valeur par défaut est Mo.If a number is specified without an MB, KB, or % suffix, the default is MB. Lorsque % est spécifié, la taille de l'incrément de croissance est le pourcentage choisi de la taille du fichier au moment où l'incrémentation a lieu.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. La taille spécifiée est arrondie à la valeur multiple de 64 Ko la plus proche, et la valeur minimale est de 64 Ko.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

La valeur 0 indique que la croissance automatique est désactivée et qu'aucun espace supplémentaire n'est autorisé.A value of 0 indicates that automatic growth is off and no additional space is allowed.

Si FILEGROWTH n’est pas spécifié, les valeurs par défaut sont les suivantes :If FILEGROWTH is not specified, the default values are:

VersionVersion Valeurs par défautDefault values
À partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x)Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) 64 Mo de données.Data 64 MB. 64 Mo de fichiers journaux.Log files 64 MB.
À partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x)Beginning SQL Server 2005 (9.x)SQL Server 2005 (9.x) 1 Mo de données.Data 1 MB. 10 % de fichiers journaux.Log files 10%.
Avant SQL Server 2005 (9.x)SQL Server 2005 (9.x)Prior to SQL Server 2005 (9.x)SQL Server 2005 (9.x) 10 % de données.Data 10%. 10 % de fichiers journaux.Log files 10%.

<filegroup> contrôle les propriétés des groupes de fichiers.<filegroup> Controls the filegroup properties. Filegroup ne peut pas être spécifié sur un instantané de base de données.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name correspond au nom logique du groupe de fichiers.FILEGROUP filegroup_name Is the logical name of the filegroup.

filegroup_name filegroup_name doit être unique dans la base de données et ne peut pas être les noms PRIMARY et PRIMARY_LOG fournis par le système.filegroup_name filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. Le nom peut être une constante de type caractère ou Unicode, un identificateur régulier ou un identificateur délimité.The name can be a character or Unicode constant, or a regular or delimited identifier. Le nom doit respecter les règles applicables aux identificateurs.The name must comply with the rules for identifiers.

CONTAINS FILESTREAM Spécifie que le groupe de fichiers stocke des objets BLOB (Binary Large Objects) FILESTREAM dans le système de fichiers.CONTAINS FILESTREAM Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

S’applique à : SQL Server 2014 (12.x)SQL Server 2014 (12.x) et ultérieurApplies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later

Spécifie que le groupe de fichiers stocke des données optimisées en mémoire dans le système de fichiers.Specifies that the filegroup stores memory_optimized data in the file system. Pour plus d’informations, consultez l’article OLTP en mémoire (optimisation en mémoire).For more information, see In-Memory OLTP - In-Memory Optimization. Un seul groupe de fichiers MEMORY_OPTIMIZED_DATA est autorisé par base de données.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. Pour obtenir des exemples de code qui créent un groupe de fichiers pour stocker des données à mémoire optimisée, consultez Création d’une table optimisée en mémoire et d’une procédure stockée compilée en mode natif.For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULT spécifie le groupe de fichiers nommé qui est le groupe de fichiers par défaut de la base de données.DEFAULT Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name correspond au nom de l’instantané de la nouvelle base de données.database_snapshot_name Is the name of the new database snapshot. Les noms des instantanés de bases de données doivent être uniques au sein d'une instance de SQL ServerSQL Server et respecter les règles applicables aux identificateurs.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name peut avoir un maximum de 128 caractères.database_snapshot_name can be a maximum of 128 characters.

ON ( NAME = logical_file_name , FILENAME =' os_file_name ') [ , ... n ] pour créer un instantané de base de données, spécifie une liste de fichiers dans la base de données source.ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ] For creating a database snapshot, specifies a list of files in the source database. Pour que l'instantané fonctionne, tous les fichiers de données doivent être spécifiés individuellement.For the snapshot to work, all the data files must be specified individually. Cependant, les fichiers journaux ne sont pas autorisés pour les instantanés de base de données.However, log files are not allowed for database snapshots. Les groupes de fichiers FILESTREAM ne sont pas pris en charge par les instantanés de base de données.FILESTREAM filegroups are not supported by database snapshots. Si un fichier de données FILESTREAM est inclus dans une clause CREATE DATABASE ON, l'instruction échoue et une erreur est levée.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

Pour obtenir des descriptions de NAME et FILENAME et leurs valeurs, consultez les descriptions des valeurs <filespec> équivalentes.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

Notes

Quand vous créez un instantané de base de données, les autres options <filespec> et le mot clé PRIMARY ne sont pas autorisés.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name spécifie que la base de données créée est un instantané de la base de données source spécifiée par 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. Les bases de données d'instantané et source doivent se trouver sur la même instance.The snapshot and source database must be on the same instance.

Pour plus d'informations, consultez Instantanés de base de données dans la section Notes.For more information, see Database Snapshots in the Remarks section.

NotesRemarks

La base de données master doit être sauvegardée chaque fois qu’une base de données utilisateur est créée, modifiée ou supprimée.The master database should be backed up whenever a user database is created, modified, or dropped.

L'instruction CREATE DATABASE doit être exécutée en mode de validation automatique (mode de gestion des transactions par défaut) et n’est pas autorisée dans une transaction explicite ou implicite.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

Vous pouvez utiliser une instruction CREATE DATABASE pour créer une base de données et les fichiers qui stockent la base de données.You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server implémente l'instruction CREATE DATABASE à l'aide des étapes suivantes :implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server utilise une copie de la base de données model pour initialiser la base de données et ses métadonnées.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. Un GUID Service Broker est affecté à la base de données.A service broker GUID is assigned to the database.
  3. Le Moteur de base de donnéesDatabase Engine complète ensuite le reste de la base de données avec des pages vides, à l'exception des pages qui contiennent des données internes enregistrant la manière dont est utilisé l'espace dans la base de données.The Moteur de base de donnéesDatabase 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.

Vous pouvez spécifier un maximum de 32 767 bases de données sur une instance de SQL ServerSQL Server.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

Chaque base de données appartient à un propriétaire qui peut réaliser des activités spéciales dans la base de données.Each database has an owner that can perform special activities in the database. Le propriétaire est l'utilisateur qui crée la base de données.The owner is the user that creates the database. Le propriétaire de base de données peut être changé avec ALTER AUTHORIZATION.The database owner can be changed by using ALTER AUTHORIZATION.

Certaines fonctionnalités de base de données dépendent de fonctionnalités ou de capacités présentes dans le système de fichiers.Some database features depend on features or capabilities present in the file system for full functionality of a database. Voici quelques exemples des fonctionnalités qui dépendent de jeux de fonctionnalités du système de fichiers :Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • Sauvegardes en ligne à l’aide de VSS et d’instantanés de fichiersOnline backups using VSS and file snapshots
  • Création d’instantané de base de donnéesDatabase snapshot creation
  • Groupe de fichiers de données à mémoire optimiséeMemory Optimized Data filegroup

Groupes de fichiers et fichiers de base de donnéesDatabase Files and Filegroups

Chaque base de données comprend au moins deux fichiers, un fichier primaire et un fichier journal des transactions, et au moins un groupe de fichiers.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. Un maximum de 32 767 fichiers et 32 767 groupes de fichiers peut être spécifié pour chaque base de données.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

Lorsque vous créez une base de données, attribuez aux fichiers une taille aussi grande que possible, en tenant compte du volume maximal de données qu'est censée contenir la base de données.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.

Nous vous recommandons d'utiliser un réseau de zone de stockage (SAN, Storage Area Network), un réseau basé sur iSCSI ou un disque attaché localement pour le stockage de vos fichiers de base de données SQL ServerSQL Server, car cette configuration optimise les performances et la fiabilité 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.

Instantanés de base de donnéesDatabase Snapshots

Vous pouvez utiliser l’instruction CREATE DATABASE pour créer une vue en lecture seule statique, un instantané de base de données de la base de données source.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. Chaque instantané de base de données est transactionnellement cohérent avec la base de données source existante au moment de la création de l'instantané.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. Une base de données source peut posséder plusieurs instantanés.A source database can have multiple snapshots.

Notes

Quand vous créez un instantané de base de données, l'instruction CREATE DATABASE ne peut pas faire référence à des fichiers journaux, hors connexion, de restauration ou anciens.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

Si la création d'un instantané de base de données échoue, l'instantané devient suspect et doit être supprimé.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. Pour plus d’informations, consultez DROP DATABASE.For more information, see DROP DATABASE.

Chaque instantané est conservé jusqu’à ce qu’il soit supprimé par DROP DATABASE.Each snapshot persists until it is deleted by using DROP DATABASE.

Pour plus d’informations, consultez Instantanés de base de données.For more information, see Database Snapshots.

Options de base de donnéesDatabase Options

Plusieurs options de base de données sont définies automatiquement chaque fois que vous créez une base de données.Several database options are automatically set whenever you create a database. Pour obtenir la liste de ces options, consultez Options ALTER DATABASE SET.For a list of these options, see ALTER DATABASE SET Options.

Base de données model et création de nouvelles bases de donnéesThe model Database and Creating New Databases

Les objets définis par l’utilisateur dans la base de données model sont copiés dans toutes les nouvelles bases de données.All user-defined objects in the model database are copied to all newly created databases. Vous pouvez ajouter dans la base de données model tous les objets, tels que tables, vues, procédures stockées ou types de données, à inclure dans toutes les bases de données nouvellement créées.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.

Quand une instruction CREATE DATABASE <database_name> est spécifiée sans paramètre de taille supplémentaire, le fichier de données primaire a la même taille que celui de la base de données model.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.

Sauf si FOR ATTACH est spécifié, chaque nouvelle base de données hérite des paramètres d’option de base de données de la base de données model.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. Par exemple, l’option de base de données auto shrink a la valeur true dans model et dans toutes les nouvelles bases de données que vous créez.For example, the database option auto shrink is set to true in model and in any new databases you create. Si vous modifiez les options de la base de données model, ces nouveaux paramètres d'options sont valables pour toutes les nouvelles bases de données que vous créez.If you change the options in the model database, these new option settings are used in any new databases you create. Les opérations de modification dans la base de données model n'affectent pas les bases de données existantes.Changing operations in the model database does not affect existing databases. Si vous avez précisé FOR ATTACH dans l'instruction CREATE DATABASE, la nouvelle base de données héritera des paramètres d'option de la base de données originale.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

Affichage des informations de bases de donnéesViewing Database Information

Vous pouvez utiliser les affichages catalogue, les fonctions système et les procédures stockées du système pour retourner des informations sur les bases de données, les fichiers et les groupes de fichiers.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups. Pour plus d’informations, consultez Vues système.For more information, see System Views.

AutorisationsPermissions

Requiert l’autorisation CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Pour garder le contrôle de l'utilisation du disque sur une instance de SQL ServerSQL Server, l'autorisation de création de bases de données est généralement limitée à quelques comptes de connexion.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.

L'exemple suivant fournit l'autorisation de créer une base de données à l'utilisateur de base de données 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

Autorisations sur les données et les journauxPermissions on Data and Log Files

Dans SQL ServerSQL Server, certaines autorisations sont définies sur les données et les journaux de chaque base de données.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. Les autorisations suivantes sont définies chaque fois que les opérations suivantes sont appliquées à une base de données :The following permissions are set whenever the following operations are applied to a database:

  • AttachéeAttached
  • SauvegardéeBacked up
  • Date de créationCreated
  • DétachéeDetached
  • Modifiée pour ajouter un nouveau fichierModified to add a new file
  • RestauréeRestored

Les autorisations empêchent les fichiers d'être accidentellement falsifiés s'ils résident dans un répertoire doté d'autorisations d'ouverture.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

Notes

MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition ne définit pas d'autorisations sur les fichiers de données et les journaux.SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

ExemplesExamples

R.A. Création d'une base de données sans spécifier de fichiersCreating a database without specifying files

Cet exemple crée une base de données appelée mytest et crée un fichier primaire et un fichier de journal des transactions correspondants.The following example creates the database mytest and creates a corresponding primary and transaction log file. L’instruction ne disposant pas d’éléments <filespec>, le fichier primaire de la base de données a la taille du fichier primaire de la base de données model.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. Le journal des transactions est défini selon la plus grande de ces valeurs : 512 Ko ou 25 % de la taille du fichier de données primaire.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. Puisque MAXSIZE n'est pas spécifié, la taille des fichiers peut s'accroître jusqu'à occuper tout l'espace disque disponible.Because MAXSIZE is not specified, the files can grow to fill all available disk space. Cet exemple montre également comment supprimer la base de données nommée mytest, si elle existe, avant de créer la base de données 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. Création d'une base de données qui spécifie les fichiers de données et les fichiers journaux de transactionsCreating a database that specifies the data and transaction log files

L'exemple suivant crée la base de données Sales.The following example creates the database Sales. Le mot clé PRIMARY n’étant pas utilisé, le premier fichier (Sales_dat) devient le fichier principal.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Le paramètre SIZE n'étant spécifié ni en Mo ni en Ko pour le fichier Sales_dat , la valeur par défaut est Mo et il est alloué en mégaoctets.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. La base de données Sales_log est alloué en mégaoctets car le suffixe MB est défini explicitement dans le paramètre 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. Création d'une base de données en spécifiant plusieurs fichiers de données et plusieurs fichiers journaux de transactionsCreating a database by specifying multiple data and transaction log files

Cet exemple crée une base de données appelée Archive qui comprend trois fichiers de données de 100-MB et deux fichiers du journal des transactions de 100-MB.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. Le fichier primaire est le premier fichier dans la liste et il est spécifié de manière explicite à l'aide du mot clé PRIMARY.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. Les fichiers du journal des transactions sont spécifiés à la suite des mots clés LOG ON.The transaction log files are specified following the LOG ON keywords. Notez les extensions utilisées pour les fichiers dans l'option FILENAME : .mdf pour les fichiers de données primaires, .ndf pour les fichiers de données secondaires et .ldf pour les fichiers journaux de transactions.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. Cet exemple place la base de données sur le lecteur D: plutôt qu'avec la base de données 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. Création d'une base de données possédant des groupes de fichiersCreating a database that has filegroups

L'exemple suivant crée la base de données Sales qui possède les groupes de fichiers suivants :The following example creates the database Sales that has the following filegroups:

  • Le groupe de fichiers primaire avec les fichiers Spri1_dat et Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. Les incréments FILEGROWTH de ces fichiers sont spécifiés à 15%.The FILEGROWTH increments for these files are specified as 15%.
  • Un groupe de fichiers nommé SalesGroup1 avec les fichiers SGrp1Fi1 et SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • Un groupe de fichiers nommé SalesGroup2 avec les fichiers SGrp2Fi1 et SGrp2Fi2.A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

Cet exemple place les fichiers de données et les fichiers journaux sur des disques différents afin d'améliorer les performances.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. Attachement d'une base de donnéesAttaching a database

L'exemple ci-dessous détache la base de données Archive créée dans l'exemple D, puis l'attache à l'aide de la clause FOR ATTACH.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive a été défini de manière à posséder plusieurs fichiers de données et fichiers journaux.Archive was defined to have multiple data and log files. Cependant, l'emplacement des fichiers n'ayant pas été modifié depuis leur création, seuls les fichiers primaires doivent être spécifiés dans la clause 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. À compter de SQL Server 2005 (9.x)SQL Server 2005 (9.x), tout fichier de texte intégral appartenant à la base de données qui est attachée est attaché avec la base de données.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. Création d'un instantané de base de donnéesCreating a database snapshot

L’exemple suivant crée l’instantané de base de données sales_snapshot0600.The following example creates the database snapshot sales_snapshot0600. Un instantané de base de données étant en lecture seule, un fichier journal ne peut pas être spécifié.Because a database snapshot is read-only, a log file cannot be specified. Conformément à la syntaxe, chaque fichier de la base de données source est spécifié et les groupes de fichiers ne sont pas spécifiés.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

La base de données source dans cet exemple est la base de données Sales créée dans l'exemple 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. Création d'une base de données et spécification d'un nom de classement et d'optionsCreating a database and specifying a collation name and options

L'exemple suivant crée la base de données MyOptionsTest.The following example creates the database MyOptionsTest. Un nom de classement est spécifié et les options TRUSTYWORTHY et DB_CHAINING ont la valeur 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. Attachement d'un catalogue de texte intégral qui a été déplacéAttaching a full-text catalog that has been moved

L'exemple suivant attache le catalogue de texte intégral AdvWksFtCat ainsi que les fichiers de données et fichiers journaux de AdventureWorks2012.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. Dans cet exemple, le catalogue de texte intégral est déplacé de son emplacement par défaut vers un nouvel emplacement c:\myFTCatalogs.In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. Les fichiers de données et les fichiers journaux restent dans leurs emplacements par défaut.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. Création d'une base de données qui spécifie un groupe de fichiers de ligne et deux groupes de fichiers FILESTREAMCreating a database that specifies a row filegroup and two FILESTREAM filegroups

L'exemple ci-dessous crée la base de données FileStreamDB.The following example creates the FileStreamDB database. La base de données est créée avec un groupe de fichiers de ligne et deux groupes de fichiers FILESTREAM.The database is created with one row filegroup and two FILESTREAM filegroups. Chaque groupe de fichiers contient un fichier :Each filegroup contains one file:

  • FileStreamDB_data contient des données de ligne.FileStreamDB_data contains row data. Il contient un seul fichier, FileStreamDB_data.mdf avec le chemin d'accès par défaut.It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos contient des données FILESTREAM.FileStreamPhotos contains FILESTREAM data. Il contient deux conteneurs de données FILESTREAM : FSPhotos (dans C:\MyFSfolder\Photos) et FSPhotos2 (dans D:\MyFSfolder\Photos).It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. Il est marqué comme groupe de fichiers FILESTREAM par défaut.It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes contient des données FILESTREAM.FileStreamResumes contains FILESTREAM data. Il contient un seul conteneur de données FILESTREAM, FSResumes, qui se trouve dans 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. Création d'une base de données disposant d'un groupe de fichiers FILESTREAM avec de nombreux fichiersCreating a database that has a FILESTREAM filegroup with multiple files

L'exemple ci-dessous crée la base de données BlobStore1.The following example creates the BlobStore1 database. La base de données est créée avec un groupe de fichiers de ligne et un groupe de fichiers FILESTREAM, FS.The database is created with one row filegroup and one FILESTREAM filegroup, FS. Le groupe de fichiers FILESTREAM contient deux fichiers, FS1 et FS2.The FILESTREAM filegroup contains two files, FS1 and FS2. Puis la base de données est modifiée par l'ajout d'un troisième fichier, FS3, au groupe de fichiers 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

Voir aussiSee Also

* SQL Database ** SQL Database *

 

SQL DatabaseSQL Database

Vue d’ensembleOverview

Dans Azure SQL DatabaseAzure SQL Database, cette instruction est utilisable avec un serveur SQL Azure pour créer une base de données unique ou une base de données dans un pool élastique.In Azure SQL DatabaseAzure SQL Database, this statement can be used with an Azure SQL server to create a single database or a database in an elastic pool. Elle implique de spécifier le nom, le classement, la taille maximale, l’édition, l’objectif de service et, le cas échéant, le pool élastique de la nouvelle base de données.With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. Elle permet également créer la base de données dans un pool élastiqueIt can also be used to create the database in an elastic pool. et de créer une copie de la base de données sur un autre serveur SQL Database.Additionally, it can be used to create a copy of the database on another SQL Database server.

SyntaxeSyntax

Création d'une base de donnéesCreate 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'
      | 'GP_Fsv2_8' | 'GP_Fsv2_10' | 'GP_Fsv2_12' | 'GP_Fsv2_14' | 'GP_Fsv2_16' | 'GP_Fsv2_18'
      | 'GP_Fsv2_20' | 'GP_Fsv2_24' | 'GP_Fsv2_32' | 'GP_Fsv2_36' | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'GP_S_Gen5_18' | 'GP_S_Gen5_20' | 'GP_S_Gen5_24' | 'GP_S_Gen5_32' | 'GP_S_Gen5_40'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_8' | 'BC_M_10' | 'BC_M_12' | 'BC_M_14' | 'BC_M_16' | 'BC_M_18'
      | 'BC_M_20' | 'BC_M_24' | 'BC_M_32' | 'BC_M_64' | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
}

Copier une base de donnéesCopy 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'
      | 'GP_Fsv2_8' | 'GP_Fsv2_10' | 'GP_Fsv2_12' | 'GP_Fsv2_14' | 'GP_Fsv2_16' | 'GP_Fsv2_18'
      | 'GP_Fsv2_20' | 'GP_Fsv2_24' | 'GP_Fsv2_32' | 'GP_Fsv2_36' | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'GP_S_Gen5_18' | 'GP_S_Gen5_20' | 'GP_S_Gen5_24' | 'GP_S_Gen5_32' | 'GP_S_Gen5_40'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_8' | 'BC_M_10' | 'BC_M_12' | 'BC_M_14' | 'BC_M_16' | 'BC_M_18'
      | 'BC_M_20' | 'BC_M_24' | 'BC_M_32' | 'BC_M_64' | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
   ]
[;]

ArgumentsArguments

database_name est le nom de la nouvelle base de données.database_name The name of the new database. Ce nom doit être unique sur le serveur SQL ServerSQL Server et doit respecter les règles SQL ServerSQL Server relatives aux identificateurs.This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. Pour plus d’informations, consultez Identificateurs.For more information, see Identifiers.

Collation_name : spécifie le classement par défaut de la base de données.Collation_name Specifies the default collation for the database. Le nom du classement peut être un nom de classement Windows ou SQL.Collation name can be either a Windows collation name or a SQL collation name. S’il est omis, le classement par défaut, SQL_Latin1_General_CP1_CI_AS, est affecté à la base de données.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Pour plus d’informations sur les noms de classements Windows et SQL, consultez COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATION : spécifie le classement par défaut du catalogue de métadonnées.CATALOG_COLLATION Specifies the default collation for the metadata catalog. DATABASE_DEFAULT Spécifie que le catalogue de métadonnées utilisé pour les vues et tables système doit être assemblé de façon à correspondre au classement par défaut pour la base de données.DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. Il s’agit du comportement adopté dans SQL Server.This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS Précise que le catalogue de métadonnées utilisé pour les vues et tables système doit être assemblé par rapport à un classement SQL_Latin1_General_CP1_CI_AS fixe.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. Il s’agit du paramètre par défaut dans Azure SQL Database si non spécifié.This is the default setting on Azure SQL Database if unspecified.

EDITION : spécifie la couche de service de la base de données.EDITION Specifies the service tier of the database.

Bases de données uniques et mises en pool.Single and pooled databases. Les valeurs disponibles sont : 'Basic', 'Standard', 'Premium', 'GeneralPurpose', 'BusinessCritical' et 'Hyperscale'.The available values are: 'Basic', 'Standard', 'Premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

MAXSIZE : spécifie la taille maximale de la base de données.MAXSIZE Specifies the maximum size of the database. 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 must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

Notes

L’argument MAXSIZE ne s’applique pas aux bases de données uniques dans le niveau de service Hyperscale.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. Les bases de données de niveau Hyperscale croissent en fonction des besoins, jusqu'à 100 To.Hyperscale tier databases grow as needed, up to 100 TB. Le service SQL Database ajoute automatiquement du stockage : vous n’avez pas besoin de définir une taille maximale.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modèle DTU des bases de données uniques et mises en pool sur un serveur SQL DatabaseDTU model for single and pooled databases on a SQL Database server

MAXSIZEMAXSIZE De baseBasic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100 Mo100 MB
250 Mo250 MB
500 Mo500 MB
1 Go1 GB
2 Go2 GB √ (D)√ (D)
5 Go5 GB N/AN/A
10 Go10 GB N/AN/A
20 Go20 GB N/AN/A
30 Go30 GB N/AN/A
40 Go40 GB N/AN/A
50 Go50 GB N/AN/A
100 Go100 GB N/AN/A
150 Go150 GB N/AN/A
200 Go200 GB N/AN/A
250 Go250 GB N/AN/A √ (D)√ (D) √ (D)√ (D)
300 Go300 GB NON APPLICABLEN/A NON APPLICABLEN/A
400 Go400 GB NON APPLICABLEN/A NON APPLICABLEN/A
500 Go500 GB NON APPLICABLEN/A NON APPLICABLEN/A √ (D)√ (D)
750 Go750 GB NON APPLICABLEN/A NON APPLICABLEN/A
1 024 Go1024 GB NON APPLICABLEN/A NON APPLICABLEN/A √ (D)√ (D)
À partir de 1 024 Go jusqu’à 4 096 Go par incréments de 256 Go*From 1024 GB up to 4096 GB in increments of 256 GB* N/AN/A NON APPLICABLEN/A NON APPLICABLEN/A N/AN/A

* P11 et P15 autorisent MAXSIZE jusqu’à 4 To, 1 024 Go étant la taille par défaut.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 et P15 peuvent utiliser jusqu’à 4 To de stockage inclus sans frais supplémentaires.P11 and P15 can use up to 4 TB of included storage at no additional charge. Au niveau Premium, une valeur MAXSIZE supérieure à 1 To est actuellement disponible dans les régions suivantes : USA Est 2, USA Ouest, US Gov Virginie, Europe Ouest, Allemagne Centre, Asie Sud-Est, Japon Est, Australie Est, Canada Centre et Canada Est.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. Pour plus d’informations sur les limitations des ressources du modèle DTU, consultez Limites des ressources DTU.For additional details regarding resource limitations for the DTU model, see DTU resource limits.

La valeur MAXSIZE pour le modèle DTU, si elle est spécifiée, doit être une valeur valide indiquée dans le tableau ci-dessus pour le niveau de service spécifié.The MAXSIZE value for the DTU model, if specified, has to be a valid value shown in the table above for the service tier specified.

Modèle vCorevCore model

Usage général - calcul provisionné - Gen4 (partie 1)General purpose - provisioned compute - Gen4 (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 15361536 15361536 15361536

Usage général - calcul provisionné - Gen4 (partie 2)General purpose - provisioned compute - Gen4 (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
Taille maximale des données (Go)Max data size (GB) 15361536 3 0723072 3 0723072 3 0723072 40964096 40964096

Usage général - calcul provisionné - Gen5 (partie 1)General purpose - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 15361536 15361536 15361536 15361536

Usage général - calcul provisionné - Gen5 (partie 2)General purpose - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
Taille maximale des données (Go)Max data size (GB) 3 0723072 3 0723072 3 0723072 40964096 40964096 40964096 40964096

Usage général - calcul provisionné - série Fsv2 (partie 1)General purpose - provisioned compute - Fsv2-series (part 1)

MAXSIZEMAXSIZE GP_Fsv2_8GP_Fsv2_8 GP_Fsv2_10GP_Fsv2_10 GP_Fsv2_12GP_Fsv2_12 GP_Fsv2_14GP_Fsv2_14 GP_Fsv2_16GP_Fsv2_16 GP_Fsv2_18GP_Fsv2_18
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 1 0241024 15361536 15361536

Usage général - calcul provisionné - série Fsv2 (partie 2)General purpose - provisioned compute - Fsv2-series (part 2)

MAXSIZEMAXSIZE GP_Fsv2_20GP_Fsv2_20 GP_Fsv2_24GP_Fsv2_24 GP_Fsv2_32GP_Fsv2_32 GP_Fsv2_36GP_Fsv2_36 GP_Fsv2_72GP_Fsv2_72
Taille maximale des données (Go)Max data size (GB) 15361536 15361536 3 0723072 3 0723072 40964096

Usage général - calcul serverless - Gen5 (partie 1)General purpose - serverless compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_S_Gen5_1GP_S_Gen5_1 GP_S_Gen5_2GP_S_Gen5_2 GP_S_Gen5_4GP_S_Gen5_4 GP_S_Gen5_6GP_S_Gen5_6 GP_S_Gen5_8GP_S_Gen5_8
vCores max.Max vCores 11 22 44 66 88

Usage général - calcul serverless - Gen5 (partie 2)General purpose - serverless compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_S_Gen5_10GP_S_Gen5_10 GP_S_Gen5_12GP_S_Gen5_12 GP_S_Gen5_14GP_S_Gen5_14 GP_S_Gen5_16GP_S_Gen5_16
vCores max.Max vCores 1010 1212 1414 1616

Usage général - calcul serverless - Gen5 (partie 3)General purpose - serverless compute - Gen5 (part 3)

MAXSIZEMAXSIZE GP_S_Gen5_18GP_S_Gen5_18 GP_S_Gen5_20GP_S_Gen5_20 GP_S_Gen5_24GP_S_Gen5_24 GP_S_Gen5_32GP_S_Gen5_32 GP_S_Gen5_40GP_S_Gen5_40
vCores max.Max vCores 1818 2020 2424 3232 4040

Critique pour l’entreprise - calcul provisionné - Gen4 (partie 1)Business critical - provisioned compute - Gen4 (part 1)

Taille de calcul (objectif de service)Compute size (service objective) 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
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 1 0241024 1 0241024 1 0241024

Critique pour l’entreprise - calcul provisionné - Gen4 (partie 2)Business critical - provisioned compute - Gen4 (part 2)

Taille de calcul (objectif de service)Compute size (service objective) 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
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 1 0241024 1 0241024 1 0241024

Critique pour l’entreprise - calcul provisionné - Gen5 (partie 1)Business critical - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
Taille maximale des données (Go)Max data size (GB) 1 0241024 1 0241024 1 0241024 15361536 15361536 15361536 15361536

Critique pour l’entreprise - calcul provisionné - Gen5 (partie 2)Business critical - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
Taille maximale des données (Go)Max data size (GB) 3 0723072 3 0723072 3 0723072 40964096 40964096 40964096 40964096

Critique pour l’entreprise - calcul provisionné - série M (partie 1)Business critical - provisioned compute - M-series (part 1)

MAXSIZEMAXSIZE BC_M_8BC_M_8 BC_M_10BC_M_10 BC_M_12BC_M_12 BC_M_14BC_M_14 BC_M_16BC_M_16 BC_M_18BC_M_18
Taille maximale des données (Go)Max data size (GB) 512512 640640 768768 896896 1 0241024 11521152

Critique pour l’entreprise - calcul provisionné - série M (partie 2)Business critical - provisioned compute - M-series (part 2)

MAXSIZEMAXSIZE BC_M_20BC_M_20 BC_M_24BC_M_24 BC_M_32BC_M_32 BC_M_64BC_M_64 BC_M_128BC_M_128
Taille maximale des données (Go)Max data size (GB) 1 2801280 15361536 2 0482048 40964096 40964096

Si aucune valeur MAXSIZE n’est définie lors de l’utilisation du modèle vCore, la valeur par défaut est de 32 Go.If no MAXSIZE value is set when using the vCore model, the default is 32 GB. Pour plus d’informations sur les limitations des ressources du modèle vCore, consultez Limites des ressources vCore.For additional details regarding resource limitations for vCore model, see vCore resource limits.

Les règles suivantes s'appliquent aux arguments MAXSIZE et EDITION.The following rules apply to MAXSIZE and EDITION arguments:

  • Si EDITION est spécifié, mais MAXSIZE n'est pas spécifié, la valeur par défaut de l'édition est utilisée.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Par exemple, si la valeur de EDITION est définie sur Standard, et que MAXSIZE n’est pas spécifié, la valeur de MAXSIZE est automatiquement définie sur 250 Mo.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 MAXSIZE et EDITION ne sont pas spécifiés, EDITION est défini sur GeneralPurpose et MAXSIZE est défini sur 32 Go.If neither MAXSIZE nor EDITION is specified, the EDITION is set to GeneralPurpose, and MAXSIZE is set to 32 GB.

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Pour les bases de données uniques et mises en poolFor single and pooled databases

    • Spécifie la taille de calcul (objectif de service).Specifies the compute size (service objective). Les valeurs disponibles pour l’objectif du service sont : S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_8, GP_Fsv2_10, GP_Fsv2_12, GP_Fsv2_14, GP_Fsv2_16, GP_Fsv2_18, GP_Fsv2_20, GP_Fsv2_24, GP_Fsv2_32, GP_Fsv2_36, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_8, BC_M_10, BC_M_12, BC_M_14, BC_M_16, BC_M_18, BC_M_20, BC_M_24, BC_M_32, BC_M_64, BC_M_128.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_8, GP_Fsv2_10, GP_Fsv2_12, GP_Fsv2_14, GP_Fsv2_16, GP_Fsv2_18, GP_Fsv2_20, GP_Fsv2_24, GP_Fsv2_32, GP_Fsv2_36, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_8, BC_M_10, BC_M_12, BC_M_14, BC_M_16, BC_M_18, BC_M_20, BC_M_24, BC_M_32, BC_M_64, BC_M_128.
  • Pour les bases de données serverlessFor serverless databases

    • Spécifie la taille de calcul (objectif de service).Specifies the compute size (service objective). Les valeurs disponibles pour l’objectif de service sont : GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, GP_S_Gen5_18, GP_S_Gen5_20, GP_S_Gen5_24, GP_S_Gen5_32, GP_S_Gen5_40.Available values for service objective are: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, GP_S_Gen5_18, GP_S_Gen5_20, GP_S_Gen5_24, GP_S_Gen5_32, GP_S_Gen5_40.
  • Pour les bases de données uniques du niveau de service HyperscaleFor single databases in the Hyperscale service tier

    • Spécifie la taille de calcul (objectif de service).Specifies the compute size (service objective). Les valeurs disponibles pour l’objectif du service sont : 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.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.

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 d’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 le SERVICE_OBJECTIVE spécifié n’est pas pris en charge par l’EDITION, un message d’erreur s’affiche.If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. Si vous voulez modifier la valeur de SERVICE_OBJECTIVE pour passer d'un niveau de service à un autre (par exemple de S1 à P1), vous devrez également modifier la valeur d'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. 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 de performance d’Azure SQL Database, Limites des ressources DTU et Limites des ressources vCore.For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU resource limits and vCore resource limits. La prise en charge des objectifs de service PRS a été supprimée.Support for PRS service objectives have been removed. Pour poser des questions, utilisez cet alias de messagerie : premium-rs@microsoft.com.For questions, use this e-mail alias: premium-rs@microsoft.com.

ELASTIC_POOL (name = <elastic_pool_name>) S’applique à : Bases de données uniques et mises en pool uniquement.ELASTIC_POOL (name = <elastic_pool_name>) Applies to: Single and pooled databases only. Ne s’applique pas aux bases de données dans le niveau de service Hyperscale.Does not apply to databases in the Hyperscale service tier. Pour créer une base de données dans un pool de bases de données élastique, définissez SERVICE_OBJECTIVE de la base de données sur ELASTIC_POOL et fournissez le nom du pool.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. Pour plus d’informations, consultez Créer et gérer un pool élastique SQL Database.For more information, see Create and manage a SQL Database elastic pool.

AS COPY OF [source_server_name.]source_database_name S’applique à : Bases de données uniques et mises en pool uniquement.AS COPY OF [source_server_name.]source_database_name Applies to: Single and pooled databases only. Pour la copie d'une base de données sur le même serveur ou sur un serveur SQL DatabaseSQL Database différent.For copying a database to the same or a different SQL DatabaseSQL Database server.

source_server_name : nom du serveur SQL DatabaseSQL Database où se trouve la base de données source.source_server_name The name of the SQL DatabaseSQL Database server where the source database is located. 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 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.

Notes

l'argument AS COPY OF ne prend pas en charge les noms de domaine complets uniques.The AS COPY OF argument does not support the fully qualified unique domain names. 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.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

Nom de la base de données copiée.The name of the database that is to be copied.

NotesRemarks

Les bases de données dans Azure SQL DatabaseAzure SQL Database ont plusieurs paramètres par défaut définis lors de la création de la base de données.Databases in Azure SQL DatabaseAzure SQL Database have several default settings that are set when the database is created. Pour plus d’informations sur ces paramètres par défaut, consultez la liste de valeurs dans DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE permet de limiter la taille de la base de données.MAXSIZE provides the ability to limit the size of the database. Si la taille de la base de données atteint sa valeur MAXSIZE, vous recevez un code d’erreur 40544.If the size of the database reaches its MAXSIZE, you receive error code 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).When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). Toutefois, vous pouvez encore lire et supprimer des données, tronquer des tables, supprimer des tables et des index et reconstruire des index.However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. 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.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Vous devrez peut-être patienter jusqu'à quinze minutes avant de pouvoir insérer de nouvelles données.There may be as much as a fifteen-minute delay before you can insert new data.

Pour modifier ultérieurement les valeurs de taille, d’édition ou d’objectif de service, utilisez ALTER DATABASE - Azure SQL Database.To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

L’argument CATALOG_COLLATION est uniquement disponible lors de la création de base de données.The CATALOG_COLLATION argument is only available during database creation.

Copies de bases de donnéesDatabase Copies

S’applique à : Bases de données uniques et mises en pool uniquement.Applies to: Single and pooled databases only.

La copie d’une base de données à l’aide de l’instruction CREATE DATABASE est une opération asynchrone.Copying a database using the CREATE DATABASE statement is an asynchronous operation. Par conséquent, une connexion au serveur SQL DatabaseSQL Database n'est pas nécessaire pendant toute la durée du processus de copie.Therefore, a connection to the SQL DatabaseSQL Database server is not needed for the full duration of the copy process. 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.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. Autrement dit, l'instruction CREATE DATABASE est renvoyée avec succès lorsque la copie de base de données est encore en cours.In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • Surveillance du processus de copie sur un serveur SQL DatabaseSQL Database : Interroger les colonnes percentage_complete ou replication_state_desc des dm_database_copies ou de la colonne state dans la vue 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. La vue sys.dm_operation_status peut aussi être utilisée, car elle retourne l’état des opérations de base de données, y compris la copie de base de données.The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

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.At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

La syntaxe et les règles sémantiques suivante s'appliquent à votre utilisation de l'argument AS COPY OF :The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • Le nom du serveur source et le nom du serveur pour la cible de copie peuvent être identiques ou différents.The source server name and the server name for the copy target may be the same or different. Lorsqu’ils sont identiques, ce paramètre est facultatif et le contexte de serveur de la session active est utilisé par défaut.When they are the same, this parameter is optional and the server context of the current session is used by default.
  • 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 ServerSQL Server.The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. Pour plus d’informations, consultez Identificateurs.For more information, see Identifiers.
  • L'instruction CREATE DATABASE doit être exécutée dans le contexte de la base de données master du serveur SQL DatabaseSQL Database où la nouvelle base de données sera créée.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.
  • 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.After the copying completes, the destination database must be managed as an independent database. 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.You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. Vous pouvez également copier la nouvelle base de données vers une autre nouvelle base de données.You can also copy the new database to another new database.
  • La base de données source est toujours accessible pendant que la copie de base de données est en cours.The source database may continue to be accessed while the database copy is in progress.

Pour plus d’informations, consultez Créer une copie de base de données Azure SQL à l’aide de Transact-SQL.For more information, see Create a copy of an Azure SQL database using Transact-SQL.

AutorisationsPermissions

Pour créer une base de données, une connexion doit correspondre à l’un des éléments suivants :To create a database, a login must be one of the following:

  • La connexion du principal au niveau du serveurThe server-level principal login
  • L’administrateur Azure AD pour Azure SQL Server localThe Azure AD administrator for the local Azure SQL Server
  • Une connexion qui est membre du rôle de base de données dbmanagerA login that is a member of the dbmanager database role

Exigences supplémentaires relatives à l’utilisation de la syntaxe CREATE DATABASE ... AS COPY OF : La connexion exécutant l’instruction sur le serveur local doit également être au moins db_owner sur le serveur source.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 la connexion est basée sur l’authentification SQL ServerSQL Server, la connexion exécutant l’instruction sur le serveur local doit avoir une connexion correspondante sur le serveur SQL DatabaseSQL Database source, avec les mêmes nom et mot de passe.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.

ExemplesExamples

Exemple simpleSimple Example

Voici un exemple simple de création d’une base de données.A simple example for creating a database.

CREATE DATABASE TestDB1;

Exemple simple avec une éditionSimple Example with Edition

Voici un exemple simple de création d’une base de données d’usage général.A simple example for creating a general purpose database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

Exemple avec des options supplémentairesExample with Additional Options

Voici un exemple utilisant plusieurs options.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' ) ;

Création d’une copieCreating a Copy

Voici un exemple de création d’une copie de base de données.An example creating a copy of a database.

S’applique à : Bases de données uniques et mises en pool uniquement.Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

Création d’une base de données dans un pool élastiqueCreating a Database in an Elastic Pool

Crée une base de données dans le pool nommé S3M100 :Creates new database in pool named S3M100:

S’applique à : Bases de données uniques et mises en pool uniquement.Applies to: Single and pooled databases only.

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

Création d’une copie de base de données sur un autre serveurCreating a Copy of a Database on Another Server

L’exemple suivant crée une copie de la base de données db_original, nommée db_copy dans la taille de calcul P2 (objectif de service) pour une base de données.The following example creates a copy of the db_original database, named db_copy in the P2 compute size (service objective) for a single database. Cette opération est possible, que db_original se trouve dans un pool élastique ou une taille de calcul (objectif de service) pour une base de données.This is true regardless of whether db_original is in an elastic pool or a compute size (service objective) for a single database.

S’applique à : Bases de données uniques et mises en pool uniquement.Applies to: Single and pooled databases only.

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

L’exemple suivant crée une copie de la base de données db_original, nommée db_copy, dans le pool élastique nommé ep1.The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. Cette opération est possible, que db_original se trouve dans un pool élastique ou une taille de calcul (objectif de service) pour une base de données.This is true regardless of whether db_original is in an elastic pool or a compute size (service objective) for a single database. Si db_original se trouve dans un pool élastique avec un nom différent, la création de db_copy est malgré tout effectuée dans ep1.If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

S’applique à : Bases de données uniques et mises en pool uniquement.Applies to: Single and pooled databases only.

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

Créer la base de données avec la valeur de classement de catalogue spécifiéeCreate database with specified catalog collation value

L’exemple suivant définit le classement de catalogue sur DATABASE_DEFAULT lors de création de bases de données, rendant le classement de catalogue identique au classement de base de données.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

Voir aussiSee also

* SQL Database
Managed Instance *
* SQL Database
Managed Instance *

 

Azure SQL Managed InstanceAzure SQL Managed Instance

Vue d’ensembleOverview

Dans Azure SQL Managed Instance, cette instruction permet de créer une base de données.In Azure SQL Managed Instance, this statement is used to create a database. La création d’une base de données sur une instance managée implique de spécifier son nom et son classement.When creating a database on a managed instance, you specify the database name and collation.

SyntaxeSyntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

Important

Pour ajouter des fichiers ou définir l’autonomie d’une base de données dans une instance managée, utilisez l’instruction ALTER DATABASE.To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

ArgumentsArguments

database_name est le nom de la nouvelle base de données.database_name The name of the new database. Ce nom doit être unique sur le serveur SQL et respecter les règles SQL ServerSQL Server relatives aux identificateurs.This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. Pour plus d’informations, consultez Identificateurs.For more information, see Identifiers.

Collation_name : spécifie le classement par défaut de la base de données.Collation_name Specifies the default collation for the database. Le nom du classement peut être un nom de classement Windows ou SQL.Collation name can be either a Windows collation name or a SQL collation name. S’il est omis, le classement par défaut, SQL_Latin1_General_CP1_CI_AS, est affecté à la base de données.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Pour plus d’informations sur les noms de classements Windows et SQL, consultez COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

NotesRemarks

Les bases de données dans Azure SQL DatabaseAzure SQL Database ont plusieurs paramètres par défaut définis lors de la création de la base de données.Databases in Azure SQL DatabaseAzure SQL Database have several default settings that are set when the database is created. Pour plus d’informations sur ces paramètres par défaut, consultez la liste de valeurs dans DATABASEPROPERTYEX.For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

Important

L'instruction CREATE DATABASE doit être la seule instruction dans un lot Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

CREATE DATABASE présente les limitations suivantes :The following are CREATE DATABASE limitations:

  • Il n’est pas possible de définir des fichiers ou des groupes de fichiers.Files and filegroups cannot be defined.

  • Les options WITH ne sont pas prises en charge.WITHoptions are not supported.

    Conseil

    Pour contourner le problème, utilisez ALTER DATABASEAs workaround, use ALTER DATABASE. après CREATE DATABASE afin de définir les options de base de données et d’ajouter des fichiers.after CREATE DATABASE to set database options and to add files.

AutorisationsPermissions

Pour créer une base de données, une connexion doit correspondre à l’un des éléments suivants :To create a database, a login must be one of the following:

  • La connexion du principal au niveau du serveurThe server-level principal login
  • L’administrateur Azure AD pour Azure SQL Server localThe Azure AD administrator for the local Azure SQL Server
  • Une connexion qui est membre du rôle de base de données dbcreatorA login that is a member of the dbcreator database role

ExemplesExamples

Exemple simpleSimple Example

Voici un exemple simple de création d’une base de données.A simple example for creating a database.

CREATE DATABASE TestDB1;

Voir aussiSee also

Voir ALTER DATABASE.See ALTER DATABASE

* Azure Synapse
Analytics *
* Azure Synapse
Analytics *

 

Azure Synapse AnalyticsAzure Synapse Analytics

Vue d’ensembleOverview

Dans Azure Synapse, cette instruction peut être utilisée avec un serveur Azure SQL Database pour créer une base de données SQL Analytics.In Azure Synapse, this statement can be used with an Azure SQL Database server to create a SQL Analytics database. Cette instruction implique de spécifier le nom, le classement, la taille maximale, l’édition et l’objectif de service de la base de données.With this statement, you specify the database name, collation, maximum size, edition, and service objective.

SyntaxeSyntax

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'
    }
)
[;]

ArgumentsArguments

database_name est le nom de la nouvelle base de données.database_name The name of the new database. Ce nom doit respecter les règles SQL ServerSQL Server applicables aux identificateurs et être unique sur le serveur SQL qui peut héberger à la fois des bases de données Azure SQL DatabaseAzure SQL Database et des bases de données Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).This name must be unique on the SQL server, which can host both Azure SQL DatabaseAzure SQL Database databases and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) databases, and comply with the SQL ServerSQL Server rules for identifiers. Pour plus d’informations, consultez Identificateurs.For more information, see Identifiers.

collation_name spécifie le classement par défaut de la base de données.collation_name Specifies the default collation for the database. Le nom du classement peut être un nom de classement Windows ou SQL.Collation name can be either a Windows collation name or a SQL collation name. S’il est omis, le classement par défaut, SQL_Latin1_General_CP1_CI_AS, est affecté à la base de données.If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Pour plus d’informations sur les noms de classements Windows et SQL, consultez COLLATE (Transact-SQL).For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION spécifie la couche de service de la base de données.EDITION Specifies the service tier of the database. Pour Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse), utilisez « datawarehouse ».For Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) use 'datawarehouse'.

MAXSIZE La valeur par défaut est 245 760 Go (240 To).MAXSIZE The default is 245,760 GB (240 TB).

S’applique à : Optimisé pour le calcul Gen1Applies to: Optimized for Compute Gen1

Taille maximale autorisée pour la base de données.The maximum allowable size for the database. La base de données ne peut pas croître au-delà de MAXSIZE.The database cannot grow beyond MAXSIZE.

S’applique à : Optimisé pour le calcul Gen2Applies to: Optimized for Compute Gen2

Taille maximale autorisée pour les données rowstore dans la base de données.The maximum allowable size for rowstore data in the database. Les données stockées dans les tables rowstore, dans un deltastore d’index columnstore ou un index non cluster sur un index columnstore cluster, ne peuvent pas croître au-delà de MAXSIZE. Les données compressées au format columnstore n’ont pas de taille limite et ne sont pas restreintes par 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_OBJECTIVE spécifie la taille de calcul (objectif de service).SERVICE_OBJECTIVE Specifies the compute size (service objective). Pour plus d’informations sur les objectifs de service d’Azure Synapse, voir Data Warehouse Units (DWU).For more information about service objectives for Azure Synapse, see Data Warehouse Units (DWUs).

Remarques d'ordre généralGeneral Remarks

Utilisez DATABASEPROPERTYEX pour afficher les propriétés de la base de données.Use DATABASEPROPERTYEX to see the database properties.

Utilisez ALTER DATABASE - Azure Synapse Analytics pour changer la taille maximale ou les valeurs des objectifs de service par la suite.Use ALTER DATABASE - Azure Synapse Analytics to change the max size, or service objective values later.

Azure Synapse est défini sur COMPATIBILITY_LEVEL 130 et ne peut pas être modifié.Azure Synapse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Pour plus d’informations, consultez Meilleures performances des requêtes avec le niveau de compatibilité 130 dans Azure SQL Database.For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

AutorisationsPermissions

Autorisations nécessaires :Required permissions:

  • Connexion au principal de niveau serveur, créé par le processus de déploiement ouServer level principal login, created by the provisioning process, or
  • Membre du rôle de base de données dbmanager.Member of the dbmanager database role.

Gestion des erreursError Handling

Si la taille de la base de données atteint la valeur MAXSIZE, vous recevez un code d’erreur 40544.If the size of the database reaches MAXSIZE you will receive error code 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).When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). Vous pouvez toujours lire et supprimer des données, tronquer des tables, supprimer des tables et des index, et reconstruire des index.You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. 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.You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. Vous devrez peut-être patienter jusqu'à quinze minutes avant de pouvoir insérer de nouvelles données.There may be as much as a fifteen-minute delay before you can insert new data.

Limitations et restrictionsLimitations and Restrictions

Vous devez être connecté à la base de données master pour créer une base de données.You must be connected to the master database to create a new database.

L'instruction CREATE DATABASE doit être la seule instruction dans un lot Transact-SQLTransact-SQL.The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

Vous ne pouvez pas modifier le classement de la base de données après la création de celle-ci.You cannot change the database collation after the database is created.

Exemples : Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)Examples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)

R.A. Exemple simpleSimple example

Voici un exemple simple de création d’une base de données de l’entrepôt de données.A simple example for creating a data warehouse database. La base de données est créée avec la plus petite taille maximale (10 240 Go), le classement par défaut (SQL_Latin1_General_CP1_CI_AS) et la plus petite puissance de calcul (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. Créer une base de données de l’entrepôt de données avec toutes les optionsCreate a data warehouse database with all the options

Voici un exemple de création d’un entrepôt de données de 10 téraoctets en utilisant toutes les options.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');

Voir aussiSee Also

* Système de plateforme
d’analyse (PDW) *
* Analytics Platform
System (PDW) *

 

Système de la plateforme d'analyseAnalytics Platform System

Vue d’ensembleOverview

Dans le système de plateforme d’analyse, cette instruction permet de créer une nouvelle base de données sur une appliance Système de plateforme d’analyse.In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. Utilisez cette instruction pour créer tous les fichiers associés à une base de données d’appliance, et pour définir les options de croissance automatique et de taille maximale pour les tables de base de données et le journal des transactions.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.

SyntaxeSyntax

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

ArgumentsArguments

database_name est le nom de la nouvelle base de données.database_name The name of the new database. Pour plus d’informations sur les noms de bases de données autorisés, consultez « Règles de nommage d’objet » et « Noms de bases de données réservés » dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF spécifie si les paramètres replicated_size, distributed_size et log_size pour cette base de données croissent automatiquement en fonction des besoins au-delà de leur taille spécifiée.AUTOGROW = ON | OFF Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. La valeur par défaut est OFF.Default value is OFF.

Si AUTOGROW est ON, replicated_size, distributed_size, et log_size croissent en fonction des besoins (et non par blocs de la taille spécifiée initiale) lors de chaque insertion de données, mise à jour ou autre action nécessitant davantage de stockage que ce qui a déjà été alloué.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 est OFF, les tailles n’augmentent pas automatiquement.If AUTOGROW is OFF, the sizes will not grow automatically. Parallel Data WarehouseParallel Data Warehouse retourne une erreur en cas de tentative d’exécution d’une action qui exige que replicated_size, distributed_size ou log_size croisse au-delà de sa valeur spécifiée.will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

AUTOGROW est ON pour toutes les tailles ou OFF pour toutes les tailles.AUTOGROW is either ON for all sizes or OFF for all sizes. Par exemple, vous ne pouvez pas définir AUTOGROW ON pour log_size sans le définir également pour replicated_size.For example, it is not possible to set AUTOGROW ON for log_size, but not set it for replicated_size.

replicated_size [Go] est un nombre positif.replicated_size [ GB ] A positive number. Définit la taille (en gigaoctets entier ou décimal) pour l’espace total alloué aux tables répliquées et aux données correspondantes sur chaque nœud de calcul.Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. Pour plus d’informations sur les exigences liées aux valeurs replicated_size minimales et maximales, consultez « Valeurs minimales et maximales » dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

Si AUTOGROW est ON, les tables répliquées sont autorisées à croître au-delà de cette limite.If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

Si AUTOGROW est OFF, une erreur est retournée si un utilisateur tente de créer une table répliquée, d’insérer des données dans une table répliquée existante, ou de mettre à jour une table répliquée existante d’une manière qui augmenterait la taille au-delà 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 [Go] est un nombre positif.distributed_size [ GB ] A positive number. Taille (en gigaoctets entier ou décimal) pour l’espace total alloué aux tables distribuées et aux données correspondantes à l’échelle de l’appliance.The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. Pour plus d’informations sur les exigences liées aux valeurs distributed_size minimales et maximales, consultez « Valeurs minimales et maximales » dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

Si AUTOGROW est ON, les tables distribuées sont autorisées à croître au-delà de cette limite.If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

Si AUTOGROW est OFF, une erreur est retournée si un utilisateur tente de créer une table distribuée, d’insérer des données dans une table distribuée existante, ou de mettre à jour une table distribuée existante d’une manière qui augmenterait la taille au-delà de replicated_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 [Go] est un nombre positif.log_size [ GB ] A positive number. Taille (en gigaoctets entier ou décimal) du journal des transactions à l’échelle de l’appliance.The size (in integer or decimal gigabytes) for the transaction log across the appliance.

Pour plus d’informations sur les exigences liées aux valeurs log_size minimales et maximales, consultez « Valeurs minimales et maximales » dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

Si AUTOGROW est ON, le fichier journal est autorisé à croître au-delà de cette limite.If AUTOGROW is ON, the log file is permitted to grow beyond this limit. Utilisez l’instruction DBCC SHRINKLOG (Azure Synapse Analytics) afin de réduire la taille des fichiers journaux à leur taille d’origine.Use the DBCC SHRINKLOG (Azure Synapse Analytics) statement to reduce the size of the log files to their original size.

Si AUTOGROW est OFF, une erreur est retournée pour toute action qui augmenterait la taille du journal sur un nœud de calcul au-delà de log_size.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.

AutorisationsPermissions

Nécessite l’autorisation CREATE ANY DATABASE dans la base de données master ou l’appartenance au rôle serveur fixe sysadmin.Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

L'exemple suivant fournit l'autorisation de créer une base de données à l'utilisateur de base de données 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

Remarques d'ordre généralGeneral Remarks

Les bases de données sont créées avec le niveau de compatibilité de base de données 120, qui est le niveau de compatibilité pour 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). Cela garantit que la base de données pourra utiliser toutes les fonctionnalités de SQL Server 2014 (12.x)SQL Server 2014 (12.x) utilisées par PDW.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.

Limitations et restrictionsLimitations and Restrictions

L’instruction CREATE DATABASE n’est pas autorisée dans une transaction explicite.The CREATE DATABASE statement is not allowed in an explicit transaction. Pour plus d’informations, consultez Instructions.For more information, see Statements.

Pour plus d’informations sur les contraintes minimales et maximales sur les bases de données, consultez « Valeurs minimales et maximales » dans la Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Documentation du produit Parallel Data WarehouseParallel Data Warehouse product documentation.

Lors de la création d’une base de données, il doit y avoir suffisamment d’espace libre disponible sur chaque nœud de calcul pour allouer le total combiné des tailles suivantes :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 données SQL ServerSQL Server avec des tables de la taille de replicated_table_size.SQL ServerSQL Server database with tables the size of replicated_table_size.
  • Base de données SQL ServerSQL Server avec des tables de la taille de (distributed_table_size / nombre de nœuds de calcul).SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • Journaux SQL ServerSQL Server de la taille de (log_size / nombre de nœuds de calcul).SQL ServerSQL Server logs the size of (log_size / number of Compute nodes).

VerrouillageLocking

Prend un verrou partagé sur l’objet DATABASE.Takes a shared lock on the DATABASE object.

MétadonnéesMetadata

Une fois cette opération réussie, une entrée pour cette base de données apparaît dans les vues de métadonnées sys.databases et sys.objects.After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

Exemples : Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

R.A. Exemples simples de création de base de donnéesBasic database creation examples

L’exemple suivant crée la base de données mytest avec une allocation de stockage de 100 Go par nœud de calcul pour les tables répliquées, 500 Go par appliance pour les tables distribuées et 100 Go par appliance pour le journal des transactions.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. Dans cet exemple, AUTOGROW est OFF par défaut.In this example, AUTOGROW is off by default.

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

L’exemple suivant crée la base de données mytest avec les mêmes paramètres que ci-dessus, sauf que AUTOGROW est ON.The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. Cela permet à la base de données de croître au-delà des paramètres de taille spécifiés.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. Création d’une base de données avec des valeurs de taille en gigaoctets partiellesCreating a database with partial gigabyte sizes

L’exemple suivant crée la base de données mytest avec AUTOGROW OFFn une allocation de stockage de 1,5 Go par nœud de calcul pour les tables répliquées, 5,25 Go par appliance pour les tables distribuées et 10 Go par appliance pour le journal des transactions.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);

Voir aussiSee Also