Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无法使用SQL Server VSS编写器进行差异备份_C++_Sql Server_Shadow Copy_Volume Shadow Service - Fatal编程技术网

C++ 无法使用SQL Server VSS编写器进行差异备份

C++ 无法使用SQL Server VSS编写器进行差异备份,c++,sql-server,shadow-copy,volume-shadow-service,C++,Sql Server,Shadow Copy,Volume Shadow Service,我一直在尝试开发一种工具,使用SQL Server VSS Writer备份/恢复MS SQL Server。我不能让不同的备份工作!我只是好奇是否有人使用VSS进行过差异备份。以下是我一直在做的事情: 创建完整备份并存储文件以及与其关联的备份组件文档 更新数据库中的表 通过将“SetBackupState”设置为VSS\u BT\u DIFFERENTIAL来创建新备份 现在,在将现有组件添加到备份组件文档时,我在步骤1中从文档中找到该组件的时间戳,然后使用“SetPreviousBackup

我一直在尝试开发一种工具,使用SQL Server VSS Writer备份/恢复MS SQL Server。我不能让不同的备份工作!我只是好奇是否有人使用VSS进行过差异备份。以下是我一直在做的事情:

  • 创建完整备份并存储文件以及与其关联的备份组件文档
  • 更新数据库中的表
  • 通过将“SetBackupState”设置为VSS\u BT\u DIFFERENTIAL来创建新备份
  • 现在,在将现有组件添加到备份组件文档时,我在步骤1中从文档中找到该组件的时间戳,然后使用“SetPreviousBackupStamp”调用它
  • 现在,在拍摄快照之后,我将遍历每个组件并调用“GetPartialFileCount”API。这将始终返回值0。我假设,如果现有组件中存在更改,则其值应大于0

  • 我是不是遗漏了什么?我们是否需要使用某些参数或其他东西启动SQL Server VSS编写器?我尝试了不同的配置,包括(Windows Server 2008/SQL Server 2008)

    我想更新这篇文章有一段时间了,但是我发现了程序中的所有错误。微软的几个人帮我解决了这个问题。我只想感谢迪利普和拉梅什(出于明显的原因,我省略了他们的姓氏)帮助我度过了难关

    以下是我的发现:

    • SQL VSS编写器不支持差异备份

    • 进行差异备份时,不要将“主”组件作为备份组件

    • 始终使用以下API序列在每个阶段后检查写入程序状态错误:GatherWriterStatus()、GetWriterStatusCount()、GetWriterStatus()

    • 如果writer状态指向错误,那么从那以后事情就不可预测了

    • 开始寻找工作的最佳位置是作为VSS SDK的一部分提供的BETest源代码

    • BETest允许备份单个数据库(完整/差异)和恢复(完整/差异),只要您正确获得/C选项。组件语法为:“{Writer Id}”:“完整组件名” 例如,对于我机器上的数据库“Person”,我的组件信息文件包含: “{A65FAA63-5EA8-4EBC-9DBD-A0C4DB26912A}”:“ABP-PC\SQLEXPRESS\Person”

    • 执行差异恢复时,需要使用“/AdditionalRestores”选项执行完全恢复


    希望这有帮助。如果有人需要帮助,请更新此帖子,我会得到通知。我会帮忙的。

    您好,我在另一个writer和增量备份方面遇到了问题,我在这里写到:您能帮我吗?:)