Sprachen und Sortierungen (Analysis Services)

Analysis Services unterstützt die Sprachen und Sortierungen, die von Microsoft Windows-Betriebssystemen bereitgestellt werden. Die Eigenschaften Language und Collation werden bei der Installation auf Instanzebene festgelegt, können aber nachträglich auf anderen Ebenen der Objekthierarchie geändert werden.

In einem mehrdimensionalen Modell lassen sich diese Eigenschaften in einer Datenbank oder einem Cube festlegen (gilt nur für diese Modelle) – Sie können sie auch für Übersetzungen festlegen, die Sie für Objekte innerhalb eines Cubes erstellen.

Beim Festlegen von Language und Collation geben Sie entweder Einstellungen an, die bei der Verarbeitung und Ausführung von Abfragen durch das Datenmodell verwendet werden, oder Sie versehen ein Modell mit mehreren Übersetzungen, sodass fremdsprachige Benutzer mit dem Modell in ihrer Muttersprache arbeiten können (nur für mehrdimensionale Modelle). Das explizite Festlegen der Eigenschaften Language und Collation für ein Objekt (Datenbank, Modell oder Cube) eignet sich für Situationen, in denen die Entwicklungsumgebung und der Produktionsserver für verschiedene Gebietsschemas konfiguriert sind und Sie sicher sein möchten, dass Sprache und Sortierung der vorgesehenen Zielumgebung entsprechen.

Dieses Thema enthält folgende Abschnitte:

  • Objects that support Language and Collation properties

  • Language support in Analysis Services

  • Collation support in Analysis Services

  • Change the default language or collation on the instance

  • Change the language or collation on a cube

  • Change language or collation within a data model using XMLA

  • Boost performance for English locales through EnableFast1033Locale

  • GB18030 Support in Analysis Services

Objekte, die die Eigenschaften „Language“ und „Collation“ unterstützen

Die Eigenschaften Language und Collation werden häufig zusammen verfügbar gemacht – wo Sie Language festlegen können, lässt sich auch Collation festlegen.

Sie können Language und Collation für diese Objekte festlegen:

  • Instanz: Alle Projekte, die für die Instanz bereitgestellt werden, übernehmen die Sprache und die Sortierung der Instanz, vorausgesetzt, die Sprache und die Sortierung sind nicht definiert. Standardmäßig lässt ein mehrdimensionales Modell Sprache und Sortierung leer. Wenn das Projekt bereitgestellt wird, übernehmen die resultierende Datenbank und die Cubes die Sprache und die Sortierung der Instanz.

    Die Sprache und die Sortierung werden ursprünglich während des Setups festgelegt, ein Administrator kann sie in Management Studio jedoch überschreiben. Einzelheiten dazu finden Sie unter Change the default language or collation on the instance.

  • Datenbank: Um die Vererbung zu unterbrechen, können Sie Sprache und Sortierung explizit auf der Projektebene festlegen, die von allen Cubes in der Datenbank verwendet wird. Sofern Sie nichts anderes angeben, erhalten alle Cubes in der Datenbank die Sprache und Sortierung, die Sie auf dieser Ebene festlegen. Wenn Sie routinemäßig Lösungen für verschiedene Gebietsschemas codieren und bereitstellen (z. B. eine Lösung auf einem chinesischen Computer entwickeln, aber auf einem Server einer französischen Tochtergesellschaft bereitstellen), ist das Festlegen von Sprache und Sortierung auf Datenbankebene der erste und wichtigste Schritt, um die Funktion der Lösung in der Zielumgebung sicherzustellen. Der beste Ort zum Festlegen dieser Eigenschaften ist innerhalb des Projekts (über den Befehl Datenbank bearbeiten für das Projekt).

  • Datenbankdimension: Auch wenn der Designer die Eigenschaften Language und Collation für eine Datenbankdimension verfügbar macht, ist das Festlegen von Eigenschaften für dieses Objekt nicht hilfreich. Da Datenbankdimensionen nicht als eigenständige Objekte verwendet werden, ist es möglicherweise schwierig oder sogar unmöglich, die von Ihnen definierten Eigenschaften zu nutzen. Eine Dimension in einem Cube erbt die Eigenschaften Language und Collation immer vom übergeordneten Cube. Alle Werte, die Sie möglicherweise für das eigenständige Datenbankdimensionsobjekt festgelegt haben, werden ignoriert.

  • Cube: Als primäre Abfragestruktur können Sie die Sprache und Sortierung auf Cubeebene festlegen. Möglicherweise möchten Sie mehrere Sprachversionen eines Cubes, etwa eine englische und eine chinesische Version, innerhalb desselben Projekts erstellen. Dabei soll jeder Cube seine eigene Sprache und Sortierung verwenden.

    Die Sprache und Sortierung, die Sie für den Cube festlegen, werden von allen Measures und Dimensionen im Cube verwendet. Die einzige Möglichkeit zum Festlegen feiner differenzierter Sortierreihenfolgeneigenschaften besteht darin, Übersetzungen für ein Dimensionsattribut zu erstellen. Wenn keine Übersetzungen auf Attributebene vorhanden sind, gilt eine Sortierung pro Cube.

