ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

Modifie certaines options de configuration d’une base de données.Modifies certain configuration options of a database.

Cet article fournit la syntaxe, les arguments, les notes, les autorisations et des exemples associés au produit SQL que vous choisissez.This article provides the syntax, arguments, remarks, permissions, and examples for whichever SQL product you choose.

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.

Cliquez sur un produit !Click a product!

Dans la ligne suivante, cliquez sur le nom du produit qui vous intéresse.In the following row, click whichever product name you are interested in. Le clic affiche un contenu différent ici dans cette page web, approprié pour le produit sur lequel vous cliquez.The click displays different content here on this webpage, appropriate for whichever product you click.

 

SQL ServerSQL Server

Vue d'ensembleOverview

Dans SQL Server, cette instruction modifie une base de données ou les fichiers et groupes de fichiers associés à la base de données.In SQL Server, this statement modifies a database, or the files and filegroups associated with the database. Ajoute ou supprime des fichiers et des groupes de fichiers d'une base de données, modifie ses attributs ou ses fichiers et groupes de fichiers, modifie le classement de la base de données et définit les options de la base de données.Adds or removes files and filegroups from a database, changes the attributes of a database or its files and filegroups, changes the database collation, and sets database options. Les instantanés de base de données ne peuvent pas être modifiés.Database snapshots cannot be modified. Pour modifier les options de base de données associées à la réplication, utilisez sp_replicationdboption.To modify database options associated with replication, use sp_replicationdboption.

En raison de sa longueur, la syntaxe d’ALTER DATABASE est divisée en plusieurs articles.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASEALTER DATABASE
Le présent article indique la syntaxe à utiliser et les informations associées pour modifier le nom et le classement d’une base de données.The current article provides the syntax and related information for changing the name and the collation of a database.

Options de fichiers et de groupes de fichiers ALTER DATABASEALTER DATABASE File and Filegroup Options
Indique la syntaxe à utiliser et les informations associées pour ajouter et supprimer des fichiers et groupes de fichiers d’une base de données, et pour modifier les attributs des fichiers et groupes de fichiers.Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Options ALTER DATABASE SETALTER DATABASE SET Options
Indique la syntaxe à utiliser et les informations associées pour modifier les attributs d’une base de données à l’aide des options SET d’ALTER DATABASE.Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Mise en miroir de bases de données ALTER DATABASEALTER DATABASE Database Mirroring
Indique la syntaxe et les informations associées des options SET d’ALTER DATABASE relatives à la mise en miroir de bases de données.Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database mirroring.

ALTER DATABASE SET HADRALTER DATABASE SET HADR
Indique la syntaxe et les informations associées des options Groupes de disponibilité Always OnAlways On availability groups d’ALTER DATABASE pour configurer une base de données secondaire sur un réplica secondaire d’un groupe de disponibilité Always On.Provides the syntax and related information for the Groupes de disponibilité Always OnAlways On availability groups options of ALTER DATABASE for configuring a secondary database on a secondary replica of an Always On availability group.

Niveau de compatibilité ALTER DATABASEALTER DATABASE Compatibility Level
Indique la syntaxe et les informations associées des options SET d’ALTER DATABASE relatives aux niveaux de compatibilité des bases de données.Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SyntaxeSyntax

-- SQL Server Syntax  
ALTER DATABASE { database_name  | CURRENT }  
{  
    MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   

}  
[;]  

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=   
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec>::=  
  <auto_option> ::=   
  <change_tracking_option> ::=  
  <cursor_option> ::=   
  <database_mirroring_option> ::=   
  <date_correlation_optimization_option> ::=  
  <db_encryption_option> ::=  
  <db_state_option> ::=  
  <db_update_option> ::=  
  <db_user_access_option> ::=  <delayed_durability_option> ::=  <external_access_option> ::=  
  <FILESTREAM_options> ::=  
  <HADR_options> ::=    
  <parameterization_option> ::=  
  <query_store_options> ::=  
  <recovery_option> ::=   
  <service_broker_option> ::=  
  <snapshot_option> ::=  
  <sql_option> ::=   
  <termination> ::=  

<compatibility_level>
   { 140 | 130 | 120 | 110 | 100 | 90 }   

ArgumentsArguments

database_namedatabase_name
Nom de la base de données à modifier.Is the name of the database to be modified.

Note

Cette option n'est pas disponible dans une base de données autonome.This option is not available in a Contained Database.

CURRENTCURRENT
S'applique à: SQL Server 2012 (11.x)SQL Server 2012 (11.x) jusqu'à SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Indique que la base de données actuelle en cours d'utilisation doit être modifiée.Designates that the current database in use should be altered.

MODIFY NAME =new_database_nameMODIFY NAME =new_database_name
Renomme la base de données avec le nom spécifié nouveau_nom_base_de_données.Renames the database with the name specified as new_database_name.

COLLATE collation_nameCOLLATE collation_name
Spécifie le classement par défaut de la base de données.Specifies the collation for the database. collation_name 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é, le classement par défaut de l'instance de SQL ServerSQL Server sera appliqué à la base de données.If not specified, the database is assigned the collation of the instance of SQL ServerSQL Server.

Lors de la création de bases de données autrement qu'avec le classement par défaut, les données dans la base de données respectent toujours le classement spécifié.When creating databases with other than the default collation, the data in the database always respects the specified collation. Pour SQL ServerSQL Server, quand vous créez une base de données autonome, les informations de catalogue interne sont conservées à l'aide du classement par défaut SQL ServerSQL Server, Latin1_General_100_CI_AS_WS_KS_SC.For SQL ServerSQL Server, when creating a contained database, the internal catalog information is maintained using the SQL ServerSQL Server default collation, Latin1_General_100_CI_AS_WS_KS_SC.

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.

<delayed_durability_option> ::=<delayed_durability_option> ::=
S'applique à: SQL Server 2014 (12.x)SQL Server 2014 (12.x) jusqu'à SQL Server 2017SQL Server 2017.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017.

Pour plus d’informations, voir Options d’ALTER DATABASE SET et Contrôler la durabilité d’une transaction.For more information see ALTER DATABASE SET Options and Control Transaction Durability.

<file_and_filegroup_options>::=<file_and_filegroup_options>::=
Pour plus d’informations, voir Options de fichiers et de groupes de fichiers d’ALTER DATABASE.For more information, see ALTER DATABASE File and Filegroup Options.

Notes Remarks

Pour supprimer une base de données, utilisez DROP DATABASE.To remove a database, use DROP DATABASE.

Pour diminuer la taille d'une base de données, utilisez DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'instruction ALTER 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 ALTER DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

L'état d'un fichier de base de données (par exemple, en ligne ou hors connexion) est préservé indépendamment de l'état de la base de données.The state of a database file (for example, online or offline), is maintained independently from the state of the database. Pour plus d’informations, consultez États des fichiers.For more information, see File States. L'état des fichiers dans un groupe de fichiers détermine la disponibilité de tout le groupe de fichiers.The state of the files within a filegroup determines the availability of the whole filegroup. Pour qu'un groupe de fichiers soit disponible, tous ses fichiers doivent être en ligne.For a filegroup to be available, all files within the filegroup must be online. Si un groupe de fichiers est hors connexion, toute tentative d'accès au groupe par une instruction SQL échoue avec une erreur.If a filegroup is offline, any try to access the filegroup by an SQL statement will fail with an error. Lorsque vous créez des plans de requête pour les instructions SELECT, l'optimiseur de requête évite les index non cluster et les vues indexées qui résident dans les groupes de fichiers hors connexion.When you build query plans for SELECT statements, the query optimizer avoids nonclustered indexes and indexed views that reside in offline filegroups. Cela permet aux instructions de s'exécuter correctement.This enables these statements to succeed. Cependant, si le groupe de fichiers hors connexion contient le segment ou l'index cluster d'une table cible, les instructions SELECT échouent.However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. De plus, toute instruction INSERT, UPDATE ou DELETE modifiant une table assortie d'un index dans un groupe de fichiers hors connexion ne peut être exécutée.Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

Lorsque l'état d'une base de données est RESTORING, les instructions ALTER DATABASE, pour la plupart, échouent.When a database is in the RESTORING state, most ALTER DATABASE statements will fail. La définition des options de mise en miroir de bases de données fait exception.The exception is setting database mirroring options. Une base de données peut être à l'état RESTORING durant une opération de restauration active, ou lorsqu'une opération de restauration d'un fichier de base de données ou d'un fichier journal échoue car un fichier de sauvegarde est corrompu.A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

Le cache du plan pour l'instance de SQL ServerSQL Server est effacé par la définition de l'une des options suivantes :The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options.

OFFLINEOFFLINE READ_WRITEREAD_WRITE
ONLINEONLINE MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT
MODIFY_NAMEMODIFY_NAME MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE
COLLATECOLLATE MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY
READ_ONLYREAD_ONLY PAGE_VERIFYPAGE_VERIFY

Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Pour chaque mémoire cache effacée dans le cache de plan, le journal des erreurs SQL ServerSQL Server contient le message d'information suivant : « SQL ServerSQL Server a rencontré %d occurrence(s) de vidages de mémoire cache pour la mémoire cache '%s' (partie du cache du plan) en raison d'opérations de maintenance ou de reconfiguration de base de données ».For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Ce message est enregistré toutes les cinq minutes si le cache est vidé au cours de cet intervalle de temps.This message is logged every five minutes as long as the cache is flushed within that time interval.

Le cache de procédures est également vidé dans les scénarios suivants :The procedure cache is also flushed in the following scenarios:

  • L'option de base de données AUTO_CLOSE est activée (ON).A database has the AUTO_CLOSE database option set to ON. Lorsqu'aucune connexion utilisateur ne fait référence ou n'utilise la base de données, la tâche en arrière-plan essaie de fermer et d'arrêter la base de données automatiquement.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Vous exécutez plusieurs requêtes sur une base de données dont les options par défaut sont activées.You run several queries against a database that has default options. Puis, la base de données est supprimée.Then, the database is dropped.
  • Un instantané de base de données pour une base de données source est supprimé.A database snapshot for a source database is dropped.
  • Vous reconstruisez avec succès le journal des transactions d'une base de données.You successfully rebuild the transaction log for a database.
  • Vous restaurez une sauvegarde de base de données.You restore a database backup.
  • Vous détachez une base de données.You detach a database.

Modification du classement de la base de donnéesChanging the Database Collation

Avant d'appliquer un autre classement à une base de données, veillez à ce que les conditions suivantes soient remplies :Before you apply a different collation to a database, make sure that the following conditions are in place:

  • Vous êtes actuellement le seul à utiliser la base de données.You are the only one currently using the database.
  • Aucun objet lié à un schéma ne dépend du classement de la base de données.No schema-bound object depends on the collation of the database.

    Si les objets suivants, qui dépendent du classement de base de données, existent dans la base de données, l’instruction ALTER DATABASEdatabase_nameCOLLATE échoue.If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail. SQL ServerSQL Server retourne un message d'erreur pour chaque objet bloquant l'action ALTER : will return an error message for each object blocking the ALTER action:

    • Fonctions et vues définies par l'utilisateur créées avec SCHEMABINDINGUser-defined functions and views created with SCHEMABINDING.

    • Colonnes calculéesComputed columns.

    • Contraintes CHECKCHECK constraints.

    • Fonctions table qui retournent des tables comportant des colonnes de type caractère avec des classements hérités du classement par défaut de la base de donnéesTable-valued functions that return tables with character columns with collations inherited from the default database collation.

      Les informations de dépendance des entités non liées au schéma sont mises à jour automatiquement lorsque le classement de la base de données est modifié.Dependency information for non-schema-bound entities is automatically updated when the database collation is changed.

La modification du classement de la base de données ne crée pas de doublons parmi les noms système des objets de la base de données.Changing the database collation does not create duplicates among any system names for the database objects. Si cette modification entraîne la duplication de noms, les espaces de noms suivants peuvent faire échouer une modification du classement de la base de données :If duplicate names result from the changed collation, the following namespaces may cause the failure of a database collation change:

  • Noms d'objets tels qu'une procédure, une table, un déclencheur ou une vueObject names such as a procedure, table, trigger, or view.
  • Noms de schémas.Schema names.
  • Principaux, tels qu'un groupe, un rôle ou un utilisateurPrincipals such as a group, role, or user.
  • Noms de types scalaires, comme les types système ou définis par l'utilisateurScalar-type names such as system and user-defined types.
  • Noms de catalogues de texte intégralFull-text catalog names.
  • Noms de colonnes ou de paramètres dans un objetColumn or parameter names within an object.
  • Noms d'index dans une tableIndex names within a table.

Les noms en double qui résultent du nouveau classement entraînent l'échec de l'action de modification et SQL ServerSQL Server retourne un message d'erreur spécifiant l'espace de noms en cause.Duplicate names resulting from the new collation will cause the change action to fail, and SQL ServerSQL Server will return an error message specifying the namespace where the duplicate was found.

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.

PermissionsPermissions

Nécessite l'autorisation ALTER sur la base de données.Requires ALTER permission on the database.

ExemplesExamples

A.A. Modification du nom d'une base de donnéesChanging the name of a database

L'exemple suivant modifie le nom de la base de données AdventureWorks2012 en Northwind.The following example changes the name of the AdventureWorks2012 database to Northwind.

USE master;  
GO  
ALTER DATABASE AdventureWorks2012  
Modify Name = Northwind ;  
GO  

B.B. Modification du classement d'une base de donnéesChanging the collation of a database

L'exemple suivant crée une base de données nommée testdb qui utilise le classement SQL_Latin1_General_CP1_CI_AS, puis modifie le classement de la base de données testdb en COLLATE French_CI_AI.The following example creates a database named testdb with the SQL_Latin1_General_CP1_CI_AS collation, and then changes the collation of the testdb database to COLLATE French_CI_AI.

S'applique à: SQL Server 2008SQL Server 2008 jusqu'à SQL Server 2017SQL Server 2017.Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017.

USE master;  
GO  

CREATE DATABASE testdb  
COLLATE SQL_Latin1_General_CP1_CI_AS ;  
GO  

ALTER DATABASE testDB  
COLLATE French_CI_AI ;  
GO  

Voir aussiSee Also

              
SQL ServerSQL Server * SQL Database* SQL Database
de base de données SQL *logical server *
SQL DatabaseSQL Database
Managed InstanceManaged Instance
SQL DataSQL Data
WarehouseWarehouse
SQL ParallelSQL Parallel
Data WarehouseData Warehouse

 

Serveur logique Azure SQL DatabaseAzure SQL Database logical server

Vue d'ensembleOverview

Dans Azure SQL Database, utilisez cette instruction pour modifier une base de données sur un serveur logique :In Azure SQL Database, use this statement to modify a database on a logical server. modifier son nom, son édition et son objectif de service, la joindre à un pool élastique ou l’en supprimer, définir ses options, l’ajouter ou la supprimer comme base de données secondaire dans une relation de géoréplication et définir son niveau de compatibilité.Use this statement to change the name of a database, change the edition and service objective of the database, join or remove the database to or from an elastic pool, set database options, add or remove the database as a secondary in a geo-replication relationship, and set the database compatibility level.

En raison de sa longueur, la syntaxe d’ALTER DATABASE est divisée en plusieurs articles.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASEALTER DATABASE
Le présent article indique la syntaxe à utiliser et les informations associées pour modifier le nom et le classement d’une base de données.The current article provides the syntax and related information for changing the name and the collation of a database.

Options ALTER DATABASE SETALTER DATABASE SET Options
Indique la syntaxe à utiliser et les informations associées pour modifier les attributs d’une base de données à l’aide des options SET d’ALTER DATABASE.Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Niveau de compatibilité ALTER DATABASEALTER DATABASE Compatibility Level
Indique la syntaxe et les informations associées des options SET d’ALTER DATABASE relatives aux niveaux de compatibilité des bases de données.Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SyntaxeSyntax

-- Azure SQL Database Syntax  
ALTER DATABASE { database_name | CURRENT }  
{  
    MODIFY NAME = new_database_name  
  | MODIFY ( <edition_options> [, ... n] ) 
  | SET { <option_spec> [ ,... n ] WITH <termination>} 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 }   
  | ADD SECONDARY ON SERVER <partner_server_name>  
    [WITH ( <add-secondary-option>::= [, ... n] ) ]  
  | REMOVE SECONDARY ON SERVER <partner_server_name>  
  | FAILOVER  
  | FORCE_FAILOVER_ALLOW_DATA_LOSS  
}  
[;] 

<edition_options> ::= 
{  

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 … 1024 … 4096 GB }  
  | EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical'} 
  | SERVICE_OBJECTIVE = 
       {  <service-objective>
       | { ELASTIC_POOL (name = <elastic_pool_name>) } 
       } 
}  

<add-secondary-option> ::=  
   {  
      ALLOW_CONNECTIONS = { ALL | NO }  
     | SERVICE_OBJECTIVE = 
       {  <service-objective> 
       | { ELASTIC_POOL ( name = <elastic_pool_name>) } 
       } 
   }  

<service-objective> ::=  { 'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12' |
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11'  | 'P15'
      | 'GP_GEN4_1' | 'GP_GEN4_2' | 'GP_GEN4_4' | 'GP_GEN4_8' | 'GP_GEN4_16' | 'GP_GEN4_24' |
      | 'BC_GEN4_1' | 'BC_GEN4_2' | 'BC_GEN4_4' | 'BC_GEN4_8' | 'BC_GEN4_16' | 'BC_GEN4_24' |
      | 'GP_GEN5_2' | 'GP_GEN5_4' | 'GP_GEN5_8' | 'GP_GEN5_16' | 'GP_GEN5_24' | 'GP_GEN5_32' | 'GP_GEN5_48' | 'GP_GEN5_80' |
      | 'BC_GEN5_2' | 'BC_GEN5_4' | 'BC_GEN5_8' | 'BC_GEN5_16' | 'BC_GEN5_24' | 'BC_GEN5_32' | 'BC_GEN5_48' | 'BC_GEN5_80' |
      }

<option_spec> ::= 
{  
    <auto_option> 
  | <change_tracking_option> 
  | <cursor_option> 
  | <db_encryption_option>  
  | <db_update_option> 
  | <db_user_access_option> 
  | <delayed_durability_option>  
  | <parameterization_option>  
  | <query_store_options>  
  | <snapshot_option>  
  | <sql_option> 
  | <target_recovery_time_option> 
  | <termination>  
  | <temporal_history_retention>  
}  

ArgumentsArguments

database_namedatabase_name

Nom de la base de données à modifier.Is the name of the database to be modified.

CURRENTCURRENT

Indique que la base de données actuelle en cours d'utilisation doit être modifiée.Designates that the current database in use should be altered.

MODIFY NAME =new_database_nameMODIFY NAME =new_database_name

Renomme la base de données avec le nom spécifié nouveau_nom_base_de_données.Renames the database with the name specified as new_database_name. L’exemple suivant remplace le nom de la base de données db1 par db2 :The following example changes the name of a database db1 to db2:

ALTER DATABASE db1  
    MODIFY Name = db2 ;  

MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical'])MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical'])

Modifie le niveau de service de la base de données.Changes the service tier of the database.

L’exemple suivant remplace l’édition par premium :The following example changes edition to premium:

ALTER DATABASE current 
    MODIFY (EDITION = 'premium');

La modification d’EDITION échoue si la propriété MAXSIZE de la base de données a une valeur située en dehors de la plage valide prise en charge par cette édition.EDITION change fails if the MAXSIZE property for the database is set to a value outside the valid range supported by that edition.

MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024…4096] GB)MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024…4096] GB)

Spécifie la taille maximale de la base de données.Specifies the maximum size of the database. La taille maximale doit être conforme au jeu de valeurs valide pour la propriété EDITION de la base de données.The maximum size must comply with the valid set of values for the EDITION property of the database. Le fait de modifier la taille maximale de la base de données peut entraîner la modification de la propriété EDITION de la base de données.Changing the maximum size of the database may cause the database EDITION to be changed. Le tableau suivant contient la liste des valeurs de MAXSIZE prises en charge et des valeurs par défaut (D) des couches de service SQL DatabaseSQL Database.Following table lists the supported MAXSIZE values and the defaults (D) for the SQL DatabaseSQL Database service tiers.

Modèle basé sur DTUDTU-based model

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éantN/A
10 GB10 GB NéantN/A
20 Go20 GB NéantN/A
30 Go30 GB NéantN/A
40 Go40 GB NéantN/A
50 Go50 GB NéantN/A
100 Go100 GB NéantN/A
150 Go150 GB NéantN/A
200 Go200 GB NéantN/A
250 Go250 GB NéantN/A √ (D)√ (D) √ (D)√ (D)
300 Go300 GB NéantN/A
400 Go400 GB NéantN/A
500 Go500 GB NéantN/A √ (D)√ (D)
750 Go750 GB NéantN/A
1 024 Go1024 GB NéantN/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éantN/A NéantN/A NéantN/A NéantN/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. Dans le niveau Premium, une taille supérieure à 1 To est actuellement disponible pour MAXSIZE dans les régions suivantes : Est des États-Unis2, États-Unis de l'Ouest, Gouvernement des États-Unis - Virginie, Europe de l’Ouest, Centre de l’Allemagne, Asie du Sud-Est, Japon de l'Est, Est de l’Australie, Centre du Canada et Est du Canada.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 concernant les limitations des ressources pour le modèle basé sur DTU, consultez Limites des ressources basées sur DTU.For additional details regarding resource limitations for the DTU-based model, see DTU-based resource limits.

La valeur MAXSIZE pour le modèle basé sur 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-based model, if specified, has to be a valid value shown in the table above for the service tier specified.

Modèle basé sur vCorevCore-based model

Niveau de service Usage général - Plateforme de calcul de 4e générationGeneral Purpose service tier - Generation 4 compute platform

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_4GP_Gen4_4 GP_Gen4_8GP_Gen4_8 GP_Gen4_16GP_Gen4_16 GP4_24GP4_24
Taille maximale des données (Go)Max data size (GB) 10241024 10241024 15361536 30723072 40964096 40964096

Niveau de service Usage général - Plateforme de calcul de 5e générationGeneral Purpose service tier - Generation 5 compute platform

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_8GP_Gen5_8 GP_Gen5_16GP_Gen5_16 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_48GP_Gen5_48 GP_Gen5_80GP_Gen5_80
Taille maximale des données (Go)Max data size (GB) 10241024 10241024 15361536 30723072 40964096 40964096 40964096 40964096

Niveau de service Critique pour l’entreprise - Plateforme de calcul de 4e générationBusiness Critical service tier - Generation 4 compute platform

Niveau de performancePerformance level BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_4BC_Gen4_4 BC_Gen4_8BC_Gen4_8 BC_Gen4_16BC_Gen4_16
Taille maximale des données (Go)Max data size (GB) 10241024 10241024 10241024 10241024 10241024

Niveau de service Critique pour l’entreprise - Plateforme de calcul de 5e générationBusiness Critical service tier - Generation 5 compute platform

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_8BC_Gen5_8 BC_Gen5_16BC_Gen5_16 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_48BC_Gen5_48 BC_Gen5_80BC_Gen5_80
Taille maximale des données (Go)Max data size (GB) 10241024 10241024 10241024 10241024 20482048 40964096 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 MAXSIZEvalue is set when using the vCore model, the default is 32 GB. Pour plus d’informations sur les limitations des ressources du modèle basé sur vCore, consultez Limites des ressources basées sur vCore.For additional details regarding resource limitations for vCore-based model, see vCore-based 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 EDITION est défini à Standard et que MAXSIZE n'est pas spécifié, MAXSIZE est automatiquement défini à 500 Mo.For example, is the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 500 MB.

  • Si MAXSIZE et EDITION ne sont pas spécifiés, la valeur de EDITION est définie sur Standard (S0), et celle de MAXSIZE sur 250 Go.If neither MAXSIZE nor EDITION is specified, the EDITION is set to Standard (S0), and MAXSIZE is set to 250 GB.

MODIFY (SERVICE_OBJECTIVE = <service-objective>)MODIFY (SERVICE_OBJECTIVE = <service-objective>)

Spécifie le niveau de performances.Specifies the performance level. L’exemple suivant modifie l’objectif de service d’une base de données Premium P6 :The following example changes service objective of a premium database to P6:

ALTER DATABASE current 
    MODIFY (SERVICE_OBJECTIVE = 'P6');

