同じデータベースの.bakファイルと比較して、.bacpacファイルが非常に小さいのはなぜですか?


39

私は他のサーバーにインポートするために私のSQL Serverの2014 Expressデータベースのバックアップを行うとの間で、ファイルサイズの違いに気づいてきた.bacpacとします.bak

同じデータベースのファイル.bacpacと比較して、.bakファイルが非常に小さいのはなぜですか?

洞察力をありがとう!

回答:


42

A

  • .bacpacファイル=スキーマ+データ。データはネイティブ形式を使用してBCPで出力されることに注意してください(人間が読むことはできません)。

    • toの名前を変更し.bacpac.zip、実際の内容を表示できます。

    • ...DAC\bin\sqlpackage.exeコマンドラインを使用して、.bacpacコンテンツをプログラムで抽出できます。

    • これは、ユーザーデータ+ SQL ServerまたはAzure SQL Databaseのスキーマを含むスナップショットです。

-

  • バックアップ(通常は.bak拡張子が付きます) =データベースの完全バックアップには、データベースの完全なコピーが含まれ、データベースを復元できる単一のポイントインタイムを提供します。完全バックアップには、復元されたコンポーネント(データベース、ファイル、またはファイルグループ)のトランザクションの一貫性を保つために、いくつかのトランザクションログレコードが含まれています。

A BACPACは完全バックアップの代替ではありません。データベースをあるサーバーから別のサーバー(またはクラウド)に移動し、既存のデータベースをオープン形式でアーカイブするために使用できるスナップショットです

私のテストから、以下が結果です

ここに画像の説明を入力してください


3
では、.bakファイルに含まれている.bacpacにはどのような情報がありませんか。
AllTradesJack

1
ログファイルは、おそらくサイズの違いの最大の理由です。
ポール・スパングル

6
.bacpacにもインデックスデータがないと仮定します。これは、ファイルサイズの大きな要因になる可能性があります。
ロリー

9
その場合、.bacpacから復元するときに、何らかの方法でインデックスを再構築する必要がありますか、またはこれは自動的に行われますか?
ジョカル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.