Définir ou changer le classement de la base de donnéesSet or Change the Database Collation

Cette rubrique explique comment définir et modifier le classement de base de données dans SQL Server 2016SQL Server 2016 à l'aide de SQL Server Management StudioSQL Server Management Studio ou de Transact-SQLTransact-SQL.This topic describes how set and change the database collation in SQL Server 2016SQL Server 2016 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Si aucun classement n'est spécifié, celui du serveur est utilisé.If no collation is specified, the server collation is used.

Dans cette rubriqueIn This Topic

Avant de commencer Before You Begin

Limitations et restrictions Limitations and Restrictions

  • Les classements Windows Unicode seulement peuvent être utilisés uniquement avec la clause COLLATE pour appliquer des classements aux types de données nchar, nvarcharet ntext sur les données de niveau de colonne et de niveau d’expression.Windows Unicode-only collations can only be used with the COLLATE clause to apply collations to the nchar, nvarchar, and ntext data types on column level and expression-level data. Ils ne peuvent pas être utilisés avec la clause COLLATE pour modifier le classement d'une instance de serveur ou de base de données.They cannot be used with the COLLATE clause to change the collation of a database or server instance.

  • Si le classement spécifié ou le classement utilisé par l'objet référencé utilise une page de codes non gérée par Windows, le Moteur de base de donnéesDatabase Engine affiche une erreur.If the specified collation or the collation used by the referenced object uses a code page that is not supported by Windows, the Moteur de base de donnéesDatabase Engine displays an error.

Recommandations Recommendations

  • Vous trouverez les noms des classements pris en charge dans Nom de classement Windows (Transact-SQL) et Nom du classement SQL Server (Transact-SQL). Vous pouvez également utiliser la fonction système sys.fn_helpcollations (Transact-SQL) .You can find the supported collation names in Windows Collation Name (Transact-SQL) and SQL Server Collation Name (Transact-SQL); or you can use the sys.fn_helpcollations (Transact-SQL) system function.

  • Lorsque vous modifiez le classement d'une base de données, vous changez les éléments suivants :When you change the database collation, you change the following:

    • Toutes les colonnes char, varchar, text, nchar, nvarcharou ntext présentes dans les tables système sont modifiées en fonction du nouveau classement.Any char, varchar, text, nchar, nvarchar, or ntext columns in system tables are changed to the new collation.

    • Tous les paramètres char, varchar, text, nchar, nvarcharou ntext existants et les valeurs de retour scalaires destinés aux procédures stockées et aux fonctions définies par l’utilisateur sont modifiés en fonction du nouveau classement.All existing char, varchar, text, nchar, nvarchar, or ntext parameters and scalar return values for stored procedures and user-defined functions are changed to the new collation.

    • Les types de données système char, varchar, text, nchar, nvarcharou ntext et tous les types de données définis par l’utilisateur sur la base de ces types de données système sont modifiés en fonction du nouveau classement par défaut.The char, varchar, text, nchar, nvarchar, or ntext system data types, and all user-defined data types based on these system data types, are changed to the new default collation.

  • Vous pouvez modifier le classement de tous les objets créés dans une base de données utilisateur à l'aide de la clause COLLATE de l'instruction ALTER DATABASE .You can change the collation of any new objects that are created in a user database by using the COLLATE clause of the ALTER DATABASE statement. Cette instruction ne modifie pas le classement des colonnes dans les tables définies par l'utilisateur existantes.This statement does not change the collation of the columns in any existing user-defined tables. Celles-ci peuvent être modifiées à l'aide de la clause COLLECT de l'instruction ALTER TABLE.These can be changed by using the COLLATE clause of ALTER TABLE.

Sécurité Security

Autorisations Permissions

CREATE DATABASECREATE DATABASE
Nécessite l’autorisation CREATE DATABASE sur la base de données master , ou l’autorisation ALTER ANY DATABASE ou VIEW ANY DEFINITION.Requires CREATE DATABASE permission in the master database, or requires CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

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

Utilisation de SQL Server Management Studio Using SQL Server Management Studio

Pour définir ou modifier le classement de base de donnéesTo set or change the database collation

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données SQL ServerSQL Server Database Engine, développez cette instance, puis développez Bases de données.In Object Explorer, connect to an instance of the Moteur de base de données SQL ServerSQL Server Database Engine, expand that instance, and then expand Databases.

  2. Si vous créez une base de données, cliquez avec le bouton droit sur Bases de données , puis sélectionnez Nouvelle base de données.If you are creating a new database, right-click Databases and then click New Database. Si vous ne souhaitez pas définir le classement par défaut, cliquez sur la page Options , puis sélectionnez un classement dans la liste déroulante Classement .If you do not want the default collation, click the Options page, and select a collation from the Collation drop-down list.

    Sinon, si la base de données existe déjà, cliquez avec le bouton droit sur la base de données de votre choix et sélectionnez Propriétés.Alternatively, if the database already exists, right-click the database that you want and click Properties. Cliquez sur la page Options , puis sélectionnez un classement dans la liste déroulante Classement .Click the Options page, and select a collation from the Collation drop-down list.

  3. Une fois que vous avez terminé, cliquez sur OK.After you are finished, click OK.

Utilisation de Transact-SQL Using Transact-SQL

Pour définir le classement de base de donnéesTo set the database collation

  1. Connectez-vous au Moteur de base de donnéesDatabase Engine.Connect to the Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.From the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. Cet exemple montre comment utiliser la clause COLLATE pour spécifier un nom de classement.This example shows how to use the COLLATE clause to specify a collation name. L'exemple crée la base de données MyOptionsTest qui utilise le classement Latin1_General_100_CS_AS_SC .The example creates the database MyOptionsTest that uses the Latin1_General_100_CS_AS_SC collation. Après avoir créé la base de données, exécutez l'instruction SELECT pour vérifier le paramètre.After you create the database, execute the SELECT statement to verify the setting.

USE master;  
GO  
IF DB_ID (N'MyOptionsTest') IS NOT NULL  
DROP DATABASE MyOptionsTest;  
GO  
CREATE DATABASE MyOptionsTest  
COLLATE Latin1_General_100_CS_AS_SC;  
GO  

--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  

Pour modifier le classement de la base de donnéesTo change the database collation

  1. Connectez-vous au Moteur de base de donnéesDatabase Engine.Connect to the Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.From the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. Cet exemple montre comment utiliser la clause COLLATE dans une instruction ALTER DATABASE pour modifier le nom du classement.This example shows how to use the COLLATE clause in an ALTER DATABASE statement to change the collation name. Exécutez l'instruction SELECT pour vérifier la modification.Execute the SELECT statement to verify the change.

USE master;  
GO  
ALTER DATABASE MyOptionsTest  
COLLATE French_CI_AS ;  
GO  

--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  

Voir aussiSee Also

Prise en charge d'Unicode et du classement Collation and Unicode Support
sys.fn_helpcollations (Transact-SQL) sys.fn_helpcollations (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
Nom du classement SQL Server (Transact-SQL) SQL Server Collation Name (Transact-SQL)
Nom de classement Windows (Transact-SQL) Windows Collation Name (Transact-SQL)
COLLATE (Transact-SQL) COLLATE (Transact-SQL)
Priorité de classement (Transact-SQL) Collation Precedence (Transact-SQL)
CREATE TABLE (Transact-SQL) CREATE TABLE (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)