Festlegen oder Ändern der DatenbanksortierungSet or Change the Database Collation

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

In diesem Thema wird beschrieben, wie die Datenbanksortierung in SQL Server 2017SQL Server 2017 mithilfe von SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLfestgelegt und geändert werden kann.This topic describes how set and change the database collation in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Wenn keine Sortierung angegeben wird, wird die Sortierung des Servers verwendet.If no collation is specified, the server collation is used.

Hinweis

Sobald die Datenbank einmal in Azure SQL-DatenbankAzure SQL Database erstellt wurde, kann sie nicht mehr geändert werden.Collation cannot be changed after database has been created on Azure SQL-DatenbankAzure SQL Database.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Nur-Unicode-Sortierungen unter Windows, können nur mit der COLLATE-Klausel verwendet werden, um auf Spalten- und Ausdrucksebene Sortierungen auf die Datentypen nchar, nvarcharund ntext anzuwenden.Windows Unicode-only collations can only be used with the COLLATE clause to apply collations to the nchar, nvarchar, and ntext data types on column level and expression-level data. Sie können nicht mit der COLLATE-Klausel verwendet werden, um die Sortierung einer Datenbank oder Serverinstanz zu ändern.They cannot be used with the COLLATE clause to change the collation of a database or server instance.

  • Wenn die angegebene Sortierung oder die Sortierung des Objekts, auf das verwiesen wird, eine Codepage verwendet, die nicht von Windows unterstützt wird, zeigt Datenbank-EngineDatabase Engine einen Fehler an.If the specified collation or the collation used by the referenced object uses a code page that is not supported by Windows, the Datenbank-EngineDatabase Engine displays an error.

  • Sobald die Datenbank einmal in Azure SQL-DatenbankAzure SQL Database erstellt wurde, kann sie nicht mehr geändert werden.Collation cannot be changed after database has been created on Azure SQL-DatenbankAzure SQL Database.

EmpfehlungenRecommendations

  • Die Namen der unterstützten Sortierungen finden Sie unter Name der Windows-Sortierung (Transact-SQL) und SQL Server-Sortierungsname (Transact-SQL). Alternativ können Sie die Systemfunktion sys.fn_helpcollations (Transact-SQL) verwenden.You can find the supported collation names in Windows Collation Name (Transact-SQL) and SQL Server Collation Name (Transact-SQL); or you can use the sys.fn_helpcollations (Transact-SQL) system function.

  • Das Ändern der Datenbanksortierung ändert Folgendes:When you change the database collation, you change the following:

    • Alle char-, varchar-, text-, nchar-, nvarchar- und ntext -Spalten in Systemtabellen erhalten die neue Sortierung.Any char, varchar, text, nchar, nvarchar, or ntext columns in system tables are changed to the new collation.

    • 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.All existing char, varchar, text, nchar, nvarchar, or ntext parameters and scalar return values for stored procedures and user-defined functions are changed to the new collation.

    • Die Systemdatentypen char, varchar, text, ncharoder nvarcharoder ntext sowie alle benutzerdefinierten Datentypen, die auf Systemdatentypen basieren, erhalten die neue Standardsortierung.The char, varchar, text, nchar, nvarchar, or ntext system data types, and all user-defined data types based on these system data types, are changed to the new default collation.

  • Sie können die Sortierung von neuen Objekten, die in einer Benutzerdatenbank erstellt werden, mithilfe der COLLATE-Klausel der ALTER DATABASE -Anweisung ändern.You can change the collation of any new objects that are created in a user database by using the COLLATE clause of the ALTER DATABASE statement. Diese Anweisung ändert jedoch nicht die Sortierung der Spalten in vorhandenen benutzerdefinierten Tabellen.This statement does not change the collation of the columns in any existing user-defined tables. Letztere können mithilfe der COLLATE-Klausel der ALTER TABLE-Anweisung geändert werden.These can be changed by using the COLLATE clause of ALTER TABLE.

