许多著名的 Windows 备份实用程序使用新版本 Windows 中内置的卷影复制服务来创建磁盘的时间点快照,以便安全地备份打开的文件。
但是这种机制与 SQL Server 配合得如何?我知道存在一个 SQL Server VSS Writer 来帮助备份系统与 SQL Server 互操作,但并非所有备份系统都了解 SQL Server 并利用它提供的与备份相关的 API。
所以我的问题是,那些对 SQL Server 一无所知的程序该怎么办?
他们可能获取了 MDF 和 LDF 文件在某一时刻的快照,因为它们当时存在。并且 SQL Server 数据格式可能足够强大,可以保证这样的快照是一致且可用的。
事情就是这样的吗,还是我遗漏了什么?使用这种备份机制是否存在“陷阱”,或者说是否安全?
答案1
简短的回答:除非您已经正确配置了 SQL 服务器,否则它们无法很好地协同工作(即使这样我也不推荐这样做)。
这里有很多关于 VSS 和 MSSQL 协同工作的信息:
MSKB919023:SQL Server 2005 连接和卷影复制服务 (VSS)。
不过有一点需要提醒:
假设 SQL Server 数据格式足够强大,可以保证这样的快照是一致且可用的
这是一个很大的假设,不幸的是,这种假设并不总是安全的。这就是为什么您的 MSSQL 维护计划对于确保您能够从灾难中恢复至关重要。
答案2
你绝不备份 MDF 和 LDF 文件。
您运行备份(计划、SQL、SMO 等等),然后备份这些备份文件。
坦白说,我不明白任何供应商对 VSS 的评价。我也不喜欢任何有 SQL Server 备份插件的供应商。您使用 SQL Server 本机备份仅有的
仅供参考:您还可以将 MDF 和 LDF 排除在病毒扫描之外。
答案3
如果您没有具有 SQL“选项”的软件,那么:
为数据库创建 SQL 维护计划或计划备份作业,将其转储到磁盘,然后备份服务器。或者,当您转储它们时,将它们直接转储到磁盘到磁盘备份位置(如果有)。
答案4
VSS 备份的主要问题是由 SQL Server 中的缓存引起的。
磁盘上的当前状态并不总是包含所有数据库更改。备份软件必须意识到这一点,以确保在拍摄快照之前 SQL Server 写入其所有缓存。
话虽如此:最安全的方法仍然是在 SQL 管理/使用 SQL 服务器工具进行备份。
并且您应该从病毒扫描程序中排除所有 SQL 服务器数据和备份文件 (.bak、.mdf、.ldf)。