Darüber hinaus können Sie die Eigenschaft Language allein für ein Translation-Objekt festlegen.

Ein Übersetzungsobjekt wird erstellt, wenn Sie einem Cube oder einer Dimension Übersetzungen hinzufügen. Language ist Teil der Definition der Übersetzung. Dagegen wird Collation für den Cube oder höher festgelegt und von allen Übersetzungen gemeinsam verwendet. Dies wird in der XMLA eines Cubes mit Übersetzungen deutlich, die mehrere Spracheigenschaften (eine für jede Übersetzung), aber nur eine einzige Sortierung enthält. Eine Ausnahme bilden Dimensionsattributübersetzungen: Hier können Sie die Cubesortierung überschreiben und eine Attributsortierung angeben, die mit der Quellspalte übereinstimmt. (Das Datenbankmodul unterstützt die Festlegung der Sortierung für einzelne Spalten, und es ist üblich, einzelne Übersetzungen zu konfigurieren, um Elementdaten aus verschiedenen Quellspalten abzurufen.) Für alle anderen Übersetzungen wird Language jedoch allein verwendet, ohne Collation. Einzelheiten dazu finden Sie unter Übersetzungen (Analysis Services).

Sprachunterstützung in Analysis Services

Die Language-Eigenschaft legt das Gebietsschema eines Objekts fest, das während der Verarbeitung, bei Abfragen sowie mit Captions und Translations zur Unterstützung mehrsprachiger Szenarien verwendet wird. Gebietsschemas basieren auf einer Sprachen-ID, z. B. Englisch, und einem Gebiet, z. B. USA oder Australien, das Datums- und Uhrzeit-Darstellungen weiter verfeinert.

Die Eigenschaft wird während der Installation auf Instanzebene festgelegt und basiert auf der Sprache des Windows-Serverbetriebssystems (eine von 37 Sprachen, vorausgesetzt, ein Sprachpaket ist installiert). Die Sprache kann nicht in Setup geändert werden.

Nach der Installation können Sie Language mithilfe der Servereigenschaftenseite in Management Studio oder in der Konfigurationsdatei „msmdsrv.ini“ überschreiben. Sie können aus vielen weiteren Sprachen auswählen, einschließlich aller vom Windows-Client unterstützten Sprachen. Bei Festlegung auf Instanzebene auf dem Server bestimmt Language das Gebietsschema aller Datenbanken, die später bereitgestellt werden. Wenn Sie z. B. Language auf Deutsch festlegen, erhalten alle für die Instanz bereitgestellten Datenbanken die „Language“-Eigenschaft 1031, die LCID für Deutsch.

Der Wert der „Language“-Eigenschaft ist ein Gebietsschemabezeichner (LCID).

Gültige Werte sind alle LCID, die in der Dropdownliste angezeigt werden. LCIDs sind in Management Studio und SQL Server Data Tools in Zeichenfolgenäquivalenten dargestellt. Immer dort, wo die Language-Eigenschaft verfügbar ist, werden unabhängig vom Tool dieselben Sprachen angezeigt. Durch eine einheitliche Liste von Sprachen wird sichergestellt, dass Sie Übersetzungen im gesamten Modell einheitlich implementieren und testen können.

Obwohl Analysis Services die Sprachen nach Namen aufführt, wird der Wert für die Eigenschaft tatsächlich als LCID gespeichert. Verwenden Sie beim programmgesteuerten Festlegen einer Spracheigenschaft oder beim Festlegen über die Datei „msmdsrv.ini“ den Gebietsschemabezeichner (LCID) als Wert. Eine LCID ist ein 32-Bit-Wert, bestehend aus einer Sprachen-ID, einer Sortierungs-ID und reservierten Bits, die eine bestimmte Sprache identifizieren. Analysis Services verwendet LCIDs, um die ausgewählte Sprache für Instanzen und Objekten von Analysis Services anzugeben.

Sie können die LCID im Hexadezimal- oder Dezimalformat festlegen. Einige Beispiele für gültige Werte der Language-Eigenschaft sind:

  • 0x0409 oder 1033 für Englisch (Vereinigte Staaten)

  • 0x0411 oder 1041 für Japanisch

  • 0x0407 oder 1031 für Deutschland (Deutsch)

  • 0x0416 oder 1046 für Portugiesisch (Brasilien).

Eine längere Liste finden Sie unter Von Microsoft zugewiesene Gebietsschema-IDs. Weitere Hintergrundinformationen finden Sie unter Codierung und Codepages.

HinweisHinweis

Die Language-Eigenschaft bestimmt nicht die Sprache für die Rückgabe von Systemnachrichten oder welche Zeichenfolgen in der Benutzeroberfläche angezeigt werden. Fehler, Warnungen und Meldungen sind in alle in Office und Office 365 unterstützten Sprachen lokalisiert und werden automatisch verwendet, wenn die Clientverbindung eines der unterstützten Gebietsschemas angibt.

Sortierungsunterstützung in Analysis Services

Analysis Services verwendet ausschließlich Windows-Sortierungen und binäre Sortierungen. Es werden keine älteren SQL Server-Sortierungen verwendet. Innerhalb eines Cubes wird, mit Ausnahme von Übersetzungen auf Attributebene, eine einzelne Sortierung verwendet. Weitere Informationen zum Definieren von Attributübersetzungen finden Sie unter Übersetzungen (Analysis Services).

Sortierungen steuern die Berücksichtigung von Groß- und Kleinschreibung aller Zeichenfolgen in einer Sprache mit Groß-/Kleinschreibung, mit Ausnahme von Objektbezeichnern. Wenn Sie in einem Objektbezeichner Groß- und Kleinbuchstaben verwenden, beachten Sie, dass die Berücksichtigung der Groß- und Kleinschreibung von Objektbezeichnern nicht durch die Sortierung bestimmt wird, sondern durch Analysis Services. Bei Objektbezeichnern in englischer Schrift wird nie die Groß-/Kleinschreibung beachtet, unabhängig von der Sortierung. Für Kyrillisch und andere Sprachen mit Groß-/Kleinschreibung gilt das Gegenteil (immer Groß-/Kleinschreibung). Einzelheiten dazu finden Sie unter Tipps und Best Practices für die Globalisierung (Analysis Services).

Die Sortierung in Analysis Services ist kompatibel mit der des relationalen Datenbankmoduls von SQL Server, vorausgesetzt, Sie achten bei der Wahl der Sortieroptionen für die einzelnen Dienste auf Gleichheit. Wenn z. B. in der relationalen Datenbank nach Akzent unterschieden wird, sollten Sie den Cube auf die gleiche Weise konfigurieren. Es können Probleme auftreten, wenn Sortierungseinstellungen voneinander abweichen. Ein Beispiel und Problemumgehungen finden Sie unter Leerzeichen in einer Unicode-Zeichenfolge liefern je nach Sortierung unterschiedliche Verarbeitungsergebnisse. Weitere Informationen zur Sortierung und zum Datenbankmodul finden Sie unter Sortierung und Unicode-Unterstützung.

Sortierungstypen

