Miksi .bacpac-tiedosto on niin pieni verrattuna saman tietokannan .bak-tiedostoon?

Olen tehnyt varmuuskopiot SQL Server 2014 Express -tietokannoistani tuoda muille palvelimille ja huomannut tiedostokoon eron .bacpac ja .bak.

Miksi .bacpac -tiedosto on niin pieni verrattuna .bak saman tietokannan tiedosto?

Kiitos oivalluksista!

Vastaa

A

  • .bacpac file = Schema + Data. Huomaa, että Data on BCP” julkaistu Native-muodossa (ei ihmisen luettavissa).

    • Voit nimetä .bacpac uudeksi nimeksi .zip, jotta näet todellinen sisältö.

    • Voit käyttää ...DAC\bin\sqlpackage.exe komentoriviä purkamaan .bacpac sisältö ohjelmallisesti.

    • Se on tilannekuva , joka sisältää käyttäjätiedot + skeeman SQL Serveristä tai Azure SQL -tietokannasta.

  • Varmuuskopio (yleensä .bak -laajennus) = TÄYSI tietokannan varmuuskopio sisältää täydellisen kopion tietokannasta ja tarjoaa yhden ajankohdan, johon tietokanta voidaan palauttaa. Täydellinen varmuuskopio sisältää joitain tapahtumalokitietueita, jotta palautetusta komponentista (tietokannasta, tiedostosta tai tiedostoryhmästä) voidaan tehdä transaktioiden mukainen.

BACPAC ei korvaa täydellistä varmuuskopiota. Se on vain tilannekuva, jota voidaan käyttää tietokannan siirtämiseen palvelimesta toiseen toinen (tai pilvipalveluun) ja nykyisen tietokannan arkistointi avoimessa muodossa .

Testini tulokset ovat alla

kirjoita kuvan kuvaus tähän

kommentit

  • Lokitiedosto on luultavasti suurin syy kokoeroon.
  • Olen ' d oletan siellä ' ei myöskään ole hakemistotietoja .bacpac-tiedostossa, mikä todennäköisesti on suuri panos tiedostokokoon.

Vastaa

-komento (.bak) on sivukohtainen kopio tietokannasta. Huomaa, että SQL Server -tietokanta sisältää paitsi tietosivut. On myös sivuja, joiden hakemistot voivat olla suuria. Lisätietoja täällä

Varmuuskopio, joka on luotu Export Data-Tier -sovelluksella (.bacpac) operaatio on yksinkertaisesti viety rivejä arkistoon sijoitetusta XML-muodossa olevasta tietokannasta. Voit tarkastella BACPAC: n sisältöä manuaalisesti, muuta vain tämän tiedoston laajennus .zip-tiedostoksi.

-tiedosto on suoraan verrannollinen tietokannan tietueiden määrään (ottaen huomioon pakkaussuhde).

.bak -tiedoston koko riippuu paitsi tiedoista myös hakemistojen koosta.

Joskus tämä voi olla ongelma, tarkista esimerkiksi tämä vanha -keskustelu

Siksi .bacpac -tiedosto on yleensä kooltaan pienempi.

Suoritin yksinkertaisimmat testit AdventureWorks -tietokannalla ja sain nämä tulokset.

AdventureWorks.bacpac - 17 mb AdventureWorks.bacpac.zip - 16 mb AdventureWorks_with_compression.bak - 49 mb AdventureWorks_with_compression.bak.zip - 47 mb 

Pitäisikö minun käyttää .bacpac-tiedostoa pienentääksesi varmuuskopion kokoa?

nro

Export \ Import Data Tier -sovelluksella on useita merkittäviä haittoja, jotka ovat tärkeitä suurille tietokannoille:

  1. Tämä ei ole transaktioiden kannalta johdonmukainen operaatio. Taulukot viedään peräkkäin. Vieraassa avaimessa voi olla ongelma. Tämä on kaksinkertaisen huono, koska huomaat sen vain yrittäessäsi toipua. Siksi tätä toimenpidettä suoritettaessa sinun on otettava tilannekuva tietokannasta ja vietävä tilannekuva.
  2. Se vie paljon kauemmin sekä viennissä että tuonnissa. Tällä hetkellä, kun sinun on suoritettava palautus kiireesti, et voi tehdä sitä, koska palautus .bacpac-tiedostosta kestää useita tunteja.
  3. Vienti voi ladata palvelimen merkittävästi etenkin suurille taulukot, mikä yhdessä edellisen kohdan kanssa tekee säännölliset varmuuskopiot kyseenalaiseksi päätökseksi.

BACKUP DATABASE -komennolla luotu klassinen varmuuskopio ei sisällä näitä haittoja, mikä säästää tilaa. Ajantasainen palautus

Export \ Import data-tier -sovellusta voidaan pitää tapana luoda varmuuskopio vain pienille tietokannoille, silloin kun sinulla ei ole pääsyä tiedostojärjestelmä. Tässä tapauksessa älä vie live-tietokantaa missään olosuhteissa, muista luoda tilannekuva jatkuvaa vientiä varten.

Vastaa

No, suurin ero on, että data on pakattu (zip-tiedostoa käyttäen) .bacpac -tiedostolle, mikä ei ole normaalin .bak tiedosto. Pakkaa vain .bak -tiedosto ja huomaa, että se on paljon pienempi;)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *