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 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
CHAR
Spalten ,VARCHAR
,NCHAR
undNVARCHAR
in Systemansichten, Systemfunktionen und objekten intempdb
(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 derSQLCOLLATION
-Eigenschaft dessetup
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.