Miért olyan kicsi a .bacpac fájl az azonos adatbázis .bak fájljához képest?

Biztonsági másolatokat készítettem az SQL Server 2014 Express adatbázisokról más szerverekre történő importálás céljából, és észrevettem a fájlméretbeli különbséget a és .bak.

Miért olyan kicsi egy .bacpac fájl a .bak fájl ugyanazon adatbázisból?

Köszönjük a betekintést!

Válasz

A

  • .bacpac file = Séma + Adatok. Ne feledje, hogy az adatok BCP-t” Natív formátumban (nem olvasható az ember által).

    • Átnevezheti a .bacpac fájlt .zip -re a tényleges tartalma.

    • Használhatja a ...DAC\bin\sqlpackage.exe parancssort a .bacpac tartalma programozottan.

    • Ez egy pillanatkép amely tartalmazza a felhasználói adatokat + az SQL Server vagy az Azure SQL Database sémáját.

  • Biztonsági másolat (általában .bak kiterjesztéssel rendelkezik) = A TELJES adatbázis biztonsági másolat az adatbázis teljes másolatát tartalmazza, és egyetlen pontot biztosít, amelyre az adatbázis visszaállítható. A teljes biztonsági másolat tartalmaz néhány tranzakciónapló-rekordot, így a visszaállított összetevő (adatbázis, fájl vagy fájlcsoport) tranzakciókonzisztenssé tehető.

A BACPAC nem helyettesítheti a TELJES biztonsági másolatot. Ez csak egy pillanatkép, amellyel az adatbázis áthelyezhető egy szerverről egy másik (vagy felhőalapú) és meglévő adatbázis archiválása nyílt formátumban .

Tesztem alapján az alábbiakban láthatók az eredmények

írja ide a kép leírását

Megjegyzések

  • A naplófájl valószínűleg a legnagyobb oka a méretkülönbségnek.
  • I ' d feltételezem, hogy ' nincs indexadata a .bacpac-ban sem, ami valószínűleg NAGYAN hozzájárul a fájlmérethez.

Válasz

A parancs (.bak) az adatbázis oldalankénti másolata. Vegye figyelembe, hogy az SQL Server adatbázis nemcsak adatlapokat tartalmaz. Vannak olyan oldalak is, amelyek nagy indexűek lehetnek. További részletek itt

Az Export Data-Tier alkalmazás használatával létrehozott biztonsági másolat (.bacpac) A művelet egyszerűen egy adatbázisból exportált sorok, XML formátumban, archívumba helyezve. Manuálisan megtekintheti a BACPAC tartalmát, csak állítsa át a fájl kiterjesztését .zip fájlra.

A fájl egyenesen arányos az adatbázisban lévő rekordok számával (figyelembe véve a tömörítési arányt).

A .bak fájl mérete nemcsak az adatoktól, hanem az indexek méretétől is függ.

Néha ez problémát jelenthet, ellenőrizze például ezt a régi beszélgetést

Ezért a .bacpac fájl általában kisebb méretű.

A legegyszerűbb teszteket a AdventureWorks adatbázissal futtattam, és megkaptam ezeket az eredményeket.

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

A .bacpac fájlt kell használnom a biztonsági másolat méretének csökkentéséhez?

No.

Export \ Import Data Tier Az alkalmazásnak számos jelentős hátránya van, amelyek kritikusak a nagy adatbázisok számára:

  1. Ez nem tranzakcióilag következetes művelet. A táblákat egymás után exportáljuk. Probléma lehet a külföldi kulccsal. Ez kétszeresen rossz, mert csak akkor fedezi fel, amikor megpróbál felépülni. Ezért ennek a műveletnek a végrehajtásakor pillanatfelvételt kell készítenie az adatbázisról, és exportálnia kell a pillanatképet.
  2. Az exportáláshoz és az importáláshoz is sokkal tovább tart. Abban a pillanatban, amikor sürgősen futtatnia kell a visszaállítást, ezt nem tudja megtenni, mert a .bacpac fájlból történő visszaállítás több órát vesz igénybe.
  3. Az export jelentősen megterheli a szervert, különösen nagy táblázatok, amelyek az előző ponttal együtt kétes döntést hoznak a rendszeres biztonsági mentésekről.

A BACKUP DATABASE paranccsal létrehozott klasszikus biztonsági mentés hiányolja ezeket a hátrányokat, hogy helyet takarítson meg. Pontos helyreállítás

Export \ Import data-tier alkalmazás úgy tekinthető, hogy csak kis adatbázisokhoz készíthet biztonsági másolatot, olyan esetekben, amikor nincs hozzáférése a a fájlrendszer. Ebben az esetben semmilyen körülmények között ne exportálja az élő adatbázist, feltétlenül készítsen pillanatképet a következetes exportáláshoz.

Válasz

Nos, a legnagyobb különbség az, hogy az adatokat tömörítik (zip használatával) a .bacpac fájlhoz, ami nem egy normál .bak fájl. Csak tömörítse a .bak fájlt, és nézze meg, hogy sokkal kisebb;)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük