Share via


Festlegen oder Ändern der Datenbanksortierung

In diesem Thema wird beschrieben, wie die Datenbanksortierung in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQL festgelegt und geändert werden kann. Wenn keine Sortierung angegeben wird, wird die Sortierung des Servers verwendet.

In diesem Thema

  • Vorbereitungen:

    Einschränkungen

    Empfehlungen

    Sicherheit

  • Festlegen oder Ändern der Datenbanksortierung mit:

    SQL Server Management Studio

    Transact-SQL

Vorbereitungen

Einschränkungen

  • Windows-Nur-Unicode-Sortierungen können nur mit der COLLATE-Klausel verwendet werden, um Sortierungen auf die Datentypen nchar, nvarchar und ntext bei Daten auf Spalten- und Ausdrucksebene anzuwenden. Sie können nicht mit der COLLATE-Klausel verwendet werden, um die Sortierung einer Datenbank oder Serverinstanz zu ändern.

  • Wenn die angegebene Sortierung oder die Sortierung des Objekts, auf das verwiesen wird, eine Codepage verwendet, die nicht von Windows unterstützt wird, zeigt Database Engine (Datenbankmodul) einen Fehler an.

Empfehlungen

  • Sie können die unterstützten Sortierungsnamen in Name der Windows-Sortierreihenfolge (Transact-SQL) und SQL Server-Sortierungsname (Transact-SQL) nachvollziehen, oder Sie können die sys.fn_helpcollations (Transact-SQL)-Systemfunktion verwenden.

  • Das Ändern der Datenbanksortierung ändert Folgendes:

    • Alle char-, varchar-, text-, nchar-, nvarchar- und ntext-Spalten in Systemtabellen erhalten die neue Sortierung.

    • Sämtliche vorhandene char-, varchar-, text-, nchar-, nvarchar- und ntext-Parameter und skalare Rückgabewerte für gespeicherte Prozeduren und benutzerdefinierte Funktionen erhalten die neue Sortierung.

    • Die char-, varchar-, text-, nchar-, nvarchar- und ntext-Systemdatentypen sowie alle benutzerdefinierten Datentypen, die auf Systemdatentypen basieren, erhalten die neue Sortierung.

  • Sie können die Sortierung von neuen Objekten, die in einer Benutzerdatenbank erstellt werden, mithilfe der COLLATE-Klausel der ALTER DATABASE-Anweisung ändern. Diese Anweisung ändert jedoch nicht die Sortierung der Spalten in vorhandenen benutzerdefinierten Tabellen. Letztere können mithilfe der COLLATE-Klausel der ALTER TABLE-Anweisung geändert werden.

Sicherheit

Berechtigungen

  • CREATE DATABASE
    Erfordert die Berechtigung CREATE DATABASE in der master-Datenbank oder die Berechtigung CREATE ANY DATABASE oder ALTER ANY DATABASE.

  • ALTER DATABASE
    Erfordert die ALTER-Berechtigung für die Datenbank.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

SQL Server Management Studio

So legen Sie die Datenbanksortierung oder ändern sie

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server Database Engine (Datenbankmodul) her, erweitern Sie diese Instanz und dann Datenbanken.

  2. Wenn Sie eine neue Datenbank erstellen, klicken mit der rechten Maustaste auf Datenbanken, und klicken Sie dann auf Neue Datenbank. Wenn Sie die Standardsortierung nicht möchten, klicken auf die Seite Optionen, und wählen aus der Dropdownliste Sortierung eine Sortierung aus.

    Wenn eine Datenbank bereits vorhanden ist, können Sie alternativ mit der rechten Maustaste auf die Datenbank klicken, die geändert werden soll, und auf den Befehl Eigenschaften klicken. Klicken Sie auf die Seite Optionen, und wählen Sie aus der Dropdownliste Sortierung eine Sortierung aus.

  3. Wenn Sie fertig sind, klicken Sie auf OK.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Transact-SQL

So legen Sie die Datenbanksortierung fest

  1. Stellen Sie eine Verbindung mit dem Database Engine (Datenbankmodul) her.

  2. Klicken Sie auf der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. In diesem Beispiel wird gezeigt, wie die COLLATE-Klausel verwendet wird, um einen Sortierungsnamen anzugeben. Im folgenden Beispiel wird die Datenbank mit dem Namen MyOptionsTest erstellt, die die Sortierung Latin1_General_100_CS_AS_SC verwendet. Nachdem Sie die Datenbank erstellt haben, führen Sie die SELECT-Anweisung aus, um die Einstellung zu überprüfen.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE Latin1_General_100_CS_AS_SC;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

So ändern Sie die Datenbanksortierung

  1. Stellen Sie eine Verbindung mit dem Database Engine (Datenbankmodul) her.

  2. Klicken Sie auf der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. In diesem Beispiel wird gezeigt, wie die COLLATE-Klausel in einer ALTER DATABASE-Anweisung verwendet wird, um den Sortierungsnamen zu ändern. Führen Sie die SELECT-Anweisung aus, um die Änderung zu überprüfen.

USE master;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS ;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Siehe auch

Verweis

sys.fn_helpcollations (Transact-SQL)

sys.databases (Transact-SQL)

SQL Server-Sortierungsname (Transact-SQL)

Name der Windows-Sortierreihenfolge (Transact-SQL)

COLLATE (Transact-SQL)

Rangfolge von Sortierungen (Transact-SQL)

CREATE TABLE (Transact-SQL)

CREATE DATABASE (Transact-SQL)

ALTER TABLE (Transact-SQL)

ALTER DATABASE (Transact-SQL)

Konzepte

Sortierung und Unicode-Unterstützung