Freigeben über


Sortierarten für Windows-Sortierung

Während des SQL Server-Setups werden Sie aufgefordert, entweder Windows-Sortierungen oder binäre Sortierungen auszuwählen. Ihre Auswahl der Sortierungen hat Einfluss auf den Datenvergleich und die Sortierreihenfolge für Ihre Instanz von MicrosoftSQL Server. Dieses Thema enthält Überlegungen zur Auswahl der Sortierungen von Microsoft Windows oder der binären Sortierungen für die Implementierung von SQL Server.

HinweisHinweis

Bei Windows-Sortierungen weisen die Unicode-Datentypen nchar, nvarchar und ntext dasselbe Sortierverhalten auf wie die Nicht-Unicode-Datentypen char, varchar und text.

Windows-Sortierungen definieren Regeln zum Speichern von Zeichendaten basierend auf dem zugehörigen Gebietsschema von Windows. Die grundlegenden Windows-Sortierungsregeln geben an, welches Alphabet oder welche Sprache verwendet wird, wenn Wörterbuchsortierung angewendet wird. Zudem geben die Regeln die Codepage an, die zum Speichern von Nicht-Unicode-Zeichendaten verwendet wird. Binäre Sortierungen sortieren Daten basierend auf der Sequenz codierter Werte, die durch das Gebietsschema und den Datentyp definiert sind. Eine binäre Sortierung in SQL Server definiert das zu verwendende Gebietsschema sowie die zu verwendende ANSI-Codepage und erzwingt eine binäre Sortierreihenfolge. Binäre Sortierungen helfen aufgrund ihrer relativen Einfachheit beim Erreichen einer verbesserten Anwendungsleistung. Bei Nicht-Unicode-Datentypen basieren Datenvergleiche auf den in der ANSI-Codepage definierten Codepunkten. Bei Unicode-Dateitypen basieren Datenvergleiche auf den Unicode-Codepunkten. Bei binären Sortierungen von Unicode-Datentypen wird das Gebietsschema bei Datensortierungen nicht berücksichtigt. Beispielsweise führen Latin_1_General_BIN und Japanese_BIN bei Unicode-Daten zu den gleichen Sortierergebnissen.

Frühere binäre Sortierungen in SQL Server führten für Unicode-Daten einen unvollständigen Codepunkt-zu-Codepunkt-Vergleich aus. Bei diesen älteren binären Sortierungen von SQL Server wurde das erste Zeichen als WCHAR verglichen, gefolgt von einem byteweisen Vergleich. Aus Gründen der Abwärtskompatibilität wird die Semantik vorhandener binärer Sortierungen nicht geändert.

Binäre Sortierungen in dieser Version von SQL Server beinhalten auch einen Satz von Sortierungen, die auf reinen Codepunktvergleichen basieren. Die Kunden können auf die binären Sortierungen umsteigen, um vom Vorteil echter Codepunktvergleiche zu profitieren. Zur Entwicklung neuer Anwendungen sollten Sie die binären Sortierungen verwenden. Das BIN2-Suffix identifiziert die Namen von Sortierungen, die die auf Codepunkten basierende Sortierungssemantik implementieren. Außerdem ist ein Vergleichsflag vorhanden, das dem Suffix BIN2 für die neue binäre Sortierung entspricht. Weitere Informationen finden Sie unter Richtlinien für das Verwenden von BIN- und BIN2-Sortierungen.

In der folgenden Tabelle werden die Optionen für die Sortierreihenfolge der Windows-Sortierung in SQL Server beschrieben.

Sortierreihenfolge (Suffix)

Beschreibung der Sortierreihenfolge

Binär (_BIN)1

Sortiert und vergleicht Daten in SQL Server-Tabellen basierend auf den für jedes Zeichen definierten Bitmustern. Die binäre Sortierreihenfolge unterscheidet nach Groß- und Kleinschreibung und nach Akzent. Binär ist außerdem die schnellste Sortierreihenfolge. Weitere Informationen finden Sie unter Richtlinien für das Verwenden von BIN- und BIN2-Sortierungen.

Wenn diese Option nicht ausgewählt ist, werden von SQL Server die Sortier- und Vergleichsregeln verwendet, die in Wörterbüchern für die zugeordnete Sprache oder das Alphabet definiert sind.

Binär-Codepunkt (_BIN2)1

Sortiert und vergleicht Daten in SQL Server-Tabellen basierend auf Unicode-Codepunkten für Unicode-Daten. Für Nicht-Unicode-Daten verwendet der Binär-Codepunkt Vergleiche, die mit binären Sortierungen identisch sind.

Der Vorteil beim Verwenden einer Binär-Codepunkt-Sortierreihenfolge liegt darin, dass in Anwendungen, die sortierte SQL Server-Daten vergleichen, eine Neusortierung der Daten nicht erforderlich ist. Folglich ermöglicht eine Binär-Codepunkt-Sortierreihenfolge eine einfachere Entwicklung von Anwendungen und eine Steigerung der Leistung. Weitere Informationen finden Sie unter Richtlinien für das Verwenden von BIN- und BIN2-Sortierungen.

Unterscheidung nach Groß-/Kleinschreibung (_CS)

Unterscheidet zwischen der Groß- und Kleinschreibung von Buchstaben. Wenn ausgewählt, stehen Kleinbuchstaben in der Sortierung vor dem jeweiligen Großbuchstaben.

Wenn diese Option nicht ausgewählt ist, unterscheidet SQL Server bei der Sortierung nicht zwischen Groß- und Kleinschreibung.

Unterscheidung nach Akzent (_AS)

Unterscheidet zwischen Zeichen mit und ohne Akzent. Beispielsweise ist 'a' nicht mit 'ấ' identisch.

Wenn diese Option nicht ausgewählt ist, unterscheidet SQL Server bei der Sortierung nicht zwischen Zeichen mit und ohne Akzent.

Unterscheidung nach Kana (_KS)

Unterscheidet zwischen den zwei Arten japanischer Kana-Zeichen: Hiragana und Katakana.

Wenn diese Option nicht ausgewählt ist, unterscheidet SQL Server bei der Sortierung nicht zwischen Hiragana- und Katakana-Zeichen.

Unterscheidung nach Breite (_WS)

Unterscheidet zwischen einem Single-Byte-Zeichen und demselben Zeichen als Double-Byte-Zeichen.

Wenn diese Option nicht ausgewählt ist, unterscheidet SQL Server bei der Sortierung nicht zwischen der Darstellung eines Zeichens als Single-Byte- oder Double-Byte-Zeichen.

1Wenn ausgewählt, sind die Optionen Unterscheidung nach Groß-/Kleinschreibung, Unterscheidung nach Akzent, Unterscheidung nach Kana und Unterscheidung nach Breite nicht verfügbar.

Beispiele für Windows-Sortierungen

Jede Windows-Sortierung setzt sich aus einer Kombination von Suffixen zur Festlegung der Unterscheidung nach Groß-/Kleinschreibung, Akzent, Breite oder Kana zusammen. Die folgenden Beispiele beschreiben das Verhalten der Sortierreihenfolge bei verschiedenen Suffixkombinationen.

Suffix der Windows-Sortierung

Beschreibung der Sortierreihenfolge

_BIN1

Binäre Sortierung.

_BIN21

Binär-Codepunkt-Sortierreihenfolge.

_CI_AI

Keine Unterscheidung nach Groß-/Kleinschreibung, Akzent, Kana und Breite.

_CI_AI_KS

Keine Unterscheidung nach Groß-/Kleinschreibung, Akzent und Breite. Unterscheidung nach Kana.

_CI_AI_KS_WS

Keine Unterscheidung nach Groß-/Kleinschreibung und Akzent. Unterscheidung nach Kana und Breite.

_CI_AI_WS

Keine Unterscheidung nach Groß-/Kleinschreibung, Akzent und Kana. Unterscheidung nach Breite.

_CI_AS

Keine Unterscheidung nach Groß-/Kleinschreibung, Kana und Breite. Unterscheidung nach Akzent.

_CI_AS_KS

Keine Unterscheidung nach Groß-/Kleinschreibung und Breite. Unterscheidung nach Akzent und Kana.

_CI_AS_KS_WS

Keine Unterscheidung nach Groß-/Kleinschreibung. Unterscheidung nach Akzent, Kana und Breite.

_CI_AS_WS

Keine Unterscheidung nach Groß-/Kleinschreibung und Kana. Unterscheidung nach Akzent und Breite.

_CS_AI

Keine Unterscheidung nach Akzent, Kana und Breite. Unterscheidung nach Groß-/Kleinschreibung.

_CS_AI_KS

Keine Unterscheidung nach Akzent und Breite. Unterscheidung nach Groß-/Kleinschreibung und Kana.

_CS_AI_KS_WS

Keine Unterscheidung nach Akzent. Unterscheidung nach Groß-/Kleinschreibung, Kana und Breite.

_CS_AI_WS

Keine Unterscheidung nach Akzent und Kana. Unterscheidung nach Groß-/Kleinschreibung und Breite.

_CS_AS

Keine Unterscheidung nach Kana und Breite. Unterscheidung nach Groß-/Kleinschreibung und Akzent.

_CS_AS_KS

Keine Unterscheidung nach Breite. Unterscheidung nach Groß-/Kleinschreibung, Akzent und Kana.

_CS_AS_KS_WS

Unterscheidung nach Groß-/Kleinschreibung, Akzent, Kana und Breite.

_CS_AS_WS

Keine Unterscheidung nach Kana. Unterscheidung nach Groß-/Kleinschreibung, Akzent und Breite.

1Wenn BIN oder der Binär-Codepunkt ausgewählt ist, sind die Optionen Unterscheidung nach Groß-/Kleinschreibung, Unterscheidung nach Akzent, Unterscheidung nach Kana und Unterscheidung nach Breite nicht verfügbar.