Définir ou changer le classement du serveurSet or Change the Server Collation

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Le classement du serveur agit en tant que classement par défaut pour toutes les bases de données système installées avec l'instance de SQL ServerSQL Server, ainsi que pour toute base de données utilisateur nouvellement créée.The server collation acts as the default collation for all system databases that are installed with the instance of SQL ServerSQL Server, and also any newly created user databases. Vous devez choisir avec soin le classement au niveau du serveur, car il affecte :You should carefully choose server-level collation because it affects:

  • Les règles de tri et de comparaison dans =, JOIN, ORDER BY et d’autres opérateurs qui comparent les données textuelles.Sorting and comparison rules in =, JOIN, ORDER BY and other operators that compare textual data.
  • Le classement des colonnes CHAR, VARCHAR, NCHAR et NVARCHAR dans les vues système, les fonctions système et les objets dans TempDB (par exemple, les tables temporaires).Collation of the CHAR, VARCHAR, NCHAR, and NVARCHAR columns in system views, system functions, and the objects in TempDB (for example, temporary tables).
  • Les noms des variables, des curseurs et des étiquettes GOTO.Names of the variables, cursors, and GOTO labels. Les variables @pi et @PI sont considérées comme différentes si le classement au niveau du serveur respecte la casse et comme identiques si le classement au niveau du serveur respecte la casse.Variables @pi and @PI are considered as different variables if the server-level collation is case-sensitive, and the same variables if the server-level collation is case-insensitive.

Définition du classement du serveur dans SQL ServerSetting the server collation in SQL Server

Le classement du serveur est spécifié au cours de l'installation de SQL ServerSQL Server .The server collation is specified during SQL ServerSQL Server installation. Le classement par défaut au niveau du serveur est SQL_Latin1_General_CP1_CI_AS.Default server-level collation is SQL_Latin1_General_CP1_CI_AS. Les classements Unicode seulement ne peuvent pas être spécifiés comme classement au niveau du serveur.Unicode-only collations cannot be specified as the server-level collation. Pour plus d’informations, consultez Prise en charge d’Unicode et du classement.For more information, see Collation and Unicode Support.

Changement du classement du serveur dans SQL ServerChanging the server collation in SQL Server

La modification du classement du serveur par défaut pour une instance de SQL ServerSQL Server peut s'avérer une opération complexe et implique les étapes suivantes :Changing the default collation for an instance of SQL ServerSQL Server can be a complex operation and involves the following steps:

  • Vérifiez que vous disposez de toutes les informations ou de tous les scripts nécessaires pour recréer vos bases de données utilisateur et les objets qu'elles contiennent.Make sure you have all the information or scripts needed to re-create your user databases and all the objects in them.

  • Exportez toutes vos données à l’aide d’un outil tel que l’utilitaire bcp.Export all your data using a tool such as the bcp Utility. Pour plus d’informations, consultez Importation et exportation en bloc de données (SQL Server).For more information, see Bulk Import and Export of Data (SQL Server).

  • Supprimez toutes les bases de données utilisateur.Drop all the user databases.

  • Recréez la base de données MASTER en spécifiant le nouveau classement dans la propriété SQLCOLLATION de la commande setup .Rebuild the master database specifying the new collation in the SQLCOLLATION property of the setup command. Par exemple :For example:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    Pour plus d’informations, consultez Reconstruire des bases de données système.For more information, see Rebuild System Databases.

  • Créez toutes les bases de données et tous les objets qu'elles contiennent.Create all the databases and all the objects in them.

  • Importez toutes vos données.Import all your data.

Notes

Au lieu de changer le classement par défaut d'une instance de SQL ServerSQL Server, vous pouvez spécifier un classement par défaut pour chaque nouvelle base de données que vous créez.Instead of changing the default collation of an instance of SQL ServerSQL Server, you can specify a default collation for each new database you create.

Définition du classement du serveur dans Managed InstanceSetting the server collation in Managed Instance

Le classement au niveau du serveur (préversion) dans Azure SQL Managed Instance peut être spécifié quand l’instance est créée et ne peut pas être changé par la suite.Server-level collation (Preview) in Azure SQL Managed Instance can be specified when the instance is created and cannot be changed later. Vous pouvez définir le classement au niveau du serveur par le biais du portail Azure ou de PowerShell et du modèle Resource Manager lors de la création de l’instance.You can set server-level collation via Azure portal or PowerShell and Resource Manager template while you are creating the instance. Le classement par défaut au niveau du serveur est SQL_Latin1_General_CP1_CI_AS.Default server-level collation is SQL_Latin1_General_CP1_CI_AS. Les classements Unicode seulement et les nouveaux classements UTF-8 ne peuvent pas être spécifiés comme classement au niveau du serveur.Unicode-only and new UTF-8 collations cannot be specified as server-level collation. Si vous migrez des bases de données depuis SQL Server vers Managed Instance, vérifiez le classement du serveur dans le serveur SQL Server source à l’aide de la fonction SERVERPROPERTY(N'Collation'), puis créez une instance Managed Instance qui correspond au classement de votre serveur SQL Server.If you are migrating databases from SQL Server to Managed Instance, check the server collation in the source SQL Server using SERVERPROPERTY(N'Collation') function and create a Managed Instance that matches the collation of your SQL Server. La migration d’une base de données depuis SQL Server vers Managed Instance sans mise en correspondance des classements au niveau du serveur peut entraîner plusieurs erreurs inattendues dans les requêtes.Migrating a database from SQL Server to Managed Instance with the server-level collations that are not matched might cause several unexpected errors in the queries. Vous ne pouvez pas changer le classement au niveau du serveur sur l’instance Managed Instance existante.You cannot change the server-level collation on the existing Managed Instance.

 Voir aussiSee Also

Collation and Unicode Support Collation and Unicode Support
Définir ou modifier le classement de la base de données Set or Change the Database Collation
Définir ou modifier le classement des colonnes Set or Change the Column Collation
Reconstruire des bases de données systèmeRebuild System Databases