Azure BACPAC备份文件与SQL Server BAK文件有何不同?

Whi*_*uit 5 sql-server azure-sql-database

BACPAC和BAK文件在概念上是一样的吗?一个单独的自包含文件,您可以在其中用于备份/还原数据库?

小智 8

BACPAC文件在事务上不一致,并且可能导致数据库中的数据不一致.这就是我的意思:如果你开始创建一个BACPAC的过程,那么一些数据会在源数据库中得到更新,那么BACPAC文件可能包含来自表A的数据,就像它在下午1点一样,以及来自表格X,因为它是在下午1:03 ...但如果表格A也在下午1:03更新,如果表格A的数据是在下午1:00由导出过程导出的,则BACPAC文件中可能不存在该更改.

从导出执行时没有写入活动的数据源创建BACPAC导出非常重要.

例如,在Azure SQL数据库中,最佳做法是首先创建相关数据库的副本,然后在副本上运行导出到BACPAC(而不是在原始源数据库上).创建数据库的副本在事务上是一致的,而导出到BACPAC则不是.


The*_*war -1

bacpacBak文件都是数据库当时存在的快照。

我能想到的bacpac文件的唯一区别是,它验证架构绑定,如果它们不正确,则会失败,除了两者相同之外。一个在天蓝色中,一个在本地