将SQL Server数据库作为.bak或.mdf分发有什么优缺点?

时间:2011-10-11 00:43:08

标签: sql-server sql-server-2008

我们正致力于生成一个将分发给多个第三方的数据库。我们还将继续重新生成此数据库,重新分发它,并且这些第三方将需要使用新版本覆盖其现有数据库副本。

我正在尝试决定是否要暂时分离数据库,制作.mdf的副本,然后发送该副本,或者我是否应该只对数据库进行完整备份,然后发送.bak进行。

我可以看到的主要区别是,要分发.mdf,您必须临时分离数据库,以便您可以复制它。

每种格式的其他优点/缺点是什么?

分配一个是否存在安全隐患?

最初导入一种格式比另一种格式更容易吗?

谢谢。

1 个答案:

答案 0 :(得分:7)

都不是。分发数据库更改的正确方法是通过upgrade scripts,否则使用数据库的第三方将丢失数据库中包含的实际数据。

对于第三方永远不会更改数据的情况(即数据库只在这些站点上读取),然后通过备份文件进行分发是可行的。 MDF完全不可能,首先是因为MDF不是整个数据库:至少除了重新创建连贯的数据库之外,还需要LDF。在腐败的数据库中,只需将MDF与相应的LDF连接就会导致大多数情况。除了不正确之外,MDF分发效率低(BAK文件小于相应的MDF,因为它们不包含未分配的页面),并且MDF操作也需要在文件复制期间将数据库置于脱机状态。