SQLShack

tento článek zkoumá konfiguraci řazení Azure SQL databáze a jak ji změnit při importu databáze ze souboru BACPAC.

Úvod

řazení se týká konfigurace, která určuje chování databázového stroje pro znakovou datovou sadu na úrovni serveru, databáze nebo sloupce. SQL Server má širokou škálu koláží pro řešení jazykových rozdílů v různých částech světa. Poskytuje pravidla třídění, citlivost písmen pro datové typy Unicode (nchar, nvarchar nebo ntext) a non-Unicode (char, varchar, nvarchar).

SQL Server podporuje následující řazení.

  • Windows
  • binární: binární řazení vždy končí buď _BIN nebo _BIN2
  • SQL Server: tyto názvy řazení vždy začínají SQL_

pro tradiční (místní) SQL Server určuje národní prostředí operačního systému výchozí řazení. Při instalaci serveru SQL Server nebo při úpravě národního prostředí operačního systému však můžete upravit řazení na úrovni serveru. Výchozí řazení SQL Serveru je SQL_Latin1_General_CP1_CI_AS. Tyto kolace můžete podrobně porozumět odkazem na kolaci a podporu Unicode.

požadavky

tento článek předpokládá, že máte základní znalosti databází Azure SQL. Pokud jste začátečník, můžete odkazovat na existující články SQL Azure na SQLShack. Můžete využít Microsoft Azure kredit zdarma tím, že se zaregistrujete na adrese URL https://azure.microsoft.com/en-us/free/

Azure SQL Database Collation

Azure SQL DB je spravovaná nabídka PaaS pro SQL Server s určitými omezeními a omezeními pro provádění konkrétních úkolů. Stejně jako on-premises SQL Server, Azure DB také podporuje různé řazení. Chcete-li získat seznam podporovaných překladů pro Azure SQL DB, můžeme dotazovat sys.funkce fn_helpcollations (). Vrací seznam 5 508 kolací. Níže uvedený obrázek vám poskytne pohled na řazení a popisy.

 Podporované řazení

podporovaný seznam řazení

pro Azure SQL DB můžete zvolit řazení databáze na kartě Další nastavení vytváření databáze SQL. Jak je uvedeno níže, výchozí řazení se zobrazí jako SQL_Latin1_General_CP1_CI_AS.

můžeme rozdělit tuto kombinaci pro pochopení.

  • SQL-označuje, že se jedná o SQL Server řazení
  • Latin1_General-tato část definuje pravidlo řazení znaků
  • CI-odkazuje na malá a velká písmena
  • jako-definuje citlivost akcentu

Určete řazení při vytváření databáze

Určete řazení při vytváření databáze

můžete kliknout na najít řazení a vyhledat konkrétní řazení, které chcete nakonfigurovat pro Azure DB.

databázi Azure můžete nasadit na existující logický server Azure. Pokud tedy vytvoříte novou databázi Azure pomocí SSMS, můžete definovat konkrétní řazení pomocí stránky Možnosti.

zkontrolujte řazení v SSMS

pokud vytvoříte Azure SQL DB pomocí T-SQL, můžete použít klíčové slovo COLLATE a zadat požadované řazení DB.

1
2
3

vytvořit databázi MyDemoSQLDB
COLLATE Latin1_General_100_CS_AS_SC;
jít

musíte vytvořit databázi ve správném řazení. Vaše dotazy SQL nemusí fungovat správně kvůli nesouladu řazení. Pokud však potřebujete upravit po vytvoření databáze Azure SQL, není to jednoduché. Azure SQL DB nepodporuje změnu řazení pomocí řazení ALTER DATABASE. Pokud se pokusíte změnit, zobrazí se následující chybová zpráva.

1
2
3
4

Use master
go
ALTER DATABASE Azuredemodatabase
COLLATE SQL_Latin1_General_CP1250_CI_AS

upravit řazení pomocí funkce řazení

  • Poznámka: neupravujte ani nenastavujte konkrétní řazení, dokud nebudete mít specifické požadavky. Nikdy to nedělejte přímo na výrobní databázi. Vyzkoušejte to důkladně na nižším prostředí DB a poté plánujte pokračovat v sestavování výroby

