Jazyky a kolace (Analysis Services)

platí pro: Analytické služby SQL Serveru Azure Analysis Services Fabric/Power BI Premium

SLUŽBA Analytické služby SQL Serveru podporuje jazyky a kolace poskytované operačními systémy Microsoft Windows. Vlastnosti jazyka a kolace jsou zpočátku nastaveny na úrovni instance během instalace, ale lze je změnit později na různých úrovních hierarchie objektů.

V multidimenzionálním modelu (pouze) můžete tyto vlastnosti nastavit v databázi nebo datové krychli – můžete je také nastavit při překladech, které vytvoříte pro objekty v datové krychli. V tabulkovém modelu se jazyk a kolace dědí z hostitelského operačního systému.

Při nastavování jazyka a kolace v multidimenzionálním modelu buď zadáváte nastavení používaná datovým modelem při zpracování a provádění dotazů, nebo model poskytujete více překladů, aby mluvčí cizího jazyka mohli s modelem pracovat v jejich nativním jazyce. Výslovné nastavení vlastností jazyka a kolace objektu (databáze, modelu nebo datové krychle) se používá v situacích, kdy je vývojové prostředí a produkční server nakonfigurované pro různá národní prostředí a chcete mít jistotu, že jazyk a kolace odpovídají cílovému prostředí.

Objekty, které podporují vlastnosti jazyka a kolace

Vlastnosti jazyka a kolace jsou často vystaveny společně – kde můžete nastavit jazyk, můžete také nastavit kolaci.

U těchto objektů můžete nastavit jazyk a kolaci :

  • Instance. Všechny projekty nasazené do instance přijmou jazyk a kolaci instance, pokud nejsou jazyk a kolace definovány. Multidimenzionální model ve výchozím nastavení ponechá jazyk a kolaci prázdné. Po nasazení projektu získají výsledná databáze a OLAP kostky jazyk a kolaci instance.

    Vlastnosti jazyka a kolace se nastavují zpočátku během instalace, ale správce je může v programu Management Studio přepsat. Podrobnosti najdete v tématu Změna výchozího jazyka nebo kolace instance .

  • Databáze. Pokud chcete přerušit dědičnost, můžete explicitně nastavit jazyk a kolaci na úrovni projektu, kterou používají všechny datové krychle obsažené v databázi. Pokud neurčíte jinak, všechny kostky v databázi získají jazyk a kolaci, které zadáte na této úrovni. Pokud rutinně zakódujete a nasadíte do různých národních prostředí (například vývoj řešení v čínském počítači, ale nasadíte ho na server vlastněný francouzskou pobočkou), nastavení jazyka a kolace na úrovni databáze je prvním a nejdůležitějším krokem k zajištění toho, aby řešení fungovalo v cílovém prostředí. Nejlepší místo pro nastavení těchto vlastností je uvnitř projektu (prostřednictvím příkazu Upravit databázi v projektu).

  • Dimenze databáze. Ačkoli návrhář zveřejňuje vlastnosti jazyka a kolace v dimenzi databáze, nastavení vlastností tohoto objektu není užitečné. Dimenze databáze se nepoužívají jako samostatné objekty, takže může být obtížné, pokud není nemožné použít vlastnosti, které definujete. V datové krychli dimenze vždy dědí jazyk a kolaci z nadřazené datové krychle. Všechny hodnoty, které jste mohli nastavit u objektu dimenze samostatné databáze, se ignorují.

  • Datová krychle. Jako primární strukturu dotazů můžete nastavit jazyk a kolaci na úrovni datové krychle. Můžete například chtít vytvořit více jazykových verzí datové krychle, například anglické a čínské verze, v rámci stejného projektu, kde každá datová krychle má svůj vlastní jazyk a kolaci.

    V datové krychli se jazyk a kolace, které nastavíte, používají pro všechna měřítka a dimenze obsažené v této krychli. Jediným způsobem, jak nastavit kompletační vlastnosti v jemněji odstupňovaném intervalu, je, když vytváříte překlady atributu dimenze. V opačném případě, za předpokladu, že na úrovni atributu nejsou překlady, existuje jedna kolace na jednu kostku.

