Kokkuvõte

Selle värskendusega tutvustatakse uut Management Command DBCC CLONEDATABASE (TRANSACT-SQL) sql server 2017 Windowsis, hoolduspakett 4 SQL Server 2012,Microsoft SQL Server 2014 Service pack 2 ja SQL Server 2016 SP1. Selle käsuga luuakse uus andmebaas, mis sisaldab määratud allika andmebaasist kõigi objektide ja statistika skeemi. 

Märkus. SQL Server 2014 keskkondades peate installima SQL server 2014 SP2 kumulatiivse värskenduse 3 , et saada võimalus kloonida FILESTREAM, FileTable ja common language RUNTIME (CLR) objektid ning NO_STATISTICS võimalustega kloonida, kasutades DBCC.

SQL serveri hoolduspaketid

 

Hoolduspaketid on kumulatiivsed. Iga uus hoolduspakett sisaldab kõiki varasemates pakettides olevaid parandusi koos uute parandustega. Meie soovitus on rakendada uusimat hoolduspaketti ja selle hoolduspaketi uusimat kumulatiivset värskendust. Enne uusima hoolduspaketi installimist pole vaja installida eelmist hoolduspaketti. Järgmise artikli tabel 1 abil leiate lisateavet uusima hoolduspaketi ja uusima kumulatiivse värskenduse kohta.

SQL serveri ja selle komponentide versiooni, väljaande ja värskendamise taseme määratlemine

Teave DBCC CLONEDATABASE kohta

Microsofti klienditoe teenused võivad paluda teil luua andmebaasist klooni, kasutades DBCC CLONEDATABASE , et uurida päringu optimeerijaga seotud jõudluse probleemi.Märkus. DBCC CLONEDATABASE loodud vastloodud andmebaasi ei toetata, kuna seda kasutatakse tootmise andmebaasina ning see on mõeldud eelkõige tõrkeotsinguks ja diagnostiliseks otstarbeks. Soovitame kloonitud andmebaasi eemaldada pärast andmebaasi loomist. Allika andmebaasi kloonimine toimub järgmiste toimingute abil.

  • Loob uue sihtkoha andmebaasi, mis kasutab allikana sama faili paigutust, kuid on vaikimisi faili suuruseks mudeli andmebaasina.

  • Loob allika andmebaasi sisemise hetktõmmise.

  • Kopeerib süsteemi metaandmed lähtekohast lähtekoha andmebaasist.

  • Kopeerib kogu skeemi kõigi objektide jaoks lähtekohast sihtkoha andmebaasi.

  • Kopeerib statistika kõigi registrite kohta lähtekoha andmebaasist.

Süntaks

DBCC CLONEDATABASE (source_database_name, target_database_name)[WITH [NO_STATISTICS][,NO_QUERYSTORE]] 

Argumendid

  • source_database_nameSee argument on selle andmebaasi nimi, mille skeemi ja statistikat tuleb kopeerida.

  • target_database_nameSee argument on selle andmebaasi nimi, kuhu allika andmebaasi skeem ja statistika kopeeritakse. See andmebaas luuakse DBCC CLONEDATABASE ja seda ei peaks juba olemas olema.

  • NO_STATISTICSSelle argumendiga määratakse, kas kloonis tuleb välistada tabeli/indeksi statistika. Kui see suvand pole määratud, kaasatakse tabeli/indeksi statistika automaatselt. See suvand on saadaval alates SQL Server 2014 SP2 CU3 ja SQL Server 2016 hoolduspaketiga Service Pack 1.

  • NO_QUERYSTORESee argument määrab, kas päringu pood tuleb kloonist välja jätta. Kui see suvand pole määratud, kopeeritakse päringu talletamise andmed kloonile, kui see on allika andmebaasis lubatud. See suvand on saadaval alates SQL Server 2016 hoolduspaketiga Service Pack 1.

Millal kasutada DBCC CLONEDATABASE?