Spécifie le niveau de performances.Specifies the performance level. Les valeurs disponibles pour l’objectif de 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_4, GP_GEN4_8, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1 BC_GEN4_2 BC_GEN4_4 BC_GEN4_8 BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_24, GP_Gen5_32, GP_Gen5_48, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_8, BC_Gen5_16, BC_Gen5_24, BC_Gen5_32, BC_Gen5_48, BC_Gen5_80.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_4, GP_GEN4_8, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1 BC_GEN4_2 BC_GEN4_4 BC_GEN4_8 BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_24, GP_Gen5_32, GP_Gen5_48, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_8, BC_Gen5_16, BC_Gen5_24, BC_Gen5_32, BC_Gen5_48, BC_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 et de performance d’Azure SQL Database, Limites des ressources basées sur DTU et Limites des ressources basées sur 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-based resource limits and vCore-based 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.

MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>)MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>)

Pour ajouter une base de données existante à un pool élastique, définissez le SERVICE_OBJECTIVE de la base de données sur ELASTIC_POOL et fournissez le nom du pool élastique.To add an existing database to an elastic pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the elastic pool. Vous pouvez également utiliser cette option pour ajouter la base de données à un autre pool élastique du même serveur.You can also use this option to change the database to a different elastic pool within the same server. 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. Pour supprimer une base de données d’un pool élastique, utilisez ALTER DATABASE pour définir le SERVICE_OBJECTIVE sur un niveau de performance de base de données.To remove a database from an elastic pool, use ALTER DATABASE to set the SERVICE_OBJECTIVE to a single database performance level.

ADD SECONDARY ON SERVER <partner_server_name>ADD SECONDARY ON SERVER <partner_server_name>

Crée une base de données secondaire de géoréplication de même nom sur un serveur partenaire, faisant ainsi de la base de données locale la base de données de géoréplication primaire, et commence à répliquer des données de manière asynchrone entre la base de données primaire et la nouvelle base de données secondaire.Creates a geo-replication secondary database with the same name on a partner server, making the local database into a geo-replication primary, and begins asynchronously replicating data from the primary to the new secondary. Si une base de données portant le même nom existe déjà dans la base de données secondaire, la commande échoue.If a database with the same name already exists on the secondary, the command fails. La commande est exécutée sur la base de données MASTER, située sur le serveur qui héberge la base de données locale qui devient la base de données primaire.The command is executed on the master database on the server hosting the local database that becomes the primary.

WITH ALLOW_CONNECTIONS { ALL | NO }WITH ALLOW_CONNECTIONS { ALL | NO }

Lorsque ALLOW_CONNECTIONS n’est pas spécifié, il est défini sur ALL par défaut.When ALLOW_CONNECTIONS is not specified, it is set to ALL by default. S’il est défini sur ALL, il s’agit d’une base de données en lecture seule qui autorise toutes les connexions disposant des autorisations nécessaires.If it is set ALL, it is a read-only database that allows all logins with the appropriate permissions to connect.

WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_4, GP_GEN4_8, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1 BC_GEN4_2 BC_GEN4_4 BC_GEN4_8 BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_24, GP_Gen5_32, GP_Gen5_48, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_8, BC_Gen5_16, BC_Gen5_24, BC_Gen5_32, BC_Gen5_48, BC_Gen5_80 }WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_4, GP_GEN4_8, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1 BC_GEN4_2 BC_GEN4_4 BC_GEN4_8 BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_24, GP_Gen5_32, GP_Gen5_48, GP_Gen5_80, BC_Gen5_2, BC_Gen5_4, BC_Gen5_8, BC_Gen5_16, BC_Gen5_24, BC_Gen5_32, BC_Gen5_48, BC_Gen5_80 }

Quand SERVICE_OBJECTIVE n’est pas spécifié, la base de données secondaire est créée au même niveau de service que la base de données primaire.When SERVICE_OBJECTIVE is not specified, the secondary database is created at the same service level as the primary database. Quand SERVICE_OBJECTIVE est spécifié, la base de données secondaire est créée au niveau spécifié.When SERVICE_OBJECTIVE is specified, the secondary database is created at the specified level. Cette option prend en charge la création de bases de données secondaires géorépliquées avec des niveaux de service moins coûteux.This option supports creating geo-replicated secondaries with less expensive service levels. Le SERVICE_OBJECTIVE spécifié doit appartenir à la même édition que la source.The SERVICE_OBJECTIVE specified must be within the same edition as the source. Par exemple, vous ne pouvez pas spécifier S0 si l’édition est Premium.For example, you cannot specify S0 if the edition is premium.

ELASTIC_POOL (name = <elastic_pool_name>)ELASTIC_POOL (name = <elastic_pool_name>)

Quand ELASTIC_POOL n’est pas spécifié, la base de données secondaire n’est pas créée dans un pool élastique.When ELASTIC_POOL is not specified, the secondary database is not created in an elastic pool. Quand ELASTIC_POOL est spécifié, la base de données secondaire est créée dans le pool spécifié.When ELASTIC_POOL is specified, the secondary database is created in the specified pool.

Important

L’utilisateur qui exécute la commande ADD SECONDARY doit avoir le rôle de DBManager pour le serveur principal, appartenir au groupe db_owner de la base de données locale et avoir le rôle de DBManager pour le serveur secondaire.The user executing the ADD SECONDARY command must be DBManager on primary server, have db_owner membership in local database, and DBManager on secondary server.

REMOVE SECONDARY ON SERVER <partner_server_name>REMOVE SECONDARY ON SERVER <partner_server_name>

Supprime la base de données secondaire géorépliquée spécifiée du serveur spécifié.Removes the specified geo-replicated secondary database on the specified server. La commande est exécutée sur la base de données MASTER, située sur le serveur qui héberge la base de données primaire.The command is executed on the master database on the server hosting the primary database.

Important

L’utilisateur qui exécute la commande REMOVE SECONDARY doit avoir le rôle de DBManager pour le serveur principal.The user executing the REMOVE SECONDARY command must be DBManager on the primary server.

FAILOVERFAILOVER

Promeut la base de données secondaire du partenariat de géoréplication sur laquelle est exécutée la commande, pour qu’elle devienne la base de données primaire et que la base de données primaire actuelle devienne secondaire.Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Dans le cadre de ce processus, le mode de géoréplication passe temporairement du mode asynchrone au mode synchrone.As part of this process, the geo-replication mode is temporarily switched from asynchronous mode to synchronous mode. Pendant le processus de basculement :During the failover process:

  1. La base de données primaire cesse d’accepter les nouvelles transactions.The primary stops taking new transactions.

  2. Toutes les transactions en attente sont envoyées vers la base de données secondaire.All outstanding transactions are flushed to the secondary.

  3. La base de données secondaire devient primaire, et commence la géoréplication asynchrone avec l’ancienne primaire/nouvelle secondaire.The secondary becomes the primary and begins asynchronous geo-replication with the old primary / the new secondary.

Cette séquence garantit qu’aucune perte de données ne se produit.This sequence ensures that no data loss occurs. Lorsque les rôles sont permutés, la période pendant laquelle les deux bases de données sont indisponibles est d’environ 0 à 25 secondes.The period during which both databases are unavailable is on the order of 0-25 seconds while the roles are switched. Au total, l’opération prend environ une minute.The total operation should take no longer than about one minute. Si la base de données primaire n’est pas disponible lorsque cette commande est émise, la commande échoue et un message d’erreur indique que la base de données primaire n’est pas disponible.If the primary database is unavailable when this command is issued, the command fails with an error message indicating that the primary database is not available. Si le processus de basculement ne se termine pas et semble bloqué, vous pouvez utiliser la commande de basculement forcé et accepter la perte de données. Ensuite, si vous avez besoin de récupérer les données perdues, adressez-vous à l’équipe DevOps (CSS).If the failover process does not complete and appears stuck, you can use the force failover command and accept data loss - and then, if you need to recover the lost data, call devops (CSS) to recover the lost data.

Important

L’utilisateur qui exécute la commande FAILOVER doit avoir le rôle de DBManager pour le serveur principal et le serveur secondaire.The user executing the FAILOVER command must be DBManager on both the primary server and the secondary server.

FORCE_FAILOVER_ALLOW_DATA_LOSSFORCE_FAILOVER_ALLOW_DATA_LOSS

