Définir ou changer le classement du serveur

S’applique à :SQL ServerAzure SQL Managed Instance

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 Server, ainsi que pour toute base de données utilisateur nouvellement créée.

Vous devez examiner attentivement le classement au niveau du serveur, car il peut affecter :

  • Les règles de tri et de comparaison dans =, JOIN, ORDER BY et d’autres opérateurs qui comparent les données textuelles.
  • Classement des CHARcolonnes , VARCHAR, NCHARet NVARCHAR dans les vues système, les fonctions système et les objets dans tempdb (par exemple, les tables temporaires).
  • Les noms des variables, des curseurs et des étiquettes GOTO. Par exemple, les variables @pi et @PI sont considérées comme des variables différentes si le classement au niveau du serveur respecte la casse, et les mêmes variables si le classement au niveau du serveur ne respecte pas la casse.

Classement du serveur dans SQL Server

Le classement du serveur est spécifié au cours de l'installation de SQL Server . Le classement au niveau du serveur par défaut est basé sur les paramètres régionaux du système d’exploitation.

Par exemple, le classement par défaut pour les systèmes utilisant l’anglais américain (en US) est SQL_Latin1_General_CP1_CI_AS. Pour plus d’informations, notamment la liste des paramètres régionaux de système d’exploitation pour les mappages de classement par défaut, consultez la section « classements au niveau du serveur » de Classement et prise en charge d’Unicode.

Notes

Le classement au niveau du serveur pour la base de données locale Express SQL Server est SQL_Latin1_General_CP1_CI_AS et ne peut pas être modifié, pendant ou après l’installation.

Changer le classement du serveur dans SQL Server

La modification du classement par défaut pour une instance de SQL Server peut être une opération complexe.

Notes

Au lieu de changer le classement par défaut d'une instance de SQL Server, vous pouvez spécifier un classement par défaut pour chaque nouvelle base de données que vous créez via la clause COLLATE des instructions CREATE DATABASE et ALTER DATABASE. Pour plus d’informations, voir Set or Change the Database Collation.

La modification du classement de l’instance implique les étapes suivantes :

  • 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.

  • Exportez toutes vos données à l’aide d’un outil tel que l’ utilitaire bcp. Pour plus d’informations, consultez Importation et exportation en bloc de données (SQL Server).

  • Supprimez toutes les bases de données utilisateur.

  • Régénérez la master base de données en spécifiant le nouveau classement dans la SQLCOLLATION propriété de la setup commande. Par exemple :

    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.

  • Créez toutes les bases de données et tous les objets qu'elles contiennent.

  • Importez toutes vos données.

Définir le classement du serveur dans Azure SQL Managed Instance

Le classement au niveau du serveur dans Azure SQL Managed Instance peut être spécifié quand l’instance est créée et ne peut plus être modifiée. 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. Le classement par défaut au niveau du serveur est SQL_Latin1_General_CP1_CI_AS.

Si vous migrez des bases de données de SQL Server vers Azure SQL Managed Instance, case activée le classement du serveur dans la fonction source SQL Server à l’aide SERVERPROPERTY(N'Collation') de la fonction et créez un instance managé qui correspond au classement de votre SQL Server. La migration d’une base de données de SQL Server vers SQL Managed Instance avec les classements au niveau du serveur qui ne sont pas mis en correspondance peut entraîner plusieurs erreurs inattendues dans les requêtes. Vous ne pouvez pas modifier le classement au niveau du serveur sur le instance managé existant.

Classements dans Azure SQL Database

Vous ne pouvez pas modifier ou définir le classement de serveur logique sur Azure SQL base de données, mais vous pouvez configurer les classements de chaque base de données pour les données et pour le catalogue. Le classement du catalogue détermine le classement des métadonnées système, telles que les identificateurs d’objet. Les deux classements peuvent être spécifiés indépendamment lorsque vous créez la base de données dans le Portail Azure, dans T-SQL avec CREATE DATABASE, dans PowerShell avec New-AzSqlDatabase.

Étapes suivantes