Kromě toho můžete nastavit jazyk sám o sobě na objekt Translation .

Objekt překladu se vytvoří při přidávání překladů do datové krychle nebo dimenze. Jazyk je součástí definice překladu. Řazení je naopak nastavené na datovou strukturu krychle nebo vyšší úrovně a je sdílené všemi překlady. To je zřejmé v XMLA datové krychle obsahující překlady, kde uvidíte více vlastností jazyka (jeden pro každý překlad), ale pouze jednu kolaci. Všimněte si, že u překladů atributů dimenzí existuje jedna výjimka, kdy můžete přepsat kolaci datové krychle a určit kolaci atributů, která odpovídá zdrojovému sloupci (databázový stroj podporuje nastavení kolace jednotlivých sloupců a je běžné nakonfigurovat jednotlivé překlady tak, aby získaly členská data z různých zdrojových sloupců). Ale jinak pro všechny ostatní překlady se jazyk používá sám, bez doplňku kolace. Podrobnosti najdete v podpoře překladu ve službě Analysis Services .

Podpora jazyků ve službě Analysis Services

Vlastnost Language nastavuje národní prostředí objektu, které se používá při zpracování, dotazech a s titulky a překlady pro podporu vícejazyčných scénářů. Lokalizace jsou založené na identifikátoru jazyka, jako je angličtina, a území, například Spojené státy nebo Austrálie, která dále upřesňují reprezentaci data a času.

Na úrovni instance je vlastnost nastavena během instalace a je založená na jazyce operačního systému Windows Server (jeden z 37 jazyků za předpokladu, že je nainstalovaná jazyková sada). Jazyk nelze změnit v instalačním programu.

Po dokončení instalace můžete přepsat Jazyk pomocí stránky vlastností serveru v Management Studio nebo v konfiguračním souboru msmdsrv.ini. Můžete si vybrat z mnoha dalších jazyků, včetně všech jazyků podporovaných klientem Windows. Při nastavení na úrovni instance na serveru jazyk určuje národní prostředí všech databází, které jsou následně nasazeny. Pokud například nastavíte jazyk na němčinu, budou mít všechny databáze nasazené do instance vlastnost Language 1031, LCID pro němčinu.

Hodnota vlastnosti Language je identifikátor národního prostředí (LCID)

Platné hodnoty zahrnují všechny LCID, které se zobrazí v rozevíracím seznamu. V sadě Management Studio a SQL Server Data Tools jsou identifikátory LCID reprezentovány v řetězcových ekvivalentech. Stejné jazyky se zobrazují všude, kde je vlastnost Language vystavena bez ohledu na nástroj. Identický seznam jazyků zajišťuje, že můžete implementovat a testovat překlady konzistentně v celém modelu.

Přestože služba Analysis Services uvádí jazyky podle názvu, skutečná hodnota uložená pro vlastnost je LCID. Při programovém nastavení vlastnosti jazyka nebo prostřednictvím souboru msmdsrv.ini použijte jako hodnotu identifikátor národního prostředí (LCID ). LCID je 32bitová hodnota skládající se z ID jazyka, ID řazení a rezervovaných bitů, které identifikují konkrétní jazyk. Analytické služby SQL Serveru používá identifikátory LCID k určení vybraného jazyka pro instance a objekty služby Analytické služby SQL Serveru.

LCID můžete nastavit pomocí šestnáctkového nebo desítkového formátu. K několika příkladům platných hodnot pro vlastnost Language patří:

  • 0x0409 nebo 1033 pro angličtinu (Spojené státy)

  • 0x0411 nebo 1041 pro japonštinu

  • 0x0407 nebo 1031 pro Německo (němčina)

  • 0x0416 nebo 1046 pro portugalštinu (Brazílie).

Pokud chcete zobrazit delší seznam, viz Kódy národního prostředí přiřazené Microsoftem. Další informace najdete v tématu Kódování a kódové stránky.

Poznámka:

Vlastnost Language neurčuje jazyk pro vrácení systémových zpráv nebo řetězce, které se zobrazí v uživatelském rozhraní. Chyby, upozornění a zprávy jsou lokalizovány do všech jazyků podporovaných v Office a Microsoft 365 a používají se automaticky, když připojení klienta určuje jedno z podporovaných národních prostředí.

