Share via


Prise en charge du classement de bases de données pour Synapse SQL dans Azure Synapse Analytics

Les classements fournissent les règles de paramètres régionaux, de page de codes, d’ordre de tri et de respect des caractères pour les types de données basés sur des caractères. Une fois que vous avez effectué votre sélection, toutes les colonnes et expressions nécessitant des informations de classement héritent du classement choisi dans le paramètre de base de données. L’héritage par défaut peut être substitué en déclarant explicitement un classement différent pour un type de données basé sur des caractères.

Cet article s’applique aux pools SQL dédiés dans les espaces de travail Azure Synapse. Pour plus d’informations sur les pools SQL dédiés (anciennement SQL DW), consultez Types de classement pris en charge pour le pool SQL dédié (anciennement SQL DW).

Sur le Portail Azure, il est possible de modifier le classement par défaut d’une base de données de pool SQL dédié lors de sa création. Grâce à cette fonctionnalité, il est encore plus facile de créer une base de données à l’aide de l’un des 3800 classements de base de données pris en charge.

Vous pouvez spécifier le classement par défaut de la base de données de pools SQL serverless au moment de sa création à l’aide de l’instruction CREATE DATABASE.

Notes

Dans Azure Synapse Analytics, le texte de la requête (y compris les variables, les constantes, etc.) est toujours géré à l’aide du classement au niveau de la base de données, et non du classement au niveau du serveur comme dans d’autres offres de SQL Server.

Modifier le classement

Pour changer le classement par défaut de la base de données d’un pool SQL dédié, vous devez mettre à jour le champ Classement dans l’expérience d’approvisionnement. Par exemple, si vous souhaitez remplacer le classement de par défaut à sensible à la casse, vous changez le classement SQL_Latin1_General_CP1_CI_AS par SQL_Latin1_General_CP1_CS_AS.

Remarque

Le classement ne peut pas être modifié sur une base de données de pool SQL dédiée existante. Si vous devez disposer d’un classement différent au niveau du pool SQL dédié, créez un pool SQL dédié avec le classement requis.

Pour modifier le classement par défaut de la base de données de pools SQL serverless, vous pouvez utiliser l’instruction ALTER DATABASE.

Prise en charge du classement

La table suivante indique les types de classement pris en charge par quel service.

Type de classement Pool SQL serverless Pool SQL dédié : niveau de colonne et de base de données Pool SQL dédié : table externe (prise en charge native) Pool SQL dédié : table externe (Hadoop/Polybase)
Classements non UTF-8 Oui Oui Oui Oui
UTF-8 Oui Oui No Non
Japanese_Bushu_Kakusu_140_* Oui Oui No Non
Japanese_XJIS_140_* Oui Oui No Non
SQL_EBCDIC1141_CP1_CS_AS Non Non Non Non
SQL_EBCDIC277_2_CP1_CS_AS Non Non Non Non

Vérifier le classement actuel

Pour vérifier le classement actuel de la base de données, vous pouvez exécuter l’extrait de code T-SQL suivant :

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation') AS Collation;

Quand « Classement » est transmis en tant que paramètre de propriété, la fonction DatabasePropertyEx retourne le classement actuel de la base de données spécifiée. Pour plus d’informations, voir DATABASEPROPERTYEX.

Vérifier le classement pris en charge

Pour case activée la liste des classements pris en charge dans votre pool SQL dédié :

USE master
GO
SELECT * FROM sys.fn_helpcollations();

Exécutez la fonction sys.fn_helpcollations à partir de la master base de données.

Pour plus d’informations sur les bonnes pratiques concernant les pools SQL dédiés et les pools SQL serverless, consultez les articles suivants :