Sqlshack

tässä artikkelissa tutkitaan Azure SQL-tietokannan Vertailukokoonpano ja miten muuttaa sitä tuotaessa tietokannan BACPAC tiedosto.

Johdanto

vertailulla tarkoitetaan määritystä, joka määrittää tietokantamoottorin käyttäytymisen merkkiaineistolle palvelin -, tietokanta-tai saraketasolla. SQL Server – palvelimella on laaja valikoima kollaatioita kielierojen käsittelyyn eri puolilla maailmaa. Se tarjoaa lajittelusäännöt, tapauksen herkkyys Unicode tietotyypit (nchar, nvarchar, tai ntext) ja ei-Unicode (char, varchar, nvarchar).

SQL Server tukee seuraavia kollaatioita

  • Windows
  • Binary: binäärikoostumus päättyy aina joko _BIN tai _BIN2
  • SQL Server: nämä vertailunimet alkavat aina sql_

perinteisellä (paikan päällä) SQL Server-palvelimella käyttöjärjestelmän lokaali määrittää oletuskoosteen. Voit kuitenkin muokata palvelintason vertailua SQL Server-asennuksen aikana tai muokkaamalla käyttöjärjestelmää. Oletusarvo SQL Server-vertailussa on sql_latin1_general_cp1_ci_as. Voit ymmärtää nämä collations yksityiskohtaisesti viittaamalla Collation ja Unicode tuki.

vaatimukset

tässä artikkelissa oletetaan, että sinulla on perustiedot Azure SQL-tietokannoista. Jos olet aloittelija,voit viitata olemassa oleviin artikkeleihin SQL Azure sqlshack. Voit käyttää Microsoft Azure Ilmaista krediittiä rekisteröitymällä osoitteessa URL https://azure.microsoft.com/en-us/free/

Azure SQL Database Collation

Azure SQL DB on hallinnoitu PaaS tarjoaa SQL Server tietyin rajoituksin ja rajoituksin tiettyjen tehtävien suorittamiseen. Kuten paikan päällä SQL Server, Azure DB tukee myös erilaisia kollaatioita. Saada luettelo tuetuista collations Azure SQL DB, Voimme kysyä sys.funktio fn_helpcollations (). Se palauttaa listan 5 508 collaatiosta. Alla oleva kuva antaa sinulle vilauksen vertailusta ja kuvauksista.

 tuettu Vertailulista

Tuetut Vertailulistat

Azure SQL DB: lle voit valita tietokantakokoelman SQL-tietokannan luomisen lisäasetukset-välilehdestä. Kuten alla on esitetty, oletuskoostumus näkyy muodossa SQL_Latin1_General_CP1_CI_AS.

voimme murtaa tämän kokoelman sen ymmärtämiseksi.

  • SQL-se viittaa siihen, että se on SQL Server-kollaasi
  • Latin1_General – tämä osa määrittelee merkkien lajittelusäännön
  • CI-se viittaa kirjainherkkyyteen
  • kuten-se määrittelee aksenttiherkkyyden

Määritä vertailua luotaessa tietokantaa

Määritä vertailua luodessasi tietokantaa

voit klikata Etsi vertailua ja etsiä tiettyä vertailua, jonka haluat määrittää Azure DB: lle.

Azure-tietokannan voi ottaa käyttöön olemassa olevalla Azure-loogisella palvelimella. Jos siis luot uuden Azure-tietokannan SSMS: n avulla, voit määrittää tietyn kokoelman asetukset-sivulla.

Tarkista kollaasi SSMS: ssä

jos luot Azure SQL DB: n käyttäen T-SQL: ää, voit käyttää COLLATE-avainsanaa ja määrittää tarvittavan DB: n vertailun.

1
2
3

Luo tietokanta MyDemoSQLDB
kerää Latin1_General_100_CS_AS_SC;
mene

