使用卷影复制的SQL Server备份


9

Windows的许多知名备份实用程序都使用Windows较新版本中内置的Volume Shadow Copy Service来创建磁盘的时间点快照,以便安全地备份打开的文件。

但是这种机制在SQL Server中的表现如何?我知道存在一个SQL Server VSS编写器来帮助备份系统与SQL Server进行互操作,但是并非所有备份系统都了解SQL Server并利用它提供的与备份相关的API。

所以我的问题是,那些对SQL Server一无所知的程序呢?

当它们存在于单个瞬间时,它们大概会获得MDF和LDF文件的时间点快照。并假定SQL Server数据格式足够健壮,这样的快照将被保证是一致且可用的。

是事情的运作方式,还是我错过了什么?使用这种备份机制是否存在“陷阱”,或者我会安全吗?

Answers:


8

简短的回答:除非您已正确配置SQL Server(即使那样我也不会推荐),否则它们不能很好地配合使用。

这里有很多有关VSS和MSSQL的信息:
MSKB919023:SQL Server 2005连接和卷影复制服务(VSS)

但是要警告一句话:

假定SQL Server数据格式足够健壮,这样的快照将被保证是一致且可用的

这是一个很大的假设,不幸的是,这并不总是安全的。这就是为什么您的MSSQL维护计划对于确保您可以从灾难中恢复至关重要。


6

永远不会备份MDF和LDF文件。

您运行备份(计划,SQL,SMO等),然后备份这些备份文件。

坦白说,我不了解任何供应商对VSS的评价。我也不喜欢任何具有用于备份的SQL Server插件的供应商。您使用SQL Server本机备份

仅供参考:您还从病毒扫描中排除了MDF和LDF。


2

如果您没有带有SQL“选项”的软件,则:

为数据库创建SQL维护计划或计划的备份作业,将其转储到磁盘,然后备份服务器。或者,在转储它们时,将它们直接转储到磁盘到磁盘的备份位置(如果有)。


2

VSS备份的主要问题是由sql服务器中的缓存引起的。

磁盘上的当前状态并不总是包含所有数据库更改。Backupsoftware必须意识到这一点,以确保在拍摄快照之前sql server写入所有缓存。

话虽这么说:最安全的方法仍然是在sql管理/使用sql服务器工具进行备份。

并且您应该从病毒扫描程序(.bak,.mdf,.ldf)中排除所有sql服务器数据和备份文件。


3
VSS Requestor \ Writer体系结构的整个目的是确保依赖的应用程序(例如,Backup应用程序)可以指示所有者(SQL Server \ Exchange等)刷新所有缓存的数据并打开事务,然后在刷新OS磁盘缓存之前制作快照。它是否运作良好是另一个问题,但是该体系结构会尽其所能来确保文件一致。
Helvick 2010年

2
不。除非您进行了疯狂的配置更改,否则一旦提交事务,它就在磁盘上。缓存中没有提交的任何内容也没有在磁盘上提交的任何内容。
longneck 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.