SicherheitSecurity

BerechtigungenPermissions

CREATE DATABASECREATE DATABASE
Erfordert die Berechtigung CREATE DATABASE in der master -Datenbank oder die Berechtigungen CREATE ANY DATABASE oder ALTER ANY DATABASE.Requires CREATE DATABASE permission in the master database, or requires CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

ALTER DATABASEALTER DATABASE
Erfordert die ALTER-Berechtigung für die Datenbank.Requires ALTER permission on the database.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So legen Sie die Datenbanksortierung oder ändern sieTo set or change the database collation

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Instanz von SQL Server-Datenbank-EngineSQL Server Database Engineher, erweitern Sie diese Instanz und dann Datenbanken.In Object Explorer, connect to an instance of the SQL Server-Datenbank-EngineSQL Server Database Engine, expand that instance, and then expand Databases.

  2. Wenn Sie eine neue Datenbank erstellen, klicken mit der rechten Maustaste auf Datenbanken , und klicken Sie anschließend auf Neue Datenbank.If you are creating a new database, right-click Databases and then click New Database. Wenn Sie die Standardsortierung nicht möchten, klicken auf die Seite Optionen , und wählen aus der Dropdownliste Sortierung eine Sortierung aus.If you do not want the default collation, click the Options page, and select a collation from the Collation drop-down list.

    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 Eigenschaftenklicken.Alternatively, if the database already exists, right-click the database that you want and click Properties. Klicken Sie auf die Seite Optionen , und wählen Sie aus der Dropdownliste Sortierung eine Sortierung aus.Click the Options page, and select a collation from the Collation drop-down list.

  3. Wenn Sie fertig sind, klicken Sie auf OK.After you are finished, click OK.

Verwenden von Transact-SQLUsing Transact-SQL

So legen Sie die Datenbanksortierung festTo set the database collation

  1. Stellen Sie eine Verbindung mit dem Datenbank-EngineDatabase Engineher.Connect to the Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.From the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. In diesem Beispiel wird gezeigt, wie die COLLATE-Klausel verwendet wird, um einen Sortierungsnamen anzugeben.This example shows how to use the COLLATE clause to specify a collation name. Im folgenden Beispiel wird die Datenbank mit dem Namen MyOptionsTest erstellt, die die Sortierung Latin1_General_100_CS_AS_SC verwendet.The example creates the database MyOptionsTest that uses the Latin1_General_100_CS_AS_SC collation. Nachdem Sie die Datenbank erstellt haben, führen Sie die SELECT -Anweisung aus, um die Einstellung zu überprüfen.After you create the database, execute the SELECT statement to verify the setting.

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 DatenbanksortierungTo change the database collation

  1. Stellen Sie eine Verbindung mit dem Datenbank-EngineDatabase Engineher.Connect to the Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.From the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. In diesem Beispiel wird gezeigt, wie die COLLATE-Klausel in einer ALTER DATABASE -Anweisung verwendet wird, um den Sortierungsnamen zu ändern.This example shows how to use the COLLATE clause in an ALTER DATABASE statement to change the collation name. Führen Sie die SELECT -Anweisung aus, um die Änderung zu überprüfen.Execute the SELECT statement to verify the change.

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  
  

Weitere InformationenSee Also

Sortierung und Unicode-Unterstützung Collation and Unicode Support
sys.fn_helpcollations (Transact-SQL) sys.fn_helpcollations (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
SQL Server-Sortierungsname (Transact-SQL) SQL Server Collation Name (Transact-SQL)
Name der Windows-Sortierung (Transact-SQL) Windows Collation Name (Transact-SQL)
COLLATE (Transact-SQL) COLLATE (Transact-SQL)
Rangfolge von Sortierungen (Transact-SQL) Collation Precedence (Transact-SQL)
CREATE TABLE (Transact-SQL) CREATE TABLE (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)