Styles de tri des classements Windows

Au cours de l'installation de SQL Server, vous êtes invité à sélectionner des classements Windows ou des classements binaires. Votre choix de classements affecte les comportements de comparaison et d'ordre de tri des données de votre instance MicrosoftSQL Server. Cette rubrique contient des observations qui vous aideront à choisir des classements Microsoft Windows ou des classements binaires pour votre implémentation de SQL Server.

[!REMARQUE]

Pour les classements Windows, les types de données Unicode nchar, nvarchar et ntext ont le même comportement de tri que les types de données non-Unicode char, varchar ettext.

Les classements Windows définissent les règles de stockage des données de type caractère en fonction de paramètres régionaux associés. Les règles de base du classement Windows spécifient l'alphabet ou la langue utilisée lorsque le tri du dictionnaire est appliqué, ainsi que la page de codes utilisée pour stocker les données de type caractère non-Unicode. Les classements binaires trient les données selon la séquence de valeurs codées définie par les paramètres régionaux et le type de données. Un classement binaire dans SQL Server définit les paramètres régionaux et la page de codes ANSI à utiliser, en appliquant un ordre de tri binaire. Grâce à leur relative simplicité, les classements binaires aident à renforcer les performances applicatives. Pour les données de type non-Unicode, les comparaisons de données se basent sur les points de code définis dans la page de codes ANSI. Pour les données de type Unicode, les comparaisons de données se basent sur les points de code Unicode. Pour le classement binaire des types de données Unicode, les paramètres régionaux (la langue) ne sont pas pris en compte dans les tris de données. Par exemple, Latin_1_General_BIN et Japanese_BIN produisent des résultats de tri identiques s'ils sont utilisés avec des données Unicode.

Les classements binaires précédents de SQL Server effectuaient une comparaison de point de code à point de code incomplète pour les données Unicode, car ils comparaient le premier caractère comme WCHAR, suivi d'une comparaison octet par octet. Pour des raisons de compatibilité descendante, la sémantique des classements binaires existante ne sera pas modifiée.

Les classements binaires de cette version de SQL Server incluent également un ensemble de classements de comparaison de points de code purs. Les clients peuvent choisir de migrer vers les classements binaires pour bénéficier des comparaisons de points de code et il est conseillé d'utiliser ces classements pour développer des applications. Le suffixe BIN2 identifie le nom des classements qui implémentent la sémantique des classements par points de code. Il y a également un indicateur de comparaison qui correspond à BIN2 pour le nouveau tri binaire. Pour plus d'informations, consultez Principes d'utilisation des classements BIN et BIN2.

Le tableau suivant décrit les options d'ordre de tri des classements Windows pour SQL Server.

Ordre de tri (suffixe)

Description de l'ordre de tri

Binaire (_BIN)1

Trie et compare les données dans les tables SQL Server en fonction des modèles de bits définis pour chaque caractère. L'ordre de tri binaire respecte casse et accents. Il s'agit de l'ordre de tri le plus rapide. Pour plus d'informations, consultez Principes d'utilisation des classements BIN et BIN2.

Si cette option n'est pas sélectionnée, SQL Server suit les règles de tri et de comparaison définies dans les dictionnaires pour la langue ou l'alphabet associé.

Point de code binaire (_BIN2)1

Trie et compare les données des tables SQL Server en fonction des points de code Unicode pour les données Unicode. Pour les données non-Unicode, le point de code binaire utilise les mêmes comparaisons que les tris binaires.

L'utilisation d'un ordre de tri de point de code binaire présente l'avantage de ne pas avoir à retrier les données dans les applications qui comparent les données triées de SQL Server. Par conséquent, un ordre de tri de point de code binaire simplifie le développement des applications et permet d'améliorer les performances. Pour plus d'informations, consultez Principes d'utilisation des classements BIN et BIN2.

Respecter la casse (_CS)

Différencie les majuscules et les minuscules. Si cette option est sélectionnée, les lettres minuscules précèdent leurs versions majuscules.

Si cette option n'est pas sélectionnée, SQL Server ne différencie pas les lettres minuscules et majuscules lors du tri.

Respecter les accents (_AS)

Différencie les caractères accentuées et les caractères sans accent. Par exemple, 'a' n'est pas équivalent à 'ấ'.

Si cette option n'est pas sélectionnée, SQL Server ne différencie pas les lettres minuscules et majuscules lors du tri.

Respecter le jeu de caractères Kana (_KS)

Différencie les deux types de caractères Kana japonais : Hiragana et Katakana.

Si cette option n'est pas sélectionnée, SQL Server ne différencie pas les caractères Hiragana et Katakana lors du tri.

Respecter la largeur (_WS)

Différencie un caractère codé sur un octet et le même caractère représenté sur deux octets.

Si cette option n'est pas sélectionnée, SQL Server ne fait pas de différence de représentation entre les caractères sur un octet et ceux sur deux octets lors du tri.

1 Si Binaire est activé, les options Respecter la casse, Respecter les accents, Respecter le jeu de caractères Kana et Respecter la largeur ne sont pas disponibles.

Exemples de classements Windows

Chaque classement Windows se présente comme une série de suffixes permettant de définir le respect de la casse, des accents, de la largeur ou des caractères Kana. Les exemples suivants décrivent le comportement de l'ordre de tri selon diverses combinaisons de suffixes.

Suffixe de classement Windows

Description de l'ordre de tri

_BIN1

Tri binaire

_BIN21

Ordre de tri de point de code binaire.

_CI_AI

Non-respect de la casse, non-respect des accents, non-respect des caractères Kana, non-respect de la largeur

_CI_AI_KS

Non-respect de la casse, non-respect des accents, respect des caractères Kana, non-respect de la largeur

_CI_AI_KS_WS

Non-respect de la casse, non-respect des accents, respect des caractères Kana, respect de la largeur

_CI_AI_WS

Non-respect de la casse, non-respect des accents, non-respect des caractères Kana, respect de la largeur

_CI_AS

Non-respect de la casse, respect des accents, non-respect des caractères Kana, non-respect de la largeur

_CI_AS_KS

Non-respect de la casse, respect des accents, respect des caractères Kana, non-respect de la largeur

_CI_AS_KS_WS

Non-respect de la casse, respect des accents, respect des caractères Kana, respect de la largeur

_CI_AS_WS

Non-respect de la casse, respect des accents, non-respect des caractères Kana, respect de la largeur

_CS_AI

Respect de la casse, non-respect des accents, non-respect des caractères Kana, non-respect de la largeur

_CS_AI_KS

Respect de la casse, non-respect des accents, respect des caractères Kana, non-respect de la largeur

_CS_AI_KS_WS

Respect de la casse, non-respect des accents, respect des caractères Kana, respect de la largeur

_CS_AI_WS

Respect de la casse, non-respect des accents, non-respect des caractères Kana, respect de la largeur

_CS_AS

Respect de la casse, respect des accents, non-respect des caractères Kana, non-respect de la largeur

_CS_AS_KS

Respect de la casse, respect des accents, respect des caractères Kana, non-respect de la largeur

_CS_AS_KS_WS

Respect de la casse, respect des accents, respect des caractères Kana, respect de la largeur

_CS_AS_WS

Respect de la casse, respect des accents, non-respect des caractères Kana, respect de la largeur

1 Si BIN2 ou le point de code binaire est activé, les options Respecter la casse, Respecter les accents, Respecter les caractères Kana et Respecter la largeur ne sont pas disponibles.