Promeut la base de données secondaire du partenariat de géoréplication sur laquelle est exécutée la commande, pour qu’elle devienne la base de données primaire et que la base de données primaire actuelle devienne secondaire.Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Utilisez cette commande uniquement lorsque la base de données primaire actuelle n’est plus disponible.Use this command only when the current primary is no longer available. Elle ne doit être utilisée qu’en cas de récupération d’urgence, lorsque la restauration de la disponibilité est critique, et qu’une petite perte de données est acceptable.It is designed for disaster recovery only, when restoring availability is critical, and some data loss is acceptable.

Pendant un basculement forcé :During a forced failover:

  1. La base de données secondaire spécifiée devient immédiatement la base de données primaire et commence à accepter les nouvelles transactions.The specified secondary database immediately becomes the primary database and begins accepting new transactions.

  2. Lorsque la base de données primaire d’origine peut se reconnecter à la nouvelle base de données primaire, une sauvegarde incrémentielle est effectuée à partir de la base de données primaire d’origine et celle-ci devient la nouvelle base de données secondaire.When the original primary can reconnect with the new primary, an incremental backup is taken on the original primary, and the original primary becomes a new secondary.

  3. Pour récupérer des données à partir de cette sauvegarde incrémentielle de l’ancienne base de données primaire, l’utilisateur s’adresse à l’équipe DevOps/CSS.To recover data from this incremental backup on the old primary, the user engages devops/CSS.

  4. S’il existe d’autres bases de données secondaires, celles-ci sont automatiquement reconfigurées pour devenir des bases de données secondaires de la nouvelle primaire.If there are additional secondaries, they are automatically reconfigured to become secondaries of the new primary. Ce processus est asynchrone et peut prendre un certain temps.This process is asynchronous and there may be a delay until this process completes. Tant que la reconfiguration n’est pas terminée, les bases de données secondaires continuent d’être associées à l’ancienne base de données primaire.Until the reconfiguration has completed, the secondaries continue to be secondaries of the old primary.

Important

L’utilisateur qui exécute la commande FORCE_FAILOVER_ALLOW_DATA_LOSS doit avoir le rôle de DBManager pour le serveur principal et le serveur secondaire.The user executing the FORCE_FAILOVER_ALLOW_DATA_LOSS command must be DBManager on both the primary server and the secondary server.

Notes Remarks

Pour supprimer une base de données, utilisez DROP DATABASE.To remove a database, use DROP DATABASE.
Pour diminuer la taille d'une base de données, utilisez DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'instruction ALTER 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 ALTER DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Pour chaque mémoire cache effacée dans le cache de plan, le journal des erreurs SQL ServerSQL Server contient le message d'information suivant : « SQL ServerSQL Server a rencontré %d occurrence(s) de vidages de mémoire cache pour la mémoire cache '%s' (partie du cache du plan) en raison d'opérations de maintenance ou de reconfiguration de base de données ».For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Ce message est enregistré toutes les cinq minutes si le cache est vidé au cours de cet intervalle de temps.This message is logged every five minutes as long as the cache is flushed within that time interval.

Le cache de procédures est également vidé dans le scénario suivant : plusieurs requêtes sont exécutées sur une base de données qui a les options par défaut.The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. Puis, la base de données est supprimée.Then, the database is dropped.

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.

PermissionsPermissions

Seule la connexion principale au niveau du serveur (créée par le processus de configuration) ou les membres du rôle de base de données dbmanager peuvent modifier une base de données.Only the server-level principal login (created by the provisioning process) or members of the dbmanager database role can alter a database.

Important

Le propriétaire de la base de données ne peut pas modifier la base de données à moins d'être membre du rôle dbmanager.The owner of the database cannot alter the database unless they are a member of the dbmanager role.

ExemplesExamples

A.A. Vérifier et modifier les options d’édition :Check the edition options and change them:

SELECT Edition = DATABASEPROPERTYEX('db1', 'EDITION'),
        ServiceObjective = DATABASEPROPERTYEX('db1', 'ServiceObjective'),
        MaxSizeInBytes =  DATABASEPROPERTYEX('db1', 'MaxSizeInBytes');

ALTER DATABASE [db1] MODIFY (EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');

B.B. Déplacer une base de données vers un autre pool élastiqueMoving a database to a different elastic pool

Déplace une base de données existante dans un pool nommé pool1 :Moves an existing database into a pool named pool1:

ALTER DATABASE db1   
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;  

C.C. Ajouter une base de données secondaire de géoréplicationAdd a Geo-Replication Secondary

Crée une base de données secondaire accessible en lecture db1 sur le serveur secondaryserver, qui est associée à la base de données db1 du serveur local.Creates a readable secondary database db1 on server secondaryserver of the db1 on the local server.

ALTER DATABASE db1   
ADD SECONDARY ON SERVER secondaryserver   
WITH ( ALLOW_CONNECTIONS = ALL )  

D.D. Supprimer une base de données secondaire de géoréplicationRemove a Geo-Replication Secondary

Supprime la base de données secondaire db1 du serveur secondaryserver.Removes the secondary database db1 on server secondaryserver.

ALTER DATABASE db1   
REMOVE SECONDARY ON SERVER testsecondaryserver   

E.E. Basculer vers une base de données secondaire de géoréplicationFailover to a Geo-Replication Secondary

Promeut la base de données secondaire db1 sur le serveur secondaryserver pour qu’elle devienne la nouvelle base de données primaire lorsqu’elle est exécutée sur le serveur secondaryserver.Promotes a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver.

ALTER DATABASE db1 FAILOVER  

Voir aussiSee also

CREATE DATABASE - Azure SQL Database CREATE DATABASE - Azure SQL Database
DATABASEPROPERTYEX DATABASEPROPERTYEX
DROP DATABASE DROP DATABASE
SET TRANSACTION ISOLATION LEVEL SET TRANSACTION ISOLATION LEVEL
EVENTDATA EVENTDATA
sp_configure sp_configure
sp_spaceused sp_spaceused
sys.databases sys.databases
sys.database_files sys.database_files
sys.database_mirroring_witnesses sys.database_mirroring_witnesses
sys.data_spaces sys.data_spaces
sys.filegroups sys.filegroups
sys.master_files sys.master_files
Bases de données systèmeSystem Databases

              
SQL ServerSQL Server SQL DatabaseSQL Database
de base de données SQLlogical server
* SQL Database* SQL Database
Managed Instance *Managed Instance *
SQL DataSQL Data
WarehouseWarehouse
SQL ParallelSQL Parallel
Data WarehouseData Warehouse

 

Azure SQL Database Managed InstanceAzure SQL Database Managed Instance

Vue d'ensembleOverview

Dans Azure SQL Database Managed Instance, utilisez cette instruction pour définir des options de base de données.In Azure SQL Database Managed Instance, use this statement to set database options.

En raison de sa longueur, la syntaxe d’ALTER DATABASE est divisée en plusieurs articles.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASEALTER DATABASE
Le présent article indique la syntaxe à utiliser et les informations associées pour définir des options de fichiers et de groupes de fichiers, des options de base de données et le niveau de compatibilité de la base de données.The current article provides the syntax and related information for setting file and filegroup options, for setting database options, and for setting the database compatibility level.

Options de fichiers et de groupes de fichiers d’ALTER DATABASE Indique la syntaxe à utiliser et les informations associées pour ajouter et supprimer des fichiers et groupes de fichiers d’une base de données, et pour modifier les attributs des fichiers et groupes de fichiers.ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Options d’ALTER DATABASE SET Indique la syntaxe à utiliser et les informations associées pour modifier les attributs d’une base de données à l’aide des options SET d’ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Niveau de compatibilité ALTER DATABASE Indique la syntaxe et les informations associées des options SET d’ALTER DATABASE relatives aux niveaux de compatibilité des bases de données.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SyntaxeSyntax

-- Azure SQL Database Syntax  
ALTER DATABASE { database_name | CURRENT }  
{  
    <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ]  
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 }   
}  
[;] 

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=   
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec> ::= 
{  
    <auto_option> 
  | <change_tracking_option> 
  | <cursor_option> 
  | <db_encryption_option>  
  | <db_update_option> 
  | <db_user_access_option> 
  | <delayed_durability_option>  
  | <parameterization_option>  
  | <query_store_options>  
  | <snapshot_option>  
  | <sql_option> 
  | <target_recovery_time_option> 
  | <temporal_history_retention>  
}  

ArgumentsArguments

database_namedatabase_name

Nom de la base de données à modifier.Is the name of the database to be modified.

CURRENTCURRENT

