web-dev-qa-db-ja.com

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

他のサーバーにインポートするためにSQL Server 2014 Expressデータベースのバックアップを行っていましたが、.bacpac.bakのファイルサイズの違いに気付きました。

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

洞察をありがとう!

42
Chris

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

    • .bacpacの名前を.Zipに変更すると、実際の内容を確認できます。

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

    • これは、SQL ServerまたはAzure SQLデータベースからのユーザーデータ+スキーマを含むsnapshotです。

-

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

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

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

enter image description here

46
Kin Shah