So verwenden Sie den Befehl SQL Server Collate

So verwenden Sie den Befehl SQL Server Collate
Dieser Leitfaden behandelt die Grundlagen der Arbeit mit dem Befehl SQL Server Collate. Was ist eine SQL -Server -Kollektion, bevor wir dort ankommen?

Was ist SQL Server Collation?

Die SQL Server -Kollektion bezieht. SQL Server bietet eine breite Palette von Kollationen zum Umgang mit Zeichendaten. Diese Kollationen können Daten mit widersprüchlichen Sprachen und Regionen verarbeiten, sodass eine Datenbank mit Anwendungen weltweit kompatibel ist.

SQL Server -Zusammenstellungsstufen

Auf dem SQL -Server gibt es drei Hauptstufen, in denen Sie die Kollationen definieren können:

  1. SQL Server -Instanzebene
  2. Datenbankebene
  3. Säulenebene

Beachte.

Sie können den Kollationstyp beim Erstellen einer Datenbank angeben. Wenn SQL Server beim Erstellen einer Datenbank nicht angegeben, stellt er standardmäßig die von der SQL Server -Instanz verwendete Kollektion.

Wenn Sie die Kollation beim Erstellen einer Spalte nicht definieren.

SQL Server -Instanzebene

Sie können Ihre bevorzugte Kollektion für Ihre SQL -Serverinstanz während der Installation festlegen. Wenn Sie den SQL -Server bereits installiert haben, können Sie den Assistenten des Installationszentrums verwenden, um Ihren Collationstyp neu zu definieren.

Öffnen Sie das SQL Server Management Studio, um die aktuelle Kollektion für Ihre SQL Server -Instanz anzuzeigen.

Klicken Sie mit der rechten Maustaste auf Ihre SQL Server-Instanz und wählen Sie die Option "Eigenschaften" aus:

Wählen Sie im Fenster Eigenschaften die Registerkarte des Generals im linken Menü aus. Dadurch werden die allgemeinen Informationen zu Ihrer SQL -Serverinstanz angezeigt, einschließlich des Standardkollationstyps:

In unserem Beispiel wird die Standardkollation auf sql_latin1_general_cp1_c1_as eingestellt. Dies ist eher eine SQL -Serverkollektion als eine Windows -Kollektion, wie das SQL_ -Präfix angegeben.

Der andere Teil enthält den Namen der Kollation, in diesem Fall latein1_General_cp_as. Der Wert CI gibt an.

Um eine detailliertere Beschreibung der SQL Server -Standardkollektion zu erhalten, verwenden Sie die SP_HELPSORT -Prozedur wie gezeigt:

Exec SP_HELPSORT;

Die Prozedur sollte Informationen wie gezeigt zurückgeben:

Server -Standardkollektion
-----------------------------------------------------------------------------------------------------------------
Latin1 General, Fall-unempfindlich, akzentempfindlich, kanatype-unempfindlich, breit-unempfindlich für Unicode-Daten, SQL-Server-Sortierreihenfolge 52 auf Code Seite 1252 für Nicht-Unicode-Daten

Datenbankpegelkollation

Wir können die Kollation auf Datenbankebene definieren. Wie erwähnt, sofern nicht ausdrücklich angegeben, erbt eine Datenbank die Zusammenfassung der SQL -Serverinstanz.

So klicken Sie mit der rechten Maustaste auf Ihre Zieldatenbank und öffnen Sie das Eigenschaftenfenster:

Wählen Sie im Fenster Eigenschaften die Registerkarte des Generals aus und navigieren Sie zum Wartungsabschnitt. Sie sollten die aufgelistete Datenbankkonsum sehen:

In unserem Fall erbt die Datenbank dieselbe Kollektion wie die SQL Server -Instanz.

Datenbankkonsum festlegen
Um Ihre gewünschte Kollation während der Datenbankerstellung festzulegen, können Sie die Abfrage wie unten gezeigt verwenden:

Datenbank erstellen sample_database
COLLATE SQL_LATIN1_GENERAL_CP1_CS_AS;

In der obigen Abfrage erstellen wir eine Datenbank mit der Kollektion SQL_LATIN1_GENERAL_CP1_CS_AS. Es ähnelt dem SQL_LATIN1_GENERAL_CI_AI, außer dass es Fall und Akzentempfindlichkeit ist, wie durch CS und wie im Collationsnamen angegeben:

Stellen Sie die Zusammenfassung in einer vorhandenen Datenbank fest
Mit SQL Server können Sie die Kollektion nach der Erstellung mit dem Befehl Alter Database ändern.

Beispielsweise ändert die folgende Abfrage die Kollektion der Datenbank von SQL_LATIN1_GENERAL_CP1_CS_AS an sql_slovak_cp1250_cs_as:

Verwenden Sie sample_database;
Änderung der Datenbank sample_database collate sql_slovak_cp1250_cs_as;

Stellen Sie vor dem Ändern der Kollektion der Datenbank sicher, dass alle Verbindungen zur Datenbank geschlossen sind. Andernfalls schlägt die Abfrage fehl.

SQL Server zeigt die unterstützten Kollationen an
Verwenden Sie die Abfrage wie unten gezeigt, um die unterstützten Kollationen für Ihre SQL Server -Version anzuzeigen:

Wählen Sie den Namen, Beschreibung aus SYS.fn_helpcollations ();

Wenn Sie SQL Server 2019 verwenden, haben wir eine Liste der unterstützten Kollationen bereitgestellt. Laden Sie die Datei in der folgenden Ressource herunter:

Zusammenstellung der Säulenebene

In den meisten Fällen möchten Sie, dass eine Zeichenspalte eine ähnliche Kollation wie die Datenbank erben. Sie können jedoch die Kollation für eine Spalte während der Spaltenerstellung explizit angeben.

Denken Sie daran, dass Sie nur eine Säulenkonsum definieren können, wenn die Spalte vom Typ char ist, wie z. B.:

  1. Varchar
  2. Nvarchar
  3. VERKOHLEN
  4. NTEXT
  5. TEXT

Verwenden Sie zum Einstellen einer Spalte mit T-SQL die Beispielabfrage wie gezeigt:

Erstellen Sie Tabelleninformationen (
Id int,
text_ varchar (50) sortiert sql_ebcdic280_cp1_cs_as
);

Um die Zusammenfassung einer Spalte anzuzeigen, können Sie die unten gezeigte SP_HELP -Prozedur verwenden:

Exec sp_help Info;

Der Befehl sollte Informationen über die Spalte zurückgeben, einschließlich der Zusammenstellung als:

Abschluss

In diesem Artikel haben wir das Konzept von SQL Server -Kollationen untersucht, was sie sind und wie wir Kollationen auf verschiedenen Ebenen wie die SQL Server -Instanzebene, die Datenbankebene und die Spaltenebene anzeigen oder ändern können. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in den anderen Linux -Hinweisartikeln.