Analysis Services unterstützt zwei Sortierungstypen:

  • Windows-Sortierungen

    Windows-Sortierungen sortieren Zeichen anhand der linguistischen und kulturellen Merkmale der Sprache. In Windows gibt es mehr Sortierungen als damit verwendete Gebietsschemas (oder Sprachen), da viele Sprachen gemeinsame Alphabete und Regeln für das Sortieren und Vergleichen von Zeichen verwenden. 33 Windows-Gebietsschemas, einschließlich aller portugiesischen und englischen Windows-Gebietsschemas, verwenden z. B. die Latein-1-Codepage (1252) und folgen gemeinsamen Regeln für das Sortieren und Vergleichen von Zeichen.

  • Binäre Sortierungen (BIN oder BIN2)

    Binäre Sortierungen sortieren nach Unicode-Codepunkten, nicht nach linguistischen Werten. Beispiel: Latin1_General_BIN und Japanese_BIN führen zu unterschiedlichen Sortierergebnissen bei Verwendung mit Unicode-Daten. Während eine linguistische Sortierreihenfolge Ergebnisse wie aAbBcCdD ergeben könnte, ergäbe eine binäre Sortierung ABCDabcd, da der Codepunkt aller Großbuchstaben zusammen höher ist als die Codepunkte der Kleinbuchstaben.

Optionen für die Sortierreihenfolge

Sortieroptionen werden verwendet, um Sortier- und Vergleichsregeln basierend auf Groß-/Kleinschreibung, Akzent, Kana und Breite zu verfeinern. Der Standardwert der Collation-Konfigurationseigenschaft für Analysis Services ist beispielsweise Latin1_General_AS_CS. Damit wird angegeben, dass die Latin1_General-Sortierung mit einer Sortierreihenfolge verwendet wird, die nach Akzent sowie Groß- und Kleinschreibung unterscheidet.

Beachten Sie, dass BIN und BIN2 nicht zusammen mit anderen Sortieroptionen verwendet werden können. Wenn Sie BIN oder BIN2 verwenden möchten, deaktivieren Sie die Sortieroption für Akzent. Entsprechend sind bei Auswahl von BIN2 die Optionen für Unterscheidung nach Groß-/Kleinschreibung, keine Unterscheidung nach Groß-/Kleinschreibung, Unterscheidung nach Akzent, keine Unterscheidung nach Akzent, Unterscheidung nach Kana und Unterscheidung nach Breite nicht verfügbar.

In der folgenden Tabelle werden Windows-Optionen für die Sortierreihenfolge und verknüpfte Suffixe für Analysis Services beschrieben.

Sortierreihenfolge (Suffix)

Beschreibung der Sortierreihenfolge

Binär (_BIN) oder BIN2 (_BIN2)

Es gibt zwei Arten von binären Sortierungen in SQL Server: die älteren BIN-Sortierungen und die neueren BIN2-Sortierungen. In einer BIN2-Sortierung werden alle Zeichen entsprechend ihren Codepunkten sortiert. In einer BIN-Sortierung wird nur der erste Buchstabe nach Codepunkt sortiert, die verbleibenden Zeichen werden entsprechend ihren Bytewerten sortiert. (Da die Intel-Plattform eine kleine Endian-Architektur ist. werden Unicode-Zeichen immer mit vertauschter Byte-Reihenfolge gespeichert.)

Für binäre Sortierungen in Unicode-Datentypen wird das Gebietsschema nicht in Datensortierungen berücksichtigt. Beispielsweise führen Latin_1_General_BIN und Japanese_BIN bei Unicode-Daten zu den gleichen Sortierergebnissen.

Die binäre Sortierreihenfolge berücksichtigt die Groß- und Kleinschreibung sowie Akzente. Die Option Binär ist zudem die schnellste Sortierreihenfolge. Weitere Informationen finden Sie unter Richtlinien für das Verwenden von BIN- und BIN2-Sortierungen.

Unterscheidung nach Groß-/Kleinschreibung (_CS)

Unterscheidet zwischen der Groß- und Kleinschreibung von Buchstaben. Wenn ausgewählt, stehen Kleinbuchstaben in der Sortierung vor dem jeweiligen Großbuchstaben. Sie können die Nichtunterscheidung nach Groß-/Kleinbuchstaben durch Angeben von „_CI“ explizit festlegen. Sortierungsspezifische Einstellungen für Groß-/Kleinschreibung gelten nicht für Objektbezeichner, wie z. B. die ID einer Dimension, eines Cubes und anderer Objekte. Einzelheiten dazu finden Sie unter Tipps und Best Practices für die Globalisierung (Analysis Services).

