SQL Anywhere 与 Microsoft 卷影复制服务(Volume Shadow Copy Service,简称 VSS)兼容。VSS 可用来创建整个磁盘卷或卷集的时间点快照和制作文件副本,这些文件是要独占打开以供诸如 SQL Anywhere 数据库服务器等应用程序独占使用的文件。32 位 Windows XP 操作系统、32 位和 64 位的 Windows 2003 及更高版本的操作系统(包括 Windows Vista)都支持 VSS。
缺省情况下,如果 SQL Anywhere VSS 写入程序 (dbvss11.exe) 正在运行,则所有 SQL Anywhere 数据库都能使用 VSS 服务进行备份。您可以使用没有 SQL Anywhere VSS 写入程序的 VSS 对数据库进行备份。但是,您可能需要使用完整的 SQL Anywhere 恢复过程来恢复这些数据库。要使数据库服务器不参与 VSS 服务,请在启动数据库服务器时包括 -vss-。或者,可以使用 Windows 服务实用程序 (dbsvc) 来指定何时启动 VSS 服务。
VSS 如何与 SQL Anywhere 协同工作:
您的备份应用程序向 VSS 发送命令来拍摄快照。
VSS 发出 identify 命令到 SQL Anywhere VSS 写入程序 (dbvss11.exe)。
VSS 发出 prepare to snapshot 命令以挂起所有事务,并将所有修改过的页面写入到所有数据库服务器上所有数据库的磁盘中。如果某数据库上的事务未在 10 秒内挂起,则快照可能包含未提交的事务,因此有必要进行完全恢复。
VSS 发出 freeze 命令到检查点,然后挂起所有数据库服务器上所有数据库的所有活动。每个 SQL Anywhere 数据库服务器等待所有数据库挂起所有活动的最长时间为 60 秒。通常,此过程只需几秒钟。
VSS 发出 thaw 命令到 SQL Anywhere VSS 写入程序,以恢复所有数据库服务器上所有数据库的所有事务。
在极少数情况下,SQL Anywhere 可能无法在 VSS 允许的最长时间内挂起事务或完成检查点操作。如果出现这种情况,您必须使用事务日志文件和完全恢复过程来恢复备份数据库。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |