Festlegen oder Ändern der Serversortierung

Gilt für: SQL Server Azure SQL Managed Instance

Die Serversortierung fungiert als Standardsortierung für alle Systemdatenbanken, die zusammen mit der Instance von SQL Server installiert werden, sowie für alle neu erstellten Benutzerdatenbanken.

Sie sollten die Sortierung auf Serverebene sorgfältig durchdenken, da sie sich auf Folgendes auswirken kann:

  • Sortier- und Vergleichsregeln in =, JOIN, ORDER BY und anderen Operatoren, die Textdaten vergleichen.
  • Sortierung der Spalten CHAR, VARCHAR, NCHAR und NVARCHAR in Systemansichten, Systemfunktionen und den Objekten in tempdb (z. B. temporäre Tabellen).
  • Namen von Variablen, Cursors und GOTO-Bezeichnungen. Zum Beispiel werden die Variablen @pi und @PI als verschiedene Variablen betrachtet, wenn die Sortierung auf Serverebene die Groß-/Kleinschreibung beachtet; wenn nicht, werden sie als identische Variablen betrachtet.

Serversortierung in SQL Server

Die Serversortierung wird bei der Installation von SQL Server angegeben. Die Standardsortierung auf Serverebene basiert auf dem Gebietsschema des Betriebssystems.

Beispielsweise ist die Standardsortierung für Systeme, die US-Englisch (en-US) verwenden, SQL_Latin1_General_CP1_CI_AS. Weitere Informationen, einschließlich der Liste der Gebietsschemas des Betriebssystems für die Standardsortierungszuordnungen, finden Sie im Abschnitt „Sortierungen auf Serverebene“ im Artikel Unterstützung von Sortierungen und Unicode.

Hinweis

Die Sortierung auf Serverebene für SQL Server Express LocalDB ist SQL_Latin1_General_CP1_CI_AS und kann während oder nach der Installation nicht geändert werden.

Ändern der Serversortierung in SQL Server

Die Änderung der Standardsortierung für eine Instanz von SQL Server kann ein komplexer Vorgang sein.

Hinweis

Anstatt die Standardsortierung einer Instance von SQL Server zu ändern, können Sie eine Standardsortierung für alle neuen Datenbanken angeben, die Sie über die COLLATE-Klausel der Anweisungen CREATE DATABASE oder ALTER DATABASE erstellen. Weitere Informationen finden Sie unter Festlegen oder Ändern der Datenbanksortierung.

Das Ändern der Instanzsortierung umfasst die folgenden Schritte:

  • Sicherstellen, dass Ihnen alle Informationen oder Skripts zur Verfügung stehen, die zum erneuten Erstellen der Benutzerdatenbanken und aller darin enthaltenen Objekte erforderlich sind.

  • Exportieren aller Daten mithilfe eines Tools wie z. B. dem bcp Utility. Weitere Informationen finden Sie unter Massenimport und -export von Daten (SQL Server).

  • Löschen aller Benutzerdatenbanken.

  • Erstellen Sie die master-Datenbank unter Angabe der neuen Sortierung in der SQLCOLLATION-Eigenschaft des setup-Befehls neu. Zum Beispiel:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    Weitere Informationen finden Sie unter Neuerstellen von Systemdatenbanken.

  • Erstellen aller Datenbanken und aller darin enthaltenen Objekte.

  • Importieren aller Daten.

Festlegen der Serversortierung in Azure SQL Manage Instance

Die Sortierung auf Serverebene in der verwalteten Azure SQL-Instanz kann beim Erstellen der Instanz festgelegt werden. Sie kann später nicht mehr geändert werden. Sie können die Sortierung auf Serverebene über das Azure-Portal oder über PowerShell und eine Resource Manager-Vorlage beim Erstellen der Instanz festlegen. Die Standardsortierung auf Serverebene ist SQL_Latin1_General_CP1_CI_AS.

Wenn Sie Datenbanken von SQL Server zur Azure SQL Managed Instance migrieren, überprüfen Sie die Serversortierung in der SQL Server-Quelle mit der SERVERPROPERTY(N'Collation')-Funktion, und erstellen Sie eine verwaltete Instanz, die der Sortierung der SQL Server Instance entspricht. Die Migration einer Datenbank aus SQL Server in SQL Managed Instance mit Sortierungen auf Serverebene, die nicht übereinstimmen, kann zu einigen unerwarteten Abfragefehlern führen. Die Sortierung auf Serverebene kann auf der vorhandenen verwalteten Instanz nicht geändert werden.

Sortierung in Azure SQL-Datenbank

Sie können die logische Serversortierung in der Azure SQL-Datenbank nicht ändern oder festlegen, aber die Sortierungen jeder Datenbank sowohl für Daten als auch für den Katalog konfigurieren. Die Katalogsortierung bestimmt die Sortierung für Systemmetadaten, z. B. Objektbezeichner. Beide Sortierungen können unabhängig angegeben werden, wenn Sie die Datenbank im Azure-Portal, in T-SQL mit CREATE DATABASE, in PowerShell mit New-AzSqlDatabase erstellen.