Päringu jõudluse küsimuste uurimiseks tuleks kasutada DBCC CLONEDATABASE , et luua skeem ja statistika ainult tootmise andmebaasist. Olge teadlik järgmistest piirangutest ja toetatud objektidest.

  • PiirangudJärgmised toimingud teostab DBCC CLONEDATABASE. Käsk nurjub, kui mõni selle kasutajatest nurjub.

    • Allika andmebaas peab olema kasutajate andmebaas. Süsteemi andmebaaside (Master, Model, msdb, tempdb, levituse andmebaas jne) kloonimine pole lubatud.

    • Allika andmebaas peab olema võrgus või loetav.

    • Andmebaas, mis kasutab klooni andmebaasiga sama nime, ei tohi olla juba olemas.

    • Käsk pole kasutaja tehingus.

    Kui kõik õnnestusid õnnestub, käivitab DBCC CLONEDATABASE järgmised toimingud.

    • Esmase andmefaili ja logifaili loomine

    • Sekundaarsete dataspaces lisamine

    • Sekundaarsete failide lisamine

    Märkus. Kõik TARGETi andmebaasis olevad failid pärivad mudeli andmebaasist suuruse ja kasvu sätted. Failinime konventsioon: sihtkoha andmebaasi failinimed järgivad source_file_name _underscore_random arvu konventsiooni. Kui loodud failinimi on sihtkausta juba olemas, nurjub DBCC CLONEDATABASE .

  • Sisemine andmebaasi hetktõmmiseDBCC CLONEDATABASE kasutab andmebaasi andmebaasi hetktõmmist, mis on vajalik koopia tegemiseks. See takistab blokeerimine ja probleemide lahendamine, kui need käsud on täidetud. Kui hetktõmmist ei saa luua, nurjub ka DBCC CLONEDATABASE . Andmebaasi taseme lukud toimuvad kopeerimise käigus järgnevatel etappidel.

    • Allika andmebaasi valideerimine

    • Allika andmebaasile S-luku hankimine

    • Allika andmebaasi hetktõmmise loomine

    • Loo klooni andmebaas (see on tühi andmebaas, mis pärib mudelist)

    • Hankige Kloonide andmebaasi jaoks X-lukk

    • Metaandmete kopeerimine klooni andmebaasi

    • Kõigi DB lukkude vabastamine

    Kui käsk on töö lõpetanud, on sisemine hetktõmmis langenud. Kloonitud andmebaasis on usaldusväärsed ja DB_CHAINING suvandid välja lülitatud.

Toetatud objektid

Sihtkoha andmebaasis kloonitakse ainult järgmised objektide skeemid. Krüptitud objektid kloonitakse, kuid neid ei toetata SQL serveri selles versioonis. Kloonitud objektid ei toeta järgmisi objekte, mida ei ole loetletud järgmises jaotises.

  • RAKENDUSE ROLL

  • RÜHMA KÄTTESAADAVUS

  • COLUMNSTORE INDEKS

  • CDB

  • CDC

  • Muutuste jälitus (SQL Server 2016 SP2 CU10, SQL Server 2017 CU17, SQL Server 2019 CU1 ja uuemad versioonid)

  • CLR (alustades SQL Server 2014 SP2 CU3, SQL Server 2016 Service Pack 1 ja uuemad versioonid)

  • ANDMEBAASI ATRIBUUDID

  • Vaikimisi

  • FAILID JA FILEGROUPS

  • Täistekst (alustades SQL Server 2016 SP1 CU2)

  • FUNKTSIOONI

  • INDEKS

  • LOGIN

  • FUNKTSIOON PARTITION

  • SEKTSIOONI SKEEM

  • KORRAS Märkus T-SQL-i protseduure toetavad kõik väljalasked, alustades SQL Server 2014 SP2. CLR-i protseduure toetatakse SQL Server 2014 SP2 CU3 käivitamisest. Algupäraselt koostatud toiminguid toetatakse SQL Server 2016 SP1 käivitamisest.

  • PÄRINGUte TALLETAmine (ainult SQL Server 2016 Service Pack 1 ja uuemates versioonides) Märkus Päringu pood kopeeritakse ainult siis, kui see on allika andmebaasis lubatud. Kui soovite kopeerida uusima käitusaja statistika päringu salve osana, käivitage sp_query_store_flush_db enne DBCC CLONEDATABASE käivitamist käitusaja statistika tühjendamiseks.

  • ROLLI

  • REEGEL

  • SKEEMI

  • JADA

  • RUUMILINE INDEKS

  • STATISTIKA

  • SÜNONÜÜM

  • TABELI

  • MÄLU optimeeritud tabelid (ainult SQL Server 2016 SP1 ja uuemates versioonides).

  • FILESTREAM ja FILETABLE objektid (alustades SQL Server 2014 SP2 CU3, SQL Server 2016 SP1 ja uuemad versioonid).

  • VALLANDADA

  • TÜÜP

  • TÄIENDATUD DB

  • KASUTAJA

  • VIEW

  • XML-REGISTER

  • XML-SKEEMI KOGUMINE

 

