许多Windows着名的备份实用程序使用内置于较新版本Windows的卷影复制服务来创build磁盘的时间点快照,以便安全地备份打开的文件。
但是这个机制在SQL Server上有多好呢? 我知道存在一个SQL Server VSS编写器来帮助备份系统与SQL Server互操作,但并不是所有备份系统都知道SQL Server,并利用它提供的与备份相关的API。
所以我的问题是,那些对SQL Server一无所知的程序呢?
他们可能会获得MDF和LDF文件的时间点快照,因为它们在一个瞬间存在。 据推测,SQL Server数据格式足够健壮,这样的快照将被保证是一致的和可用的。
这是事情的方式,还是我错过了什么? 是否有使用这种备份机制的“疑难杂症”,还是我会安全?
简单的回答:除非你已经正确地configuration了SQL服务器,否则他们在一起玩的不是很好(即使这样我也不会推荐它)。
有很多有关VSS和MSSQL在这里一起玩的信息:
MSKB919023: SQL Server 2005连接和卷影复制服务(VSS) 。
尽pipe有一个警告字:
据推测,SQL Server数据格式足够健壮,这样的快照将被保证是一致的和可用的
这是一个很大的假设,不幸的是,这并不总是安全的。 这就是为什么您的MSSQL维护计划对于确保您可以从灾难中恢复至关重要。
您从不备份MDF和LDF文件。
你运行备份(计划,SQL,SMO等等),然后备份这些备份文件。
坦率地说,我不明白任何供应商对VSS的看法。 我也不喜欢任何有备份SQL Server插件的供应商。 您仅使用SQL Server本机备份
仅供参考:您也将MDF和LDF排除在病毒扫描之外。
如果你没有具有SQL选项的软件,那么:
为数据库创buildSQL维护计划或计划的备份作业,将其转储到磁盘,然后备份服务器。 或者当您转储它们时,将它们直接转储到您的磁盘到磁盘备份位置(如果有的话)。
VSS备份的主要问题是由sql server中的caching引起的。
磁盘上的当前状态并不总是包含所有数据库更改。 备份软件必须意识到这一点,以确保SQL Server在拍摄快照之前先写入所有caching。
说了这样的话:最安全的方法仍然是在sqlpipe理/用sql server工具备份。
你应该从virusscanners(.bak,.mdf,.ldf)中排除所有的sql server数据和备份文件。