web-dev-qa-db-fra.com

Pourquoi un fichier .bacpac est-il si petit par rapport à un fichier .bak de la même base de données?

J'ai effectué des sauvegardes de mes bases de données SQL Server 2014 Express pour les importer sur d'autres serveurs et j'ai remarqué une différence de taille de fichier entre .bacpac et .bak.

Pourquoi un .bacpac fichier si petit comparé à un .bak fichier de la même base de données?

Merci pour tout aperçu!

42
Chris

UNE

  • .bacpac fichier = Schéma + Données. Notez que les données sont BCP en utilisant le format natif (non lisible par l'homme).

    • Vous pouvez renommer le .bacpac à .Zip pour voir le contenu réel.

    • Vous pouvez utiliser ...DAC\bin\sqlpackage.exe ligne de commande pour extraire le .bacpac contenu par programme.

    • Il s'agit d'un instantané qui inclut les données utilisateur + le schéma de SQL Server ou Azure SQL Database.

-

  • Sauvegarde (ont généralement .bak extension) = Une sauvegarde COMPLÈTE de la base de données contient une copie complète de la base de données et fournit un point de référence unique dans lequel la base de données peut être restaurée. Une sauvegarde complète contient certains enregistrements du journal des transactions afin que le composant restauré (base de données, fichier ou groupe de fichiers) puisse être rendu transactionnellement cohérent.

Un BACPAC ne remplace pas une sauvegarde COMPLÈTE. Ce n'est qu'un instantané qui peut être utilisé pour déplacer une base de données d'un serveur vers une autre (ou vers le cloud) et archivage d'une base de données existante dans un format ouvert .

De mon test, voici les résultats

enter image description here

46
Kin Shah