Předpokládejme, že nasazujete databázi Azure SQL z místního souboru BACPAC. Chcete jiné řazení v cílové databázi.

  • Poznámka: předpokládám, že máte aktivní Azure SQL DB. Pokud tomu tak není, můžete použít bezplatný tier účet pro nasazení testovací databáze
  • pro tento článek demo, budeme dělat následující úkoly:

    • Export Azure SQL databáze ve formátu BACPAC
    • instalace Microsoft SQL Server Data-Tier Application Framework (18.1)
    • upravit model.konfigurace souboru xml
    • použijte sqlpackage.exe pro nasazení databáze Azure s aktualizovanou kolací
    • ověřte přidružení databáze

    Krok 1: exportujte databázi Azure SQL ve formátu BACPAC

    v tomto kroku exportujeme Azure SQL DB ve formátu BACPAC. Můžeme ověřit, že existující řazení je SQL_Latin1_General_CP1_CI_AS.

    zkontrolujte existující řazení

    pro export klepněte pravým tlačítkem myši na databázi Azure a zvolte Export dat-tier aplikace…

    Export Azure SQL databáze ve formátu BACPAC

    exportujte databázi Azure SQL ve formátu BACPAC

    určete adresář v uložení na místní disk.

     uložit na lokální disk

    ověřte, exportujte a sledujte průběh aplikace datové úrovně ve formátu BACPAC.

    zobrazit stav

    zobrazit stav

    Krok 2: Stáhněte si Microsoft SQL Server Data-Tier Application Framework (18.1)

    musíte si stáhnout a nainstalovat nejnovější verzi SSDT. Přejděte na URL https://www.microsoft.com/en-us/download/details.aspx?id=57784 a klikněte na Stáhnout.

     stáhnout Microsoft SQL Server Data-Tier Application Framework

    Stáhněte si Microsoft SQL Server Data - Tier Application Framework

    vyberte požadovanou verzi souboru MSI a stáhněte si ji. Jedná se o lehký soubor balíčku.

     zvolte MSI

    zvolte MSI

    postupujte podle Průvodce instalací pro nastavení aplikačního rámce Microsoft SQL Server Data-tier.

     průběh instalace

    průběh instalace

    zpráva o průběhu instalace

    zpráva o průběhu instalace

    instalace dokončena

    instalace dokončena

    Krok 3: přejmenovat. Soubor BACPAC do.ZIP

    v tomto kroku přejmenujeme exportovaný soubor balíčku BACPAC do formátu ZIP. Chcete-li tak učinit, klepněte pravým tlačítkem myši na importovaný BACPAC a změňte příponu na ZIP. Typ souboru je komprimován (zip) po změně přípony, jak je znázorněno na obrázku níže.

     přejmenujte .Soubor BACPAC do.ZIP

    přejmenovat .Soubor BACPAC do.ZIP

    klikněte pravým tlačítkem myši na komprimovaný soubor a rozbalte jej. V extrahované složce najdete model.xml, zkopírujte model.xml do jiného adresáře, například C:\Temp složka.

    Model, xml soubor

    Model, xml soubor

    otevřete model.xml z C:\Temp\Model.xml a upravit řazení DB. Následující obrázek ukazuje staré a nové řazení pro Azure SQL databáze. Zde používáme SQL řazení s citlivostí písmen.

    upravit řazení v modelu.xml

    upravit řazení v modelu.xml

    Krok 4: nasazení Azure databáze pomocí sqlpackage.exe

    zde přejděte do adresáře C:\Program soubory\Microsoft SQL Server \ 150\DAC \ bin v příkazovém řádku. Používáme sqlpackage.exe pro import BACPAC s parametrem / ModelFilePath. Přepíše konfiguraci souboru modelu BACPAC s konkrétním souborem v tomto parametru.

    požadované parametry:

    • /tsn: zadejte Azure SQL Server FQDN, do kterého chceme importovat tento soubor BACPAC. V mém případě to je azuredemosqldemo.database.windows.net
    • / tdn: Jedná se o nový název Azure SQL databáze. BACPAC nelze importovat do existující databáze
    • / tu: zadejte uživatelské jméno správce pro připojení k Azure SQL Server a nasazení databáze
    • / tp: Zadejte heslo pro administrátora
    • / sf: zadejte umístění souboru BACPAC
    • / ModelFilePath: zadejte aktualizovaný model. Cesta k souboru XML

    dříve jsme změnili příponu souboru BACPAC na ZIP. Musíme ji změnit zpět na BACPAC pro spuštění sqlpackage.příkaz exe.

    Chcete-li změnit řazení v BACPACU, spusťte následující příkaz v příkazovém řádku.

    sqlpackage.exe / akce: Import /tsn:azuredemosqldemo.database.windows.net /tdn:azuredemodatabasenew /tu:sqladmin /tp:******* / sf:C:\Temp\azuredemodatabase.BACPAC / ModelFilePath: C:\Temp \ model.xml

    zobrazí se varovná zpráva:

    “ převažující model.xml using file ‚C:\Temp\model.xml“. Použití tohoto nastavení může mít za následek selhání nasazení a / nebo neúmyslnou ztrátu dat. Toto nastavení má v úmyslu použít pouze při řešení problémů s publikací, importem nebo generováním skriptů“

    spustí import dat, procesní tabulky a nasadí na ně databázi. Doba nasazení databáze závisí na počtu tabulek, velikosti dat, indexech.

    nasadit databázi pomocí sqlpackage.exe

    nakonec dostanete zprávu-úspěšně importovanou databázi.

     úspěšná importovaná databáze

    Krok 5: ověření

    nyní se připojte k Azure Database pomocí SSMS a ověřte řazení databáze pomocí následujícího skriptu.

    1
    vyberte Převést (varchar (256), DATABASEPROPERTYEX (‚azuredemodatabasenew‘, ‚řazení‘));

    jak je uvedeno níže, nově nasazená databáze používá řazení SQL_Latin1_General_CP1_CS_AS.

     ověřte řazení v nasazené databázi Azure SQL

    nyní se přihlaste na portál Azure a zobrazte vlastnosti Databáze. Tato databáze má univerzální úroveň cen Gen5, 2vcores. Při nasazení databáze jsme nespecifikovali žádnou cenovou úroveň. Databáze Azure SQL má proto výchozí cenovou úroveň.

     Zobrazit cenové úrovně

    Krok 6: Nasadit Azure database v určité cenové vrstvě

    Předpokládejme, že chceme nasadit databázi s upravenou kolací a základní cenovou úrovní. Pro toto demo změníme řazení DB na Latin1_General_BIN. Proto otevřete model.xml a změňte řazení, jak bylo zvýrazněno dříve.

    změňte řazení DB na Latin1_General_BIN.

    tentokrát zadáme nový parametr (/p) pro nastavení databázové edice. Dává Azure pokyn k nasazení databáze v rámci konkrétní cenové úrovně.

    sqlpackage.exe / Action: Import / tsn: azuredemosqldemo.databáze.windows.net /tdn:azuredemodatabasenew /tu:sqladmin /tp:******* /p:DatabaseEdition=Basic / sf:C:\Temp\azuredemodatabase.BACPAC / ModelFilePath: C:\Temp \ model.xml

    nasadit balíček

    po nasazení DB ověřte řazení databáze. Jak je uvedeno níže, používá latin1_general_bin řazení.

     ověřte řazení DB

    ověřte řazení DB

    můžete se připojit k portálu Azure a ověřit cenovou úroveň jako základní.

    ověřte cenovou úroveň

    • Poznámka: Řazení DB byste neměli upravovat bez zvláštních požadavků. Mohlo by to způsobit potíže, pokud jej libovolně změníte

    závěr

    tento článek prozkoumal výchozí řazení Azure SQL databáze a proces její změny při importu DB ze souboru BACPAC. Můžete zadat požadované řazení a nasadit databázi. Nikdy však neměňte řazení, pokud nemáte konkrétní požadavek. Kroky můžete vyzkoušet ve své vlastní testovací databázi Azure SQL.

    • Autor
    • poslední příspěvky
    Rajendra Gupta
    jako MCSA certified a Microsoft Certified Trainer v Gurgaonu, Indie, s 13 let zkušeností, Rajendra pracuje pro řadu velkých společností zaměřených na optimalizaci výkonu, monitorování, vysoká dostupnost, a strategie a implementace obnovy po havárii. Je autorem stovek autoritativních článků o SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git a souvisejících technologiích, které dosud vidělo více než 10m čtenářů.
    je tvůrcem jedné z největších bezplatných online sbírek článků na jedno téma, se svou 50dílnou sérií na serveru SQL Server vždy ve skupinách dostupnosti. Na základě svého příspěvku do komunity SQL Server byl v letech 2020 a 2021 na SQLShack oceněn různými oceněními včetně prestižního „nejlepšího autora roku“.
    Raj se vždy zajímá o nové výzvy, takže pokud potřebujete poradenskou pomoc na jakékoli téma obsažené v jeho spisech,může být dosažen v [email protected]
    Zobrazit všechny příspěvky od Rajendra Gupta

    Rajendra Gupta
    nejnovější příspěvky od Rajendra Gupta (Zobrazit vše)
    • použijte šablony ARM k nasazení instancí Azure container s obrázky SQL Server Linux-21. prosince 2021
    • vzdálený přístup na plochu pro AWS RDS SQL Server s Amazon RDS Custom-14. prosince 2021
    • uložte soubory SQL Serveru do trvalého úložiště pro instance Azure Container-prosinec 10, 2021

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.