Podpora kolace ve službě Analysis Services

Analytické služby SQL Serveru používá windows (verze _90 a _100) a binární kolace výhradně. Nepoužívá starší kolace SQL Serveru. V rámci datového kubusu se používá jedna kolace (seřazení), s výjimkou překladů na úrovni atributů. Další informace o definování překladů atributů naleznete v tématu Podpora překladu ve službě Analysis Services.

Kolace řídí citlivost písmen všech řetězců ve skriptu jazyka bicameral s výjimkou identifikátorů objektů. Pokud v identifikátoru objektu používáte velká a malá písmena, mějte na paměti, že rozlišování velkých a malých písmen u identifikátorů objektů je určováno nikoliv kolací, ale službou Analytické služby SQL Serveru. Pro identifikátory objektů složené v anglickém písmu jsou tyto vždy nerozlišující velká a malá písmena, bez ohledu na řazení. Cyrilice a jiné jazyky s dvojím písmem dělají opačně (vždy rozlišují malá a velká písmena). Podrobnosti najdete v tématu Tipy pro globalizaci a osvědčené postupy (Analysis Services).

Řazení ve službě Analysis Services je kompatibilní s relačním databázovým systémem SQL Serveru, pokud zachováte shodu v možnostech řazení, které vyberete pro každou službu. Pokud je například relační databáze citlivá na zvýraznění, měli byste datovou krychli nakonfigurovat stejným způsobem. K problémům může dojít při odlišných nastaveních řazení. Příklad a alternativní řešení najdete v tématu Prázdné hodnoty v řetězci Unicode, které mají různé výsledky zpracování na základě kolace. Další informace o kolaci a databázovém stroji najdete v tématu Podpora kolace a kódování Unicode.

Typy řazení

Služby Analysis Services podporují dva typy řazení.

  • Kolace Windows (verze _90 a _100)

    Verze kolace Windows jsou _90 (starší verze bez označení) a novější verze _100. Pouze verze _100 zobrazuje číslo verze v názvu kolace:

    • latin1_general

    • latin1_general_100

    Řazení ve Windows seřadí znaky na základě lingvistických a kulturních charakteristik jazyka. Ve Windows je více kolací než lokalizací (nebo jazyků) používaných s nimi, protože mnoho jazyků sdílí běžné abecedy a pravidla pro řazení a porovnávání znaků. Například 33 Windows národních prostředí, včetně všech portugalských a anglických národních prostředí Windows, používají znaková stránka Latin1 (1252) a řídí se společnou sadou pravidel pro řazení a porovnávání znaků.

    Poznámka:

    Při rozhodování o kolaci byste měli použít stejnou kolaci používanou podkladovou databází. Pokud si ale můžete zvolit, je verze _100 aktuálnější a nabízí jazykově přesnější kulturní konvence třídění.

  • Binární kolace (BIN nebo BIN2)

    Binární kolace se seřadí v bodech kódu Unicode, ne v lingvistických hodnotách. Například Latin1_General_BIN a Japanese_BIN přinést identické výsledky řazení při použití s daty Unicode. Zatímco lingvistické řazení může přinést výsledky jako aAbBcCdD, binární řazení by bylo ABCDabcd, protože bod kódu všech velkých písmen je souhrnně vyšší než body kódu malých písmen.

Možnosti řazení

Možnosti řazení se používají k upřesnění pravidel řazení a porovnávání na základě citlivosti na velká a malá písmena, přízvuk, kana a šířku. Například výchozí hodnota vlastnosti kolace konfigurace pro Analytické služby SQL Serveru je Latin1_General_AS_CS, která určuje, že se používá kolace Latin1_General s pořadím řazení rozlišujícím akcenty a rozlišováním velkých a malých písmen.

Všimněte si, že BIN a BIN2 jsou vzájemně vylučující jiné možnosti řazení. Pokud chcete použít BIN nebo BIN2, zrušte možnost řazení podle citlivosti na přízvuk. Podobně platí, že při výběru funkce BIN2 nejsou k dispozici možnosti rozlišování velkých a malých písmen, rozlišování diakritiky, nerozlišování diakritiky, citlivosti na kanu a citlivosti na šířku.