Unterscheidung nach Akzent (_AS)

Unterscheidet zwischen Zeichen mit Akzent und Zeichen ohne Akzent. Beispielsweise ist 'a' nicht mit 'ấ' identisch. Wenn diese Option nicht ausgewählt ist, betrachtet Analysis Services die Zeichen mit Akzent und die Zeichen ohne Akzent für Sortierzwecke als identisch. Sie können die Nichtunterscheidung nach Akzent durch Angeben von „_AI“ explizit festlegen.

Unterscheidung nach Kana (_KS)

Unterscheidet zwischen den beiden Arten von japanischen Kana-Zeichen: Hiragana und Katakana. Wenn diese Option nicht ausgewählt ist, betrachtet Analysis Services Hiragana- und Katakana-Zeichen für Sortierzwecke als identisch. Es gibt kein Sortierreihenfolgensuffix für die Sortierung der Kana-Zeichen.

Unterscheidung nach Breite (_WS)

Unterscheidet zwischen einem Single-Byte-Zeichen und demselben Zeichen als Double-Byte-Zeichen. Wenn diese Option nicht ausgewählt ist, betrachtet Analysis Services die Single-Byte- und die Double-Byte-Darstellung desselben Zeichens für Sortierzwecke als identisch. Es gibt kein Sortierreihenfolgensuffix für die Sortierung mit Unterscheidung nach Breite.

Ändern der Standardsprache oder Sortierung für die Instanz

Die Standardsprache und -sortierung werden während der Installation eingerichtet, können aber als Teil der Konfiguration nach der Installation geändert werden. Das Ändern der Sortierreihenfolge auf Instanzebene ist nicht einfach und kann nicht ohne Weiteres durchgeführt werden. Sie müssen die folgenden Anforderungen beachten:

  • Der Dienst muss neu gestartet werden.

  • Aktualisieren Sie die Sortierungseinstellungen von vorhandenen Objekten. Sortierungseinstellungen werden einmalig bei Erstellung des Objekts vererbt. Nachfolgende Änderungen der Sortierung müssen manuell erfolgen. Tipps zum Weitergeben von Sortierungsänderungen im gesamten Modell finden Sie unter Change collation within a data model using XMLA.

  • Verarbeiten Sie Partitionen und Dimensionen nach der Aktualisierung der Sortierung erneut.

Sie können SQL Server Management Studio oder AMO PowerShell verwenden, um die Standardsprache oder -sortierung auf Serverebene zu ändern. Alternativ können Sie die Einstellungen <Language> und <CollationName> in der Datei „msmdsrv.ini“ ändern, indem Sie die LCID der Sprache angeben.

  1. Klicken Sie in Management Studio mit der rechten Maustaste auf den Servernamen | Eigenschaften | Sprache/Sortierung.

  2. Wählen Sie die Sortieroptionen aus. Um entweder Binär oder Binär 2 auszuwählen, deaktivieren Sie zuerst das Kontrollkästchen Unterscheidung nach Akzent.

    Beachten Sie, dass Sortierung und Sprache vollständig unabhängige Einstellungen sind. Wenn Sie eine davon ändern, werden die Werte der anderen nicht so gefiltert, dass nur gängige Kombinationen angezeigt werden.

  3. Aktualisieren Sie das Datenmodell, um die neue Sortierung zu verwenden (siehe folgenden Abschnitt).

  4. Starten Sie den Dienst neu.

Ändern der Sprache oder der Sortierung für einen Cube

  1. Doppelklicken Sie im Projektmappen-Explorer auf den Cube, um ihn im Cube-Designer zu öffnen.

  2. Wählen Sie im Bereich „Measures“ oder „Dimensionen“ den obersten Knoten aus. Das Objekt der obersten Ebene für beide Bereiche ist der Cube.

  3. Legen Sie unter „Eigenschaften“ Language und Collation fest. Die Werte, die Sie auswählen, werden für alle Cubeobjekte einschließlich Cubedimensionen und -measures verwendet und wirken sich auf Verarbeitungs- und Abfragevorgänge aus.

    Die einzige Möglichkeit zum Einbetten alternativer Sprach- und Sortierungseigenschaften für Objekte innerhalb des Cubes bieten Übersetzungen. Einzelheiten dazu finden Sie unter Übersetzungen (Analysis Services).

