无法使用SQL Server VSS Writer进行差异备份

我一直在尝试使用SQL Server VSS Writer开发一个备份/恢复MS SQL Server的工具。我不能让不同的备份工作!我只是好奇是否有人使用VSS进行差异备份。这是我一直在做的事情: 创建完整备份和存储文件以及与之关联的备份组件文档。 更新数据库中的表。 通过将“SetBackupState”设置为VSS_BT_DIFFERENTIAL来创建新备份 现在,在将现有组件添加到备份组件文档时,我在步骤1中从文档中找到组件的时间戳,然后使用“SetPreviousBackupStamp”调用它 现在,在拍摄快照之后,我将浏览每个组件并调用“GetPartialFileCount”API。这总是返回值0.我假设如果现有组件有变化,它应该给出一个大于0的值。 我在这里错过了什么吗?我们是否需要使用某些参数或其他东西启动SQL Server VSS Writer?我尝试了不同的配置,包括(Windows Server 2008 / SQL Server 2008)     
已邀请:
我一直想要更新这篇文章一段时间,但却被我在程序中发现的所有错误所束缚。来自微软的几个人帮我解决了我的问题。我只想感谢Dileep和Ramesh(由于显而易见的原因,我将其姓氏遗漏),以帮助我完成这项工作。 以下是我的发现: SQL VSS编写器支持差异备份。 进行差异备份时,请不要将“master”组件作为备份组件。 始终使用以下API序列检查每个阶段后的Writer状态错误:GatherWriterStatus(),GetWriterStatusCount(),GetWriterStatus() 如果编写者状态指向错误,那么事情是不可预测的。 开始寻找工作的最佳位置是作为VSS SDK的一部分提供的BETest源代码。 BETest允许备份单个数据库(完整/差异)和恢复(完全/差异),只要您正确获得/ C选项即可。组件语法为:“{Writer Id}”:“完整组件名称” 例如,对于我机器上的数据库“Person”,我的组件信息文件包含: “{A65FAA63-5EA8-4EBC-9DBD-A0C4DB26912A}”: “ABP-PC SQLEXPRESS 人”; 执行差异还原时,需要使用“/ AdditionalRestores”选项完成完全还原。 希望这可以帮助。如果有人需要帮助,请更新此帖子,我会收到通知。我会帮助。     

要回复问题请先登录注册