Následující tabulka popisuje možnosti řazení systému Windows a přidružené přípony pro službu Analytické služby SQL Serveru.

Pořadí řazení (přípona) Popis pořadí řazení
Binární (_BIN) nebo BIN2 (_BIN2) Sql Server obsahuje dva typy binárních kolací; starší kolace BIN a novější kolace BIN2. V kolaci BIN2 jsou všechny znaky seřazené podle jejich bodů kódu. V kolaci BIN se seřadí pouze první znak podle bodu kódu a zbývající znaky se seřadí podle hodnot bajtů. (Vzhledem k tomu, že platforma Intel je architekturou typu little-endian, znaky kódu Unicode jsou vždy uloženy v opačném pořadí bajtů.)

U binárních kolací u datových typů Unicode se národní prostředí nepovažuje za řazení dat. Například Latin_1_General_BIN a Japanese_BIN poskytují identické výsledky řazení, když se používají v datech Unicode.

V binárním pořadí řazení se rozlišují malá a velká písmena a rozlišují se diakritická znaménka. Binární je také nejrychlejší pořadí řazení.
Rozlišující velká a malá písmena (_CS) Rozlišuje velká a malá písmena. Pokud je vybráno, malá písmena se seřadí před velká písmena. Pokud zadáte _CI, můžete explicitně nastavit, aby se nerozlišovala malá a velká písmena. Nastavení případu specifické pro kolaci se nevztahuje na identifikátory objektů, jako je ID dimenze, datové krychle a další objekty. Podrobnosti najdete v tématu Tipy pro globalizaci a osvědčené postupy (Analysis Services).
Rozlišování podle přízvuku (_AS) Rozlišuje mezi znaky s diakritikou a bez diakritiky. Například "a" se nerovná ấ. Pokud tato možnost není vybraná, služba Analytické služby SQL Serveru považuje verze písmen s diakritikou a bez diakritiky za totožné pro účely řazení. Zadáním _AI můžete nastavit explicitně necitlivost na přízvuky.
Citlivá na Kana (_KS) Rozlišuje mezi dvěma typy japonských znaků kana: hiragana a katakana. Pokud tato možnost není vybraná, služba Analytické služby SQL Serveru považuje znaky hiragana a katakana za stejné pro účely řazení. Neexistuje žádná přípona pořadí řazení pro řazení bez rozlišení kana-insitive.
Citlivá na šířku (_WS) Rozlišuje mezi jednobajtovým znakem a stejným znakem, pokud je reprezentovaným jako dvojbajtový znak. Pokud tato možnost není vybraná, služba Analytické služby SQL Serveru považuje jednobatové a dvojité bajtové vyjádření stejného znaku za stejné pro účely řazení. Neexistuje žádná přípona pořadí řazení pro řazení bez rozlišení šířky.

Změna výchozího jazyka nebo kolace instance

Během instalace se výchozí jazyk a kolace nastaví, ale lze je změnit v rámci konfigurace po instalaci. Změna kolace na úrovni instance není jednoduchá a má tyto požadavky:

  • Restartování služby.

  • Aktualizujte nastavení třídění existujících objektů. Nastavení kolace se při vytváření objektu zdědí jednou. Následné změny řazení je nutné provést ručně. Tipy, jak rozšířit změny kolace v celém modelu, najdete v tématu Změna jazyka a kolace v rámci datového modelu pomocí XMLA .

  • Po aktualizaci souboru řazení zpracujte znovu oddíly a dimenze.

K změně výchozího jazyka nebo kolace na úrovni serveru můžete použít SQL Server Management Studio nebo AMO PowerShell. Případně můžete upravit <nastavení Language> and <CollationName> v souboru msmdsrv.ini a určit LCID jazyka.

  1. V Management Studio klikněte pravým tlačítkem myši na název serveru | Vlastnosti | Jazyk/Kolace.

  2. Zvolte možnosti řazení. Chcete-li vybrat binární nebo binární 2, nejprve zrušte zaškrtnutí políčka pro citlivost na akcenty.

    Všimněte si, že kolace a jazyk jsou plně nezávislá nastavení. Pokud některou z nich změníte, hodnoty druhého se nefiltrují, aby se zobrazily běžné kombinace.

  3. Aktualizujte datový model tak, aby používal novou kolaci (viz následující část).

  4. Restartujte službu.

Změna jazyka nebo kolace v datové krychli

  1. V Průzkumníku řešení poklikejte na krychli, abyste ji otevřeli v návrháři krychlí.

  2. V podokně Míry nebo Dimenze vyberte horní uzel. Objekt nejvyšší úrovně pro každé podokno je krychle.

  3. Ve vlastnostech nastavte jazyk a kolaci. Vámi zvolené hodnoty budou použity všemi objekty datové krychle, včetně dimenzí a měr datové krychle, a ovlivní operace zpracování a dotazu.

    Jediným způsobem, jak vložit alternativní jazyk a kompletační vlastnosti na objekty v datové krychli, je prostřednictvím překladů. Podrobnosti najdete v podpoře překladu ve službě Analysis Services .

Změna jazyka a kolace v rámci datového modelu pomocí XMLA

Nastavení jazyka a kolace se zdědí při vytvoření objektu. Následné změny těchto vlastností je nutné provést ručně. Jedním z přístupů k rychlé změně kolace u více objektů je použití příkazu ALTER ve skriptu XMLA.

Ve výchozím nastavení je kolace nastavena jednou na úrovni databáze. Dědičnost se předpokládá ve zbytku hierarchie objektů. Pokud explicitně nastavíte kolaci u objektů v rámci datové krychle, která je povolena u jednotlivých atributů dimenzí, zobrazí se v definici XMLA. V opačném případě existuje pouze vlastnost kolace nejvyšší úrovně.

Než použijete XMLA k úpravě existující databáze, ujistěte se, že nesnášíte nesrovnalosti mezi databází a zdrojovými soubory použitými k jeho sestavení. Můžete například chtít použít XMLA k rychlé změně jazyka nebo kolace pro testování konceptu, poté následovat provedením změn zdrojového souboru (viz Změna jazyka nebo kolace v datové krychli) a znovu nasadit řešení s využitím stávajících provozních postupů, které již jsou zavedené.

  1. V sadě Management Studio klikněte pravým tlačítkem myši na databázi | Skriptovací databáze jako | ALTER To | Nové okno editoru dotazů

  2. Vyhledejte a nahraďte existující jazyk nebo kolaci alternativní hodnotou.

  3. Stisknutím klávesy F5 spusťte skript.

  4. Znovu zpracuj datovou krychli.

Zvýšení výkonu pro anglické národní prostředí prostřednictvím EnableFast1033Locale

Pokud jako výchozí jazyk instance služby Analytické služby SQL Serveru použijete identifikátor jazyka v angličtině (USA) (0x0409 nebo 1033), můžete získat další výhody výkonu nastavením vlastnosti konfigurace EnableFast1033Locale , rozšířené konfigurační vlastnosti dostupné pouze pro tento identifikátor jazyka. Nastavení hodnoty této vlastnosti na true umožňuje službě Analytické služby SQL Serveru použít rychlejší algoritmus pro hashování a porovnání řetězců. Další informace o nastavení vlastností konfigurace naleznete v tématu Vlastnosti serveru ve službě Analysis Services.

Podpora GB18030 ve službě Analysis Services

GB18030 je samostatný standard používaný v Čínské lidové republice pro kódování čínských znaků. V GB18030 mohou být znaky delší než 1, 2 nebo 4 bajty. Ve službě Analysis Services neexistuje při zpracování dat z externích zdrojů žádný převod dat. Data se jednoduše ukládají jako Unicode. Při dotazování se převod GB18030 provádí prostřednictvím klientských knihoven služby Analysis Services (konkrétně poskytovatele MSOLAP.dll OLE DB) při vrácení textových dat ve výsledcích dotazu na základě nastavení klientského operačního systému. Databázový stroj také podporuje GB18030. Podrobnosti najdete v tématu Řazení a podpora kódování Unicode.

Viz také

Scénáře globalizace pro Analysis Services
Tipy pro globalizaci a osvědčené postupy (Analysis Services)
Podpora kolace a kódování Unicode