我正在尝试通过VSS备份和还原MS SQL服务器。我的备份操作运行正常,我将备份元数据存储在XML文件中。
在还原操作期间,我将提供与在备份操作期间创建的XML相同的XML,实际上是还原在PreRestore Stage中间歇性失败,返回VSS_E_OBJECT_NOT_FOUND。
我尝试了以下操作:

  • 检查还原时我的VSS服务是否正常运行。
  • 检查Microsoft卷影复制提供程序是否在还原过程中运行。
  • 检查还原期间网络服务是否运行良好。
  • 在不同的论坛上检查过此错误可能与什么有关,但是大多数建议就像尝试重新启动系统一样。

  • 错误发生在以下行之一(间歇),有时在第1行中断,有时在第2行中断,有时在第3行中断,这是我在PreRestore事件之前调用的所有这3个api:
    CHECK_COM(m_pVssObject->SetAdditionalRestores(myWriterId, VSS_CT_FILEGROUP, logicalPath, compName, true));
    CHECK_COM(m_pVssObject->AddNewTarget(myWriterId, VSS_CT_FILEGROUP, logicalPath, compName, wszPath, wszFileNameMdf, false, wszAlternatePath));
    CHECK_COM(m_pVssObject->AddNewTarget(myWriterId, VSS_CT_FILEGROUP, logicalPath, compName, wszPath, wszFileNameLdf, false, wszAlternatePath))
    
    这是它正在返回的响应。
    INFO: VSS: ERROR: - Returned HRESULT = 0x80042308
    INFO: VSS: ERROR: - Error text: VSS_E_OBJECT_NOT_FOUND
    

    最佳答案

    导致VSS_E_OBJECT_NOT_FOUND (Returned HRESULT = 0x80042308)错误的常见原因是,已在作为备份一部分的一个或多个卷上禁用了VSS。

  • 单击开始。
  • 右键单击“我的电脑”,然后选择“管理”。
  • 右键单击“共享文件夹”,选择“所有任务”。
  • 单击管理卷影副本。
  • 对于要备份的每个卷,请确保已启用卷影副本。如果某些卷未卷入,请突出显示列表中的卷,然后单击“启用”按钮以启用卷影副本。

  • 您还可以测试运行命令vssadmin list writers

    关于sql-server - VSS中的还原操作失败返回VSS_E_OBJECT_NOT_FOUND,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63374122/

    10-13 07:50