我正在尝试通过 VSS 备份和恢复 MS SQL 服务器。我的备份操作运行良好,我将备份元数据存储在 XML 文件中。在还原操作期间,我提供了在备份操作期间创建的相同 XML,发生的情况是在返回 VSS_E_OBJECT_NOT_FOUND 的 PreRestore Stage 中还原间歇性失败。我尝试过以下事情:
- 检查我的 VSS 服务在还原时是否正常运行。
- 已检查 Microsoft Shadow Copy 提供程序在还原期间正在运行。
- 检查恢复期间网络服务是否运行良好。
- 在不同的论坛上检查了此错误可能与什么有关,但大多数建议就像尝试重新启动系统一样。
错误出现在以下行之一(间歇性地),有时它在第 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