Õigused

Teil peab olema sysadmin fikseeritud serveri rolli liikmelisus.

Piirangud ja kaalutlused

DBCC CLONEDATABASE ei toeta klooni loomist, kui seal on mis tahes kasutaja objektid (tabelid, indeksid, skeemid, rollid jne), mis on loodud mudeli andmebaasis. Kui kasutaja objektid on olemas mudel andmebaasi, andmebaasi kloon nurjub järgmine tõrketeade:

MSG 2601, tase 14, olek 1, rida 1ei saa lisada dubleeritud võtme rida objekti <süsteemi tabeli> kordumatu indeks "index Name". Kahekordse võtme väärtus on <võtme väärtus>   

Kloonitud andmebaaside andmete turbega seotud teabe saamiseks lugege järgmist ajaveebi:kloonitud andmebaaside andmete turvalisuse mõistmine.

Kui teil on veeru poe indeksid, lugege järgmisi ajaveebi:kaalutlused, kui häälestate päringuid columnstore indeksid Kloonide andmebaasidevärskendamiseks columnstore indeks statistika enne, kui käivitate käsu DBCC CLONEDATABASE .

Tõrkelogi sõnumid

Kloonimise käigus logitakse tõrketeates järgmised sõnumid.

<Timestamp> spid53 andmebaasi kloonimine "sourcedb" jaoks on alanud eesmärgiga "sourcedb_clone". <timestamp> spid53 andmebaasi sourcedb_clone "". <timestamp> spid53 säte andmebaasi "sourcedb_clone" . <timestamp> spid53 säte andmebaasi DB_CHAINING andmebaasi "sourcedb_clone". <timestamp> spid53 alustades andmebaasi "sourcedb_clone". <timestamp> spid53 andmebaas "sourcedb_clone" on kloonitud andmebaas. Kloonitud andmebaasi tuleks kasutada ainult diagnostiliseks otstarbeks ning seda ei toetata tootmise keskkonnas kasutamiseks. <Timestamp> spid53 andmebaasi kloonimine on "sourcedb" lõpetanud. Kloonitud andmebaas on "sourcedb_clone".

Andmebaasi atribuut

Lisatakse uus andmebaasi atribuut IsClone . DATABASEPROPERTYEX ("dbname", "IsClone") naaseb 1 , kui andmebaas on loodud DBCC CLONEDATABASEabil.

Näited

  1. AdventureWorks andmebaasi klooni loomine, mis sisaldab skeemi, statistikat ja päringute salve (SQL Server 2016 hoolduspakett SP1 ja uuemad versioonid)

    Transact-SQL -- Generate the clone of AdventureWorks database.    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone);    GO 
  2. AdventureWorks andmebaasist ainult skeemi loomine SQL Server 2014 (SQL Server 2014 SP2 CU3 ja uuemad versioonid)

    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone) WITH NO_STATISTICS
  3. AdventureWorks andmebaasi klooni loomine statistika ja päringute salveta (SQL Server 2016 SP1 ja uuemad versioonid)

    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone) WITH NO_STATISTICS,NO_QUERYSTORE

Viited

Siit leiate teavet selle kohta, mida Microsoft kasutab tarkvaravärskenduste kirjeldamiseks.

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Kui rahul te tõlkekvaliteediga olete?
Mis mõjutas teie kasutuskogemust?

Täname tagasiside eest!

×