sinun täytyy luoda tietokanta oikeassa vertailussa. SQL kyselyt eivät välttämättä toimi oikein, koska vertailua epäsuhta. Kuitenkin, jos sinun täytyy muuttaa luomisen jälkeen Azure SQL-tietokanta, se ei ole yksinkertaista. Azure SQL DB ei tue muuttuvaa vertailua ALTER DATABASE COLLATEN avulla. Saat seuraavan virheilmoituksen, jos yrität muuttaa sitä.

1
2
3
4

Use master
go
ALTER DATABASE Azuredemodatabase
COLLATE SQL_Latin1_General_CP1250_CI_AS

muokkaa vertailua COLLATE-funktion avulla

  • Huomautus: Älä muokkaa tai aseta tiettyä vertailua ennen kuin sinulla on erityisiä vaatimuksia. Älä koskaan tee sitä suoraan tuotantotietokantaan. Testaa se perusteellisesti pienemmässä DB-ympäristössä ja suunnittele sitten tuotannon vertailuun

Oletetaan, että käytät Azure SQL-tietokantaa BacPac-tiedostosta. Haluat erilaisen kokoelman kohdetietokantaan.

  • Huom: oletan, että sinulla on aktiivinen Azure SQL DB. Jos ei, voit käyttää ilmaista tier-tiliä testitietokannan käyttöönottoon
  • tämän artikkelin demoon, teemme seuraavat tehtävät:

    • vie Azure SQL-tietokanta BACPAC-muodossa
    • Asenna Microsoft SQL Server Data-Tier Application Framework (18.1)
    • Muokkaa mallia.xml – tiedostokokoonpano
    • käytä Sqlpackagea.exe ottaa käyttöön Azure tietokannan päivitetty kokoelma
    • Tarkista tietokannan kokoelma

    Vaihe 1: Vie Azure SQL tietokanta BACPAC-muodossa

    tässä vaiheessa viemme Azure SQL DB BACPAC-muodossa. Voimme tarkistaa, että olemassa oleva vertailu on SQL_Latin1_General_CP1_CI_AS.

     Tarkista olemassa oleva kollaasi

    vientiin, napsauta hiiren kakkospainikkeella Azure-tietokantaa ja valitse Vie tiedot-tason sovellus…

    vie Azure SQL-tietokanta BACPAC-muodossa

    vie Azure SQL-tietokanta BACPAC-muodossa

    määritä kansio Tallenna paikalliselle levylle.

     Tallenna paikalliselle levylle

    Tarkista, vie ja seuraa edistymistä TIETOTASOSOVELLUKSESSA BACPAC-muodossa.

     katso tilanne

    katso tilanne

    Vaihe 2: Lataa Microsoft SQL Server Data-Tier Application Framework (18.1)

    sinun täytyy ladata ja asentaa SSDT: n uusin versio. Siirry osoitteeseen URL https://www.microsoft.com/en-us/download/details.aspx?id=57784 ja napsauta Lataa.

     Lataa Microsoft SQL Server Data-tason sovelluskehys

    Lataa Microsoft SQL Server Data-Tier Application Framework

    valitse tarvittava MSI-tiedostoversio ja lataa se. Se on kevyt paketti tiedosto.

     valitse MSI

    valitse MSI

    seuraa ohjattua asennusohjetta Microsoft SQL Server Data-tier-sovelluskehyksen perustamiseksi.

     asennuksen eteneminen

    asennuksen eteneminen

    asennuksen edistymisviesti

    asennuksen edistymisviesti

    asennus valmis

    asennus valmis

    Vaihe 3: Nimeä uudelleen. BACPAC-tiedosto .ZIP

    tässä vaiheessa nimeämme viedyn BACPAC-pakettitiedoston ZIP-muotoon. Voit tehdä niin, hiiren kakkospainikkeella tuodun BACPAC ja muuttaa laajennus ZIP. Tiedostotyyppi pakataan (zipped) laajennuksen muuttamisen jälkeen, kuten alla olevassa kuvassa.

     Nimeä uudelleen .BACPAC-tiedosto .ZIP

    nimeä nimi uudelleen .BACPAC-tiedosto .ZIP

    Napsauta pakattua tiedostoa hiiren kakkospainikkeella ja pura se. Vuonna uutettu kansio, löydät mallin.XML, kopioi malli.xml toiseen hakemistoon, kuten C:\Temp kansio.

     malli, xml-tiedosto

    malli, xml-tiedosto

    avaa malli.XML from C:\Temp\Model.xml ja muuttaa DB vertailua. Seuraavassa kuvassa on Vanhat ja uudet collaatiot Azure SQL-tietokannalle. Tässä käytämme SQL-vertailua, jossa on asian herkkyys.

     muokkaa vertailua mallissa.xml

    muokkaa vertailua mallissa.xml

    Vaihe 4: Ota käyttöön Azure-tietokanta sqlpackagella.exe

    tässä, siirry hakemistoon C:\Program tiedostot \ Microsoft SQL Server \ 150\DAC\bin komentokehotteessa. Käytämme sqlpackagea.exe tuoda BACPAC kanssa / ModelFilePath parametri. Se ohittaa BACPAC – mallin tiedostokokoonpanon tämän parametrin tietyn tiedoston avulla.

    vaaditut parametrit:

    • /tsn: Määritä Azure SQL Server FQDN, johon haluamme tuoda tämän BACPAC-tiedoston. Minun tapauksessani se on azuredemosqldemo.database.windows.net
    • / tdn: se on uuden Azure SQL-tietokannan nimi. Et voi tuoda BACPACIA olemassa olevaan tietokantaan
    • / tu: Määritä järjestelmänvalvojan käyttäjätunnus yhteyden muodostamiseksi Azure SQL Serveriin ja ota tietokanta käyttöön
    • / tp: Anna järjestelmänvalvojan salasana
    • /sf: Määritä BACPAC-tiedoston sijainti
    • / ModelFilePath: syötä päivitetty malli.XML – tiedostopolku

    aiemmin muutimme BACPAC-tiedoston laajennuksen ZIP: ksi. Meidän täytyy muuttaa se takaisin BACPACIKSI sqlpackagea varten.exe command.

    jos haluat muuttaa bacpacin vertailua, suorita seuraava komento komentorivillä.

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

    saat varoitusviestin:

    ” Ohitusmalli.XML käyttäen tiedostoa ”C:\Temp\model.xml”. Tämän asetuksen käyttö voi johtaa käyttöönoton epäonnistumiseen ja / tai tahattomaan tietojen häviämiseen. Tätä asetusta aiotaan käyttää vain silloin, kun ongelmia julkaise, tuo tai skriptien generoinnissa”

    se käynnistää tietojen tuonnin, prosessitaulukot ja ottaa käyttöön tietokannan siitä. Tietokannan käyttöönottoaika riippuu taulukoiden lukumäärästä, tietojen koosta, indekseistä.

    Ota käyttöön tietokanta sqlpackagella.exe

    lopussa saat viestin onnistuneesti tuodun tietokannan.

    onnistunut tuontitietokanta

    Vaihe 5: Verification

    now, connect to Azure Database using SSMS and verify the database collation using the following script.

    1
    valitse Muunna (varchar (256), DATABASEPROPERTYEX (”azuredemodatabasenew”, ”collation”));

    kuten alla on esitetty, äskettäin käyttöön otettu tietokanta käyttää vertailua SQL_Latin1_General_CP1_CS_AS.

     Todenna kollaasi käytössä olevassa Azure SQL-tietokannassa

    nyt, Kirjaudu Azure-portaaliin ja tarkastele tietokannan ominaisuuksia. Tämä tietokanta on yleiskäyttöinen Gen5, 2vcores hinnoittelu taso. Emme määrittäneet mitään hinnoittelutasoa tietokannan käyttöönoton yhteydessä. Siksi Azure SQL-tietokanta ottaa oletushinnoittelutason.

     View pricing tiers

    Step 6: Deploy Azure database in a specific pricing tier

    Oletetaan, että haluamme ottaa käyttöön tietokannan, jossa on muokattu vertailutaso ja perushinnoittelutaso. Tämä demo, muutamme DB vertailua Latin1_General_BIN. Avaa siis malli.xml ja muuttaa vertailua kuten korostettu ennen.

     Vaihda DB-vertailua Latin1_general_biniksi.

    tällä kertaa määritämme uuden parametrin(/p) tietokantapainoksen asettamista varten. Se ohjeistaa Azurea ottamaan tietokannan käyttöön tietyn hinnoittelutason alla.

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

     Deploy package

    kun DB on otettu käyttöön, tarkista tietokantakoostumus. Kuten alla, se käyttää Latin1_General_BIN vertailua.

     Tarkista DB-vertailu

    Tarkista DB-vertailut

    voit muodostaa yhteyden Azure-portaaliin ja tarkistaa Hinnoittelutason perusasiaksi.

     Tarkista hinnoittelutaso

    • Huomautus: Sinun ei pitäisi muuttaa DB vertailua ilman erityisiä vaatimuksia. Se voi aiheuttaa ongelmia, jos muutat sitä mielivaltaisesti

    johtopäätös

    tämä artikkeli tutki oletus Azure SQL-tietokannan vertailua ja prosessia muuttaa sitä tuodessasi DB BACPAC-tiedostosta. Voit määrittää haluamasi kokoelman ja ottaa käyttöön tietokannan. Älä kuitenkaan koskaan muuta vertailua, ellei sinulla ole erityistä vaatimusta. Voit kokeilla vaiheita omassa Test Azure SQL-tietokannassasi.

    • tekijä
    • viimeaikaiset viestit
    Rajendra Gupta
    Rajendra on MCSA-sertifioitu ja Microsoft-sertifioitu kouluttaja Intian Gurgaonissa, jolla on 13 vuoden kokemus.Rajendra työskentelee useille suurille yrityksille, jotka keskittyvät suorituskyvyn optimointiin, seurantaan, korkeaan saatavuuteen sekä katastrofien palautumisstrategioihin ja toteutukseen. Hän on kirjoittanut satoja arvovaltaisia artikkeleita SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git, ja niihin liittyviä teknologioita, joita on katsottu yli 10m lukijat tähän mennessä.
    hän on luonut yhden suurimmista ilmaisista verkkoartikkelikokoelmista yhdestä aiheesta, 50-osaisen SQL Server Always on Availability Groups-sarjan. Hänen panoksensa SQL Server-yhteisössä, hän on tunnustettu eri palkintoja, kuten arvostetun ”paras kirjailija vuoden” jatkuvasti 2020 ja 2021 sqlshack.
    Raj on aina kiinnostunut uusista haasteista, joten jos tarvitset konsultointiapua mistä tahansa hänen kirjoituksissaan käsitellystä aiheesta, hänet voi tavoittaa [email protected]
    Katso kaikki viestit käyttäjältä Rajendra Gupta

    Rajendra Gupta
    uusimmat viestit Rajendra Gupta (Näytä kaikki)
    • käytä ARM-malleja Azure container-instanssien käyttöönottoon SQL Server Linux-kuvien kanssa-21. joulukuuta 2021
    • Etätyöpöytäkäyttö AWS RDS SQL Serverille Amazon RDS: n kanssa Custom-14. joulukuuta 2021
    • säilytä SQL Server-tiedostot pysyvässä tallennustilassa Azure Container Instansseille-joulukuu 10, 2021

Vastaa

Sähköpostiosoitettasi ei julkaista.