Чому файл .bacpac настільки малий у порівнянні з .bak-файлом тієї ж бази даних?


39

Я робив резервні копії моїх баз даних SQL Server 2014 Express для імпорту на інші сервери і помітив різницю у розмірі файлів між .bacpacта .bak.

Чому .bacpacфайл настільки малий порівняно з .bakфайлом тієї ж бази даних?

Дякуємо за будь-яку інформацію!

Відповіді:


42

А

  • .bacpacfile = Схема + Дані. Зауважте, що дані BCP'ed виходять у форматі Native (не читається людиною).

    • Ви можете перейменувати .bacpacto, .zipщоб переглянути фактичний вміст.

    • Ви можете використовувати ...DAC\bin\sqlpackage.exeкомандний рядок для програмного вилучення .bacpacвмісту.

    • Це знімок, який включає дані користувача + схему з SQL Server або Azure SQL Database.

-

  • Резервне копіювання (зазвичай мають .bakрозширення) = Повна резервна копія бази даних містить повну копію бази даних і забезпечує єдиний момент часу, до якого база даних може бути відновлена. Повна резервна копія містить деякі записи журналів транзакцій, щоб відновлений компонент (база даних, файл чи група файлів) можна зробити транзакційно послідовними.

A BACPACне є заміною ПОЛЬНОГО резервного копіювання. Це лише знімок, який можна використовувати для переміщення бази даних з одного сервера на інший (або до хмари) та архівування існуючої бази даних у відкритому форматі .

З мого тесту, нижче наведені результати

введіть тут опис зображення


3
Отже, якої інформації відсутня .bacpac, який має файл .bak, що робить його меншим?
AllTradesJack

1
Файл журналу, мабуть, є найбільшою причиною різниці розмірів.
Пол Спанч

6
Я припускаю, що в .bacpac також немає даних про індекси, які, ймовірно, є BIG-учасником розміру файлу.
Рорі

9
У тому випадку, коли ви відновляєтесь з .bacpac, вам потрібно якось перебудувати індекси, або це робиться автоматично?
Jocull
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.