与同一数据库的 .bak 文件相比,为什么 .bacpac 文件如此之小?

Chr*_*ris 54 sql-server backup export import

我一直在做我的SQL Server 2014 Express数据库的备份导入到其他服务器,发现两者之间的文件大小的差异.bacpac.bak

为什么一个.bacpac文件比.bak同一个数据库的文件那么小?

感谢您的任何见解!

Kin*_*hah 57

一种

  • .bacpac文件 = 架构 + 数据。请注意,数据是使用本机格式(人类无法读取)进行 BCP 输出的。

    • 您可以将 重命名.bacpac.zip以查看实际内容。

    • 您可以使用...DAC\bin\sqlpackage.exe命令行以.bacpac编程方式提取内容。

    • 它是包含来自 SQL Server 或 Azure SQL 数据库的用户数据 + 架构的快照

——

  • 备份(通常具有.bak扩展名) = 完整数据库备份包含数据库的完整副本,并提供可以将数据库还原到的单个时间点。完整备份包含一些事务日志记录,以便可以使还原的组件(数据库、文件或文件组)在事务上保持一致。

ABACPAC不能替代完整备份。它只是一个快照,可用于将数据库从一台服务器移动到另一台(或云)并以开放格式存档现有数据库

根据我的测试,以下是结果

在此处输入图片说明

  • 我假设 .bacpac 中也没有索引数据,这可能是文件大小的重要因素。 (8认同)