Indique que la base de données actuelle en cours d'utilisation doit être modifiée.Designates that the current database in use should be altered.

Notes Remarks

Pour supprimer une base de données, utilisez DROP DATABASE.To remove a database, use DROP DATABASE.
Pour diminuer la taille d'une base de données, utilisez DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'instruction ALTER 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 ALTER DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Pour chaque mémoire cache effacée dans le cache de plan, le journal des erreurs SQL ServerSQL Server contient le message d'information suivant : « SQL ServerSQL Server a rencontré %d occurrence(s) de vidages de mémoire cache pour la mémoire cache '%s' (partie du cache du plan) en raison d'opérations de maintenance ou de reconfiguration de base de données ».For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Ce message est enregistré toutes les cinq minutes si le cache est vidé au cours de cet intervalle de temps.This message is logged every five minutes as long as the cache is flushed within that time interval.

Le cache de procédures est également vidé dans le scénario suivant : plusieurs requêtes sont exécutées sur une base de données qui a les options par défaut.The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. Puis, la base de données est supprimée.Then, the database is dropped.

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.

PermissionsPermissions

Seule la connexion principale au niveau du serveur (créée par le processus de configuration) ou les membres du rôle de base de données dbmanager peuvent modifier une base de données.Only the server-level principal login (created by the provisioning process) or members of the dbmanager database role can alter a database.

Important

Le propriétaire de la base de données ne peut pas modifier la base de données à moins d'être membre du rôle dbmanager.The owner of the database cannot alter the database unless they are a member of the dbmanager role.

ExemplesExamples

Les exemples suivants vous montrent comment définir le réglage automatique et comment ajouter un fichier dans une instance gérée.The following examples show you how to set automatic tuning and how to add a file in a managed instance.

ALTER DATABASE WideWorldImporters
    SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON)

ALTER DATABASE WideWorldImporters
    ADD FILE (NAME = 'data_17')

Voir aussiSee also

CREATE DATABASE - Azure SQL Database CREATE DATABASE - Azure SQL Database
DATABASEPROPERTYEX DATABASEPROPERTYEX
DROP DATABASE DROP DATABASE
SET TRANSACTION ISOLATION LEVEL SET TRANSACTION ISOLATION LEVEL
EVENTDATA EVENTDATA
sp_configure sp_configure
sp_spaceused sp_spaceused
sys.databases sys.databases
sys.database_files sys.database_files
sys.database_mirroring_witnesses sys.data_spaces sys.database_mirroring_witnesses sys.data_spaces
sys.filegroups sys.filegroups
sys.master_files sys.master_files
Bases de données systèmeSystem Databases

              
SQL ServerSQL Server SQL DatabaseSQL Database
de base de données SQLlogical server
SQL DatabaseSQL Database
Managed InstanceManaged Instance
* SQL Data* SQL Data
Warehouse *Warehouse *
SQL ParallelSQL Parallel
Data WarehouseData Warehouse

 

Azure SQL Data WarehouseAzure SQL Data Warehouse

Vue d'ensembleOverview

Modifie le nom, la taille maximale ou l’objectif de service d’une base de données.Modifies the name, maximum size, or service objective for a database.

SyntaxeSyntax

ALTER DATABASE database_name  

  MODIFY NAME = new_database_name  
| MODIFY ( <edition_option> [, ... n] )  

<edition_option> ::=   
      MAXSIZE = { 
            250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 
          | 30720 | 40960 | 51200 | 61440 | 71680 | 81920 
          | 92160 | 102400 | 153600 | 204800 | 245760 
      } GB  
      | SERVICE_OBJECTIVE = { 
            'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' 
          | 'DW600' | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000' 
          | 'DW3000' | 'DW6000' | 'DW1000c' | 'DW1500c' | 'DW2000c' 
          | 'DW2500c' | 'DW3000c' | 'DW5000c' | 'DW6000c' | 'DW7500c' 
          | 'DW10000c' | 'DW15000c' | 'DW30000c'
      }  

ArgumentsArguments

database_namedatabase_name
Spécifie le nom de la base de données à modifier.Specifies the name of the database to be modified.

MODIFY NAME = nouveau_nom_base_de_donnéesMODIFY NAME = new_database_name
Renomme la base de données avec le nom spécifié nouveau_nom_base_de_données.Renames the database with the name specified as new_database_name.

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

S’applique à : Niveau de performance Optimisé pour l’élasticitéApplies to: Optimized for Elasticity performance tier

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 à : Niveau de performance Optimisé pour le calculApplies to: Optimized for Compute performance tier

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.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE. Les données compressées au format columnstore n’ont pas de taille limite et ne sont pas restreintes par MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVESERVICE_OBJECTIVE
Spécifie le niveau de performances.Specifies the performance level. Pour plus d’informations sur les objectifs de service concernant SQL Data WarehouseSQL Data Warehouse, consultez Niveaux de performance.For more information about service objectives for SQL Data WarehouseSQL Data Warehouse, see Performance Tiers.

PermissionsPermissions

Nécessite ces autorisations :Requires these permissions:

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

Le propriétaire de la base de données ne peut pas modifier la base de données à moins d'être membre du rôle dbmanager.The owner of the database cannot alter the database unless the owner is a member of the dbmanager role.

Remarques d'ordre généralGeneral Remarks

La base de données actuelle doit être différente de celle que vous modifiez, par conséquent ALTER doit être exécuté tout en étant connecté à la base de données master.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

SQL Data Warehouse est défini sur COMPATIBILITY_LEVEL 130 et ne peut pas être modifié.SQL Data Warehouse 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.

Pour diminuer la taille d'une base de données, utilisez DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

Limitations et restrictionsLimitations and Restrictions

Pour exécuter ALTER DATABASE, la base de données doit être en ligne et ne peut pas être dans un état suspendu.To run ALTER DATABASE, the database must be online and cannot be in a paused state.

L’instruction ALTER DATABASE doit s’exécuter en mode de validation automatique, qui est le mode de gestion de transaction par défaut.The ALTER DATABASE statement must run in autocommit mode, which is the default transaction management mode. Ce mode est défini dans les paramètres de connexion.This is set in the connection settings.

L’instruction ALTER DATABASE ne peut pas faire partie d’une transaction définie par l’utilisateur.The ALTER DATABASE statement cannot be part of a user-defined transaction.

Vous ne pouvez pas changer le classement de la base de données.You cannot change the database collation.

ExemplesExamples

Avant d’exécuter ces exemples, vérifiez que la base de données que vous modifiez n’est pas la base de données actuelle.Before you run these examples, make sure the database you are altering is not the current database. La base de données actuelle doit être différente de celle que vous modifiez, par conséquent ALTER doit être exécuté tout en étant connecté à la base de données master.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

A.A. Changer le nom de la base de donnéesChange the name of the database

ALTER DATABASE AdventureWorks2012  
MODIFY NAME = Northwind;  

B.B. Changer la taille maximale de la base de donnéesChange max size for the database

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );  

C.C. Changer le niveau de performanceChange the performance level

ALTER DATABASE dw1 MODIFY ( SERVICE_OBJECTIVE= 'DW1200' );  

D.D. Changer la taille maximale et le niveau de performanceChange the max size and the performance level

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB, SERVICE_OBJECTIVE= 'DW1200' );  

Voir aussiSee Also

CREATE DATABASE (Azure SQL Data Warehouse) Articles de référence pour SQL Data WarehouseCREATE DATABASE (Azure SQL Data Warehouse) SQL Data Warehouse list of reference articles

              
SQL ServerSQL Server SQL DatabaseSQL Database
de base de données SQLlogical server
SQL DatabaseSQL Database
Managed InstanceManaged Instance
SQL DataSQL Data
WarehouseWarehouse
* SQL Parallel* SQL Parallel
Data Warehouse *Data Warehouse *

 

SQL Parallel Data WarehouseSQL Parallel Data Warehouse

Vue d'ensembleOverview

Modifie les options de taille de base de données maximale pour les tables répliquées, les tables distribuées et le journal des transactions dans Parallel Data Warehouse.Modifies the maximum database size options for replicated tables, distributed tables, and the transaction log in Parallel Data Warehouse. Cette instruction permet de gérer les allocations de l’espace disque à mesure que la taille d’une base de données augmente ou diminue.Use this statement to manage disk space allocations for a database as it grows or shrinks in size. L’article décrit également la syntaxe relative à la définition des options de base de données dans Parallel Data Warehouse.The article also describes syntax related to setting database options in Parallel Data Warehouse.

SyntaxeSyntax

-- Parallel Data Warehouse  
ALTER DATABASE database_name    
    SET ( <set_database_options>   | <db_encryption_option> )  
[;]  

<set_database_options> ::=   
{  
    AUTOGROW = { ON | OFF }  
    | REPLICATED_SIZE = size [GB]  
    | DISTRIBUTED_SIZE = size [GB]  
    | LOG_SIZE = size [GB]
    | SET AUTO_CREATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS { ON | OFF } 
    | SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}  

<db_encryption_option> ::=  
    ENCRYPTION { ON | OFF }  

ArgumentsArguments

database_namedatabase_name
Nom de la base de données à modifier.The name of the database to be modified. Pour afficher une liste des bases de données sur l’appliance, utilisez sys.databases (Transact-SQL).To display a list of databases on the appliance, use sys.databases (Transact-SQL).

AUTOGROW = { ON | OFF }AUTOGROW = { ON | OFF }
Met à jour l’option AUTOGROW.Updates the AUTOGROW option. Quand AUTOGROW est défini sur ON, Parallel Data WarehouseParallel Data Warehouse augmente automatiquement l’espace alloué pour les tables répliquées, les tables distribuées et le journal des transactions en fonction des besoins pour s’adapter à la croissance des besoins de stockage.When AUTOGROW is ON, Parallel Data WarehouseParallel Data Warehouse automatically increases the allocated space for replicated tables, distributed tables, and the transaction log as necessary to accommodate growth in storage requirements. Quand AUTOGROW est défini sur OFF, Parallel Data WarehouseParallel Data Warehouse retourne une erreur si des tables, répliquées, des tables distribuées ou le journal des transactions dépasse le paramètre de taille maximale.When AUTOGROW is OFF, Parallel Data WarehouseParallel Data Warehouse returns an error if replicated tables, distributed tables, or the transaction log exceeds the maximum size setting.

REPLICATED_SIZE = size [GB]REPLICATED_SIZE = size [GB]
Spécifie le nouveau nombre maximal de gigaoctets par nœud de calcul pour le stockage de toutes les tables répliquées dans la base de données en cours de modification.Specifies the new maximum gigabytes per Compute node for storing all of the replicated tables in the database being altered. Si vous planifiez l’espace de stockage de l’appliance, vous devez multiplier REPLICATED_SIZE par le nombre de nœuds de calcul dans l’appliance.If you are planning for appliance storage space, you will need to multiply REPLICATED_SIZE by the number of Compute nodes in the appliance.

DISTRIBUTED_SIZE = size [GB]DISTRIBUTED_SIZE = size [GB]
Spécifie le nouveau nombre maximal de gigaoctets par base de données pour le stockage de toutes les tables distribuées dans la base de données en cours de modification.Specifies the new maximum gigabytes per database for storing all of the distributed tables in the database being altered. La taille est répartie entre tous les nœuds de calcul dans l’appliance.The size is distributed across all of the Compute nodes in the appliance.

LOG_SIZE = size [GB]LOG_SIZE = size [GB]
Spécifie le nouveau nombre maximal de gigaoctets par base de données pour le stockage de tous les journaux des transactions dans la base de données en cours de modification.Specifies the new maximum gigabytes per database for storing all of the transaction logs in the database being altered. La taille est répartie entre tous les nœuds de calcul dans l’appliance.The size is distributed across all of the Compute nodes in the appliance.

ENCRYPTION { ON | OFF }ENCRYPTION { ON | OFF }
Spécifie si la base de données doit être chiffrée (ON) ou non chiffrée (OFF).Sets the database to be encrypted (ON) or not encrypted (OFF). Le chiffrement peut être configuré uniquement pour Parallel Data WarehouseParallel Data Warehouse quand sp_pdw_database_encryption a été défini sur 1.Encryption can only be configured for Parallel Data WarehouseParallel Data Warehouse when sp_pdw_database_encryption has been set to 1. Une clé de chiffrement de base de données doit être créée avant de pouvoir configurer le chiffrement transparent des données.A database encryption key must be created before transparent data encryption can be configured. Pour plus d’informations sur le chiffrement des bases de données, consultez Chiffrement transparent des données (TDE).For more information about database encryption, see Transparent Data Encryption (TDE).

SET AUTO_CREATE_STATISTICS { ON | OFF } Quand l’option de création automatique de statistiques AUTO_CREATE_STATISTICS est ON, l’optimiseur de requête crée les statistiques nécessaires sur les colonnes individuelles du prédicat de requête pour améliorer les estimations de cardinalité pour le plan de requête.SET AUTO_CREATE_STATISTICS { ON | OFF } When the automatic create statistics option, AUTO_CREATE_STATISTICS, is ON, the Query Optimizer creates statistics on individual columns in the query predicate, as necessary, to improve cardinality estimates for the query plan. Ces statistiques de colonne unique sont créées sur les colonnes où ne figure pas déjà un histogramme au niveau d'un objet de statistiques existant.These single-column statistics are created on columns that do not already have a histogram in an existing statistics object.

La valeur par défaut est ON pour les nouvelles bases de données créées après la mise à niveau vers AU7.Default is ON for new databases created after upgrading to AU7. La valeur par défaut est OFF pour les bases de données créées avant la mise à niveau.The default is OFF for databases created prior to the upgrade.

Pour plus d’informations sur les statistiques, consultez Statistiques.For more information about statistics, see Statistics

SET AUTO_UPDATE_STATISTICS { ON | OFF } Quand l’option de mise à jour automatique des statistiques AUTO_UPDATE_STATISTICS est ON, l’optimiseur de requête détermine si les statistiques sont obsolètes, puis les met à jour le cas échéant quand elles sont utilisées par une requête.SET AUTO_UPDATE_STATISTICS { ON | OFF } When the automatic update statistics option, AUTO_UPDATE_STATISTICS, is ON, the query optimizer determines when statistics might be out-of-date and then updates them when they are used by a query. Les statistiques deviennent obsolètes si des opérations d’insertion, de mise à jour, de suppression ou de fusion changent la distribution des données dans la table ou la vue indexée.Statistics become out-of-date after operations insert, update, delete, or merge change the data distribution in the table or indexed view. L'optimiseur de requête détermine si les statistiques sont obsolètes en comptant le nombre de modifications de données depuis la dernière mise à jour des statistiques et en comparant le nombre de modifications à un seuil.The query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. Ce seuil est basé sur le nombre de lignes contenues dans la table ou la vue indexée.The threshold is based on the number of rows in the table or indexed view.

La valeur par défaut est ON pour les nouvelles bases de données créées après la mise à niveau vers AU7.Default is ON for new databases created after upgrading to AU7. La valeur par défaut est OFF pour les bases de données créées avant la mise à niveau.The default is OFF for databases created prior to the upgrade.

Pour plus d’informations sur les statistiques, consultez Statistiques.For more information about statistics, see Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } L’option de mise à jour asynchrone des statistiques, AUTO_UPDATE_STATISTICS_ASYNC, détermine si l’optimiseur de requête utilise des mises à jour de statistiques synchrones ou asynchrones.SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } The asynchronous statistics update option, AUTO_UPDATE_STATISTICS_ASYNC, determines whether the Query Optimizer uses synchronous or asynchronous statistics updates. L’option AUTO_UPDATE_STATISTICS_ASYNC s’applique aux objets de statistiques créés pour les index, aux colonnes uniques contenues dans les prédicats de requête et aux statistiques créées à l’aide de l’instruction CREATE STATISTICS.The AUTO_UPDATE_STATISTICS_ASYNC option applies to statistics objects created for indexes, single columns in query predicates, and statistics created with the CREATE STATISTICS statement.

La valeur par défaut est ON pour les nouvelles bases de données créées après la mise à niveau vers AU7.Default is ON for new databases created after upgrading to AU7. La valeur par défaut est OFF pour les bases de données créées avant la mise à niveau.The default is OFF for databases created prior to the upgrade.

Pour plus d’informations sur les statistiques, consultez Statistiques.For more information about statistics, see Statistics.

PermissionsPermissions

Nécessite l’autorisation ALTER sur la base de données.Requires the ALTER permission on the database.

Messages d'erreurError Messages

