MDF和LDF SQL Server备份

时间:2015-03-25 01:51:06

标签: sql sql-server database-backups

在SQL Server Management Studio中,我可以将数据库备份保存为.bak个文件,这些文件也可以在SQL Server Management Studio中恢复。

执行此操作与设置备份.MDF.LDF文件的脚本之间是否有任何区别?如果有任何问题,我可以重新附加{{1 }和.MDF个文件?

由于

3 个答案:

答案 0 :(得分:3)

这取决于您的还原需求和备份空间。确实可以重新附加MDF和LDF文件,但有一些限制:

  • 您必须先分离数据库,进行备份(两个文件同时进行)然后重新附加。这意味着停工。
  • 您无法进行增量备份。
  • 您无法进行差异备份。
  • 您无法进行时间点恢复。
  • 每次复制MDF和LDF文件时,您基本上都必须进行完整备份,这样可能会占用空间(因此,进行增量备份或差异备份可能会更好)。
  • SQL Server具有内置机制,可以在不调用外部脚本的情况下运行以进行常规备份。 MDF和LDF备份需要具有访问数据目录,备份位置和附加/分离数据库的服务器的权限的外部脚本。

基本上,我说除非你有充分的理由不使用内置备份功能,否则我会避免手动备份MDF和LDF文件。

答案 1 :(得分:2)

数据库备份比备份文件更强大。

首先,如果您在使用数据库时备份文件,因为它会不断变化,您可能会得到一些有效的内容,或者更有可能会出现损坏的文件。正确的数据库备份可协调备份过程中的持续更改,以便备份文件完全一致。文件备份可能会为您提供一个文件,该文件在事务中具有一半的更改而不是另一半,或者更糟糕的是,特定页面中的更改的一半而不是另一半。

其次,正确的数据库备份使您可以将数据库恢复到从最早的完整备份开始的任何时间点,而不仅仅是备份的时间点。 (您需要完整备份后所做的所有日志备份链才能执行此操作)。

编辑:请注意,正如评论中所指出的,内置函数不一定提供时间点恢复 - 只有当您使用提供该功能的备份类型时(尽管有即使您不需要时间点恢复,也可以使用其他类型的备份。

答案 2 :(得分:0)

SQL Server备份生成的文件仅包含非空闲,未使用的空间数据。 .mdf.ndf文件将包含(有时非常大量)空的,未使用的空间,使这些文件大于备份文件。并且您必须从SQL Server分离数据库以将其复制出来。