Festlegen oder Ändern der Serversortierung

Gilt für:SQL ServerAzure SQL Managed Instance

Die Serversortierung fungiert als Standardsortierung für alle Systemdatenbanken, die zusammen mit der Instanz von SQL Serverinstalliert 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 CHARSpalten , VARCHAR, NCHARund NVARCHAR in Systemansichten, Systemfunktionen und objekten in tempdb (z. B. temporäre Tabellen).
  • Namen von Variablen, Cursors und GOTO-Bezeichnungen. Beispielsweise werden die Variablen @pi und @PI als unterschiedliche Variablen betrachtet, wenn bei der Sortierung auf Serverebene die Groß-/Kleinschreibung beachtet wird, und dieselben Variablen, wenn bei der Sortierung auf Serverebene die Groß-/Kleinschreibung nicht beachtet wird.

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 jeweils 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 ist ein komplexer Vorgang.

Hinweis

Anstatt die Standardsortierung einer Instanz 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 neu, indem Sie die neue Sortierung in der SQLCOLLATION -Eigenschaft des setup Befehls angeben. 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 Managed 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 zu Azure SQL Managed Instance migrieren, überprüfen Sie die Serversortierung in der Quelle SQL Server mithilfe SERVERPROPERTY(N'Collation') der Funktion, und erstellen Sie eine verwaltete instance, die der Sortierung Ihrer SQL Server entspricht. Das Migrieren einer Datenbank von SQL Server zu SQL Managed Instance mit den Sortierungen auf Serverebene, die nicht übereinstimmen, kann zu mehreren unerwarteten Fehlern in den Abfragen führen. Sie können die Sortierung auf Serverebene nicht für die vorhandene verwaltete instance ändern.

Sortierungen in Azure SQL-Datenbank

Sie können die Sortierung des logischen Servers für 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 erstellen, in T-SQL mit CREATE DATABASE, in PowerShell mit New-AzSqlDatabase.

Nächste Schritte