Si les statistiques automatiques sont désactivées et que vous essayez de modifier les paramètres des statistiques, PDW affiche l’erreur « Cette option n’est pas prise en charge dans PDW. »If auto-stats is disabled and you try to alter the statistics settings, PDW gives the error "This option is not supported in PDW." L’administrateur système peut activer les statistiques automatiques en activant le commutateur de fonctionnalité AutoStatsEnabled.The system administrator can enable auto-stats by enabling the feature switch AutoStatsEnabled.

Remarques d'ordre généralGeneral Remarks

Les valeurs de REPLICATED_SIZE, DISTRIBUTED_SIZE et LOG_SIZE peuvent être supérieures, égales ou inférieures aux valeurs actuelles de la base de données.The values for REPLICATED_SIZE, DISTRIBUTED_SIZE, and LOG_SIZE can be greater than, equal to, or less than the current values for the database.

Limitations et restrictionsLimitations and Restrictions

Les opérations d’augmentation et de réduction sont approximatives.Grow and shrink operations are approximate. Les tailles réelles obtenues peuvent varier en fonction des paramètres de taille.The resulting actual sizes can vary from the size parameters.

Parallel Data WarehouseParallel Data Warehouse n’exécute pas l’instruction ALTER DATABASE comme une opération atomique. does not perform the ALTER DATABASE statement as an atomic operation. Si l’instruction est interrompue pendant l’exécution, les modifications qui ont déjà eu lieu sont conservées.If the statement is aborted during execution, changes that have already occurred will remain.

Les paramètres de statistiques fonctionnent uniquement si l’administrateur a activé les statistiques automatiques. Si vous êtes un administrateur, utilisez le commutateur de fonctionnalité AutoStatsEnabled pour activer ou désactiver les statistiques automatiques.The statistics settings only work if the administrator has enable auto-stats. If you are an administrator, use the feature switch AutoStatsEnabled to enable or disable auto-stats.

Comportement de verrouillageLocking Behavior

Prend un verrou partagé sur l’objet DATABASE.Takes a shared lock on the DATABASE object. Vous ne pouvez pas modifier une base de données qui est en cours d’utilisation par un autre utilisateur pour une opération de lecture ou d’écriture.You cannot alter a database that is in use by another user for reading or writing. Cela inclut les sessions qui ont émis une instruction USE sur la base de données.This includes sessions that have issued a USE statement on the database.

PerformancesPerformance

La réduction de la taille d’une base de données peut prendre beaucoup de temps et consommer beaucoup de ressources système, en fonction de la taille des données réelles contenues dans la base de données et du volume de fragmentation sur le disque.Shrinking a database can take a large amount of time and system resources, depending on the size of the actual data within the database, and the amount of fragmentation on disk. Par exemple, la réduction de la taille d’une base de données peut prendre plusieurs heures ou plus.For example, shrinking a database could take several hours or more.

Détermination de la progression du chiffrementDetermining Encryption Progress

Pour déterminer la progression du chiffrement transparent des données de base de données sous la forme d’un pourcentage, utilisez la requête suivante :Use the following query to determine progress of database transparent data encryption as a percent:

WITH  
database_dek AS (  
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id,  
        dek.encryption_state, dek.percent_complete,  
        dek.key_algorithm, dek.key_length, dek.encryptor_thumbprint,  
        type  
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek  
    INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map  
        ON dek.database_id = node_db_map.database_id   
        AND dek.pdw_node_id = node_db_map.pdw_node_id  
    LEFT JOIN sys.pdw_database_mappings AS db_map  
        ON node_db_map .physical_name = db_map.physical_name  
    INNER JOIN sys.dm_pdw_nodes nodes  
        ON nodes.pdw_node_id = dek.pdw_node_id  
    WHERE dek.encryptor_thumbprint <> 0x  
),  
dek_percent_complete AS (  
    SELECT database_dek.database_id, AVG(database_dek.percent_complete) AS percent_complete  
    FROM database_dek  
    WHERE type = 'COMPUTE'  
    GROUP BY database_dek.database_id  
)  
SELECT DB_NAME( database_dek.database_id ) AS name,  
    database_dek.database_id,  
    ISNULL(  
       (SELECT TOP 1 dek_encryption_state.encryption_state  
        FROM database_dek AS dek_encryption_state  
        WHERE dek_encryption_state.database_id = database_dek.database_id  
        ORDER BY (CASE encryption_state  
            WHEN 3 THEN -1  
            ELSE encryption_state  
            END) DESC), 0)  
        AS encryption_state,  
dek_percent_complete.percent_complete,  
database_dek.key_algorithm, database_dek.key_length, database_dek.encryptor_thumbprint  
FROM database_dek  
INNER JOIN dek_percent_complete   
    ON dek_percent_complete.database_id = database_dek.database_id  
WHERE type = 'CONTROL';  

Pour obtenir un exemple complet illustrant toutes les étapes de l’implémentation de TDE, consultez Chiffrement transparent des données (TDE).For a comprehensive example demonstrating all the steps in implementing TDE, see Transparent Data Encryption (TDE).

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

A.A. Modification du paramètre AUTOGROWAltering the AUTOGROW setting

Définissez AUTOGROW sur ON pour la base de données CustomerSales.Set AUTOGROW to ON for database CustomerSales.

ALTER DATABASE CustomerSales  
    SET ( AUTOGROW = ON );  

B.B. Modification du stockage maximal pour les tables répliquéesAltering the maximum storage for replicated tables

L’exemple suivant définit la limite de stockage des tables répliquées sur 1 Go pour la base de données CustomerSales.The following example sets the replicated table storage limit to 1 GB for the database CustomerSales. Il s’agit de la limite de stockage par nœud de calcul.This is the storage limit per Compute node.

ALTER DATABASE CustomerSales  
    SET ( REPLICATED_SIZE = 1 GB );  

C.C. Modification du stockage maximal pour les tables distribuéesAltering the maximum storage for distributed tables

L’exemple suivant définit la limite de stockage des tables distribuées sur 1 000 GB (un téraoctet) pour la base de données CustomerSales.The following example sets the distributed table storage limit to 1000 GB (one terabyte) for the database CustomerSales. Il s’agit de la limite de stockage combiné sur l’ensemble de l’appliance pour tous les nœuds de calcul, et non pas la limite de stockage par nœud de calcul.This is the combined storage limit across the appliance for all of the Compute nodes, not the storage limit per Compute node.

ALTER DATABASE CustomerSales  
    SET ( DISTRIBUTED_SIZE = 1000 GB );  

D.D. Modification du stockage maximal pour le journal des transactionsAltering the maximum storage for the transaction log

L’exemple suivant met à jour la base de données CustomerSales pour avoir une taille maximale du journal de transactions SQL ServerSQL Server de 10 Go pour l’appliance.The following example updates the database CustomerSales to have a maximum SQL ServerSQL Server transaction log size of 10 GB for the appliance.

ALTER DATABASE CustomerSales  
    SET ( LOG_SIZE = 10 GB );  

E.E. Rechercher les valeurs des statistiques actuellesCheck for current statistics values

La requête suivante retourne les valeurs des statistiques actuelles pour toutes les bases de données.The following query returns the current statistics values for all databases. La valeur 1 signifie que la fonctionnalité est activée, et 0 qu’elle est désactivée.The value 1 means the feature is on, and a 0 means the feature is off.

SELECT NAME,
    is_auto_create_stats_on,
    is_auto_update_stats_on,
    is_auto_update_stats_async_on
FROM sys.databases;

F.F. Activer les statistiques de création automatique et de mise à jour automatique pour une base de donnéesEnable auto-create and auto-update stats for a database

Utilisez l’instruction suivante pour activer les statistiques de création et de mise à jour, de façon automatique et asynchrone, pour la base de données CustomerSales.Use the following statement to enable create and update statistics automatically and asynchronously for database, CustomerSales. Cette opération crée et met à jour, selon les besoins, des statistiques dans une seule colonne pour créer des plans de requête de haute qualité.This creates and updates single-column statistics as necessary to create high quality query plans.

ALTER DATABASE CustomerSales
    SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS ON; 
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS_ASYNC ON;

Voir aussiSee Also

CREATE DATABASE (Parallel Data Warehouse) CREATE DATABASE (Parallel Data Warehouse)
DROP DATABASE (Transact-SQL)DROP DATABASE (Transact-SQL)