在SQL Server Management Studio中,我可以进行数据库备份并将它们保存为.bak
文件,这些文件也可以在SQL Server Management Studio中进行恢复。MDF和LDF SQL Server备份
是否有这样做并建立一个脚本备份.MDF
和.LDF
文件之间有什么区别 - 如果曾经有过一个问题,我可以重新连接.MDF
和.LDF
文件?
谢谢
在SQL Server Management Studio中,我可以进行数据库备份并将它们保存为.bak
文件,这些文件也可以在SQL Server Management Studio中进行恢复。MDF和LDF SQL Server备份
是否有这样做并建立一个脚本备份.MDF
和.LDF
文件之间有什么区别 - 如果曾经有过一个问题,我可以重新连接.MDF
和.LDF
文件?
谢谢
这取决于您的还原需求和备份空间。这当然是可能的,只是重新安装MDF和LDF文件,但也有一定的局限性:
基本上,我会说,除非你有一个非常好的理由不使用内置的备份功能,否则我会避免手动备份MDF和LDF文件。
数据库备份比备份文件功能强大得多。
首先,如果您在数据库正在使用时备份文件,因为它不断变化,您可能会得到一些可行的结果,或者更有可能得到损坏的文件。正确的数据库备份会与备份过程协调正在进行的更改,以便备份文件完全一致。一个文件备份可能会给你一个文件,其中有一半的变化在一个事务中而不是另一半,或者更糟糕的是,一个特定页面中的变化只有一半而不是另一半。
其次,通过正确的数据库备份,您可以将数据库恢复到最早完整备份开始的任意时间点,而不仅仅是备份的时间点。 (您将需要自完整备份以来进行的所有日志备份链)。
编辑:请注意,正如注释中指出的,内置函数不一定提供时间点恢复 - 只有当您使用提供该功能的备份类型时(尽管有其他即使您不需要时间点恢复,也可以使用此类备份的原因)。
只有在使用完整或批量记录恢复模式时,后者才是真实的。如果您使用Simple,则无法获得时间点恢复,尽管您可以恢复到最后一次备份的时间,这通常足够好。 – siride 2015-03-25 02:06:59
由SQL Server备份生成的文件只包含数据不是空闲的,未使用的空间。 .mdf
和.ndf
文件将包含(有时非常大量的)空的,未使用的空间,使这些文件大于备份文件。而且你必须从SQL Server分离数据库才能将其复制出来。
此外,从SQL Server 2008及更新版本开始,备份也可以进行压缩 - 节省更多空间 – 2015-03-25 06:03:40
谢谢siride。这听起来像依赖于MDF和LDF不是一个好的选择,那么,如果数据库必须离线/分离MDF和LDF文件才能使用。你提到SQL Server内置了用于运行定期备份的机制 - 请你详细说明一下吗?欢呼声 – b85411 2015-03-25 02:03:29
@ bh85411:服务器本身通过T-SQL命令进行备份。查看关于'BACKUP'和'RESTORE'的文档。 SSMS也有很多GUI的东西,使脚本和时间表很容易。 – siride 2015-03-25 02:05:37