Ändern der Sprache und Sortierung innerhalb eines Datenmodells mithilfe von XMLA

Sprach- und Sortierungseinstellungen werden einmalig bei Erstellung des Objekts vererbt. Nachfolgende Änderungen an diesen Eigenschaften müssen manuell erfolgen. Eine Möglichkeit zum schnellen Ändern der Sortierung für mehrere Objekte ist die Verwendung eines ALTER-Befehls in einem XMLA-Skript.

Standardmäßig wird die Sortierung einmal, und zwar auf Datenbankebene, festgelegt. Auf die restliche Objekthierarchie wird Vererbung angewendet. Wenn Sie explizit die Eigenschaft Collation für Objekte innerhalb des Cubes festlegen, was für einzelne Dimensionsattribute zulässig ist, wird sie in die XMLA-Definition aufgenommen. Andernfalls existiert nur die Sortierungseigenschaft der obersten Ebene.

Stellen Sie vor dem Ändern einer vorhandenen Datenbank mit XMLA sicher, dass Sie keine Unstimmigkeiten zwischen der Datenbank und den Quelldateien einführen, aus denen sie erstellt wird. Sie möchten z. B. mit XMLA schnell die Sprache oder Sortierung für eine Machbarkeitsstudie ändern, aber dann Änderungen an der Quelldatei vornehmen (siehe Change the language or collation on a cube) und die Lösung mit den vorhandenen Betriebsverfahren erneut bereitstellen.

  1. Klicken Sie in Management Studio mit der rechten Maustaste auf die Datenbank | Skript für Datenbank als | ALTER in | Neues Abfrage-Editorfenster.

  2. Suchen Sie die vorhandene Sprache oder Sortierung, und ersetzen Sie sie durch einen alternativen Wert.

  3. Drücken Sie F5, um das Skript auszuführen.

  4. Verarbeiten Sie den Cube erneut.

Leistungssteigerungen für englische Gebietsschemas durch EnableFast1033Locale

Wenn Sie die Sprachen-ID English (Vereinigte Staaten), (0x0409 oder 1033), als Standardsprache für die Instanz von Analysis Services verwenden, können Sie von zusätzlichen Leistungsverbesserungen profitieren, indem Sie die Konfigurationseigenschaft EnableFast1033Locale definieren. Es handelt sich hierbei um eine erweiterte Konfigurationseigenschaft, die nur für diese Sprachen-ID zur Verfügung steht. Wenn Sie den Wert dieser Eigenschaft auf true festlegen, kann Analysis Services einen schnelleren Algorithmus für Zeichenfolge-Hashingoperationen und Zeichenfolgevergleiche verwenden. Weitere Informationen zum Festlegen von Konfigurationseinstellungen finden Sie unter Konfigurieren von Servereigenschaften in Analysis Services.

GB18030-Unterstützung in Analysis Services

GB18030 ist ein separater Standard, der in der Volksrepublik China zur Codierung von chinesischen Schriftzeichen verwendet wird. In GB18030 können Zeichen 1, 2 oder 4 Bytes lang sein. In Analysis Services gibt es keine Datenkonvertierung bei der Verarbeitung von Daten aus externen Quellen. Die Daten werden direkt als Unicode gespeichert. Zur Abfragezeit erfolgt, basierend auf den Einstellungen des Clientbetriebssystems, eine GB18030-Konvertierung über die Analysis Services-Clientbibliotheken (insbesondere den OLE DB-Anbieter MSOLAP.dll), wenn Textdaten in den Abfrageergebnissen zurückgegeben werden. Das Datenbankmodul unterstützt auch GB18030. Einzelheiten dazu finden Sie unter Sortierung und Unicode-Unterstützung.

Siehe auch

Konzepte

Globalisierungsszenarien für mehrdimensionale Analysis Services

Tipps und Best Practices für die Globalisierung (Analysis Services)

Sortierung und Unicode-Unterstützung