排查 Data Protection Manager 控制台崩溃问题

本指南可帮助你在 System Center 2016 Data Protection Manager(DPM 2016)及更高版本中诊断和解决与故障相关的问题。 常见的崩溃错误 ID 包括 917、999、948 和 1069。

原始产品版本: System Center 2016 Data Protection Manager 及更高版本
原始 KB 数: 10057

在开始故障排除之前,请确保已安装 System Center Data Protection Manager 的最新更新汇总包。 有关最新版本,请参阅 System Center - Data Protection Manager 内部版本

错误 917:与 DPM 服务的连接已丢失

处理主机崩溃时,请务必了解 DPM 服务器上的主机依赖于多个可用的服务。 如果其中任一服务停止运行或失败,则可能会收到错误 917:

与 DPM 服务的连接已丢失。
查看应用程序事件日志,了解有关可能的服务关闭的信息。

下面是此错误的屏幕截图:

连接到 DPM 服务的错误 ID 917 已丢失。

如果在启动控制台时发生崩溃,请验证所有 DPM 服务是否都在运行。 必须运行的服务在错误消息中列出:

  • DPM
  • DPMRA
  • SQL Server 代理(对于 DPM 实例)
  • SQL Server (对于 DPM 实例)
  • 虚拟磁盘服务
  • 卷影复制服务

注意

在 Windows Server 2016 或更高版本中安装 DPM 时,Hyper-V 虚拟机管理服务必须正在运行。

如果其中一个服务未运行,请尝试启动它,然后重新打开 DPM 控制台。

如果服务已启动,但仍遇到问题, 请检查数据库是否处于恢复模式

如果启动服务时遇到问题,错误消息应提供故障原因的线索。

错误 1069:服务因登录失败而无法启动

如果在启动 DPM 相关服务之一时遇到问题,可能是由服务运行方式帐户引起的。 服务无法启动并出现以下错误:

错误 1069:由于登录失败,服务未启动。

下面是错误的示例屏幕截图:

错误 ID 1069 由于登录失败,服务未启动。

可能与 SYSTEM 以外的帐户一起运行的唯一服务是 SQL Server 帐户。 使用下表验证帐户是否正确,以及帐户是否具有有效的密码。

注意

更改 SQL Server 用户帐户的最佳方式是使用SQL Server 配置管理器接口。

服务名称 运行方式帐户 启动类型 调查是否未运行?
MSDPM SYSTEM 手动
DPMRA SYSTEM 自动
*SQL Server 代理(对于 DPM 实例) SYSTEM 自动
*SQL Server (对于 DPM 实例) SYSTEM 自动
虚拟磁盘服务 SYSTEM 手动
卷影复制服务 SYSTEM 手动
DPM 访问管理器 SYSTEM 自动
DPM 代理协调器 SYSTEM 手动
DPM CPWrapper SYSTEM 手动
DPM 编写器 SYSTEM 自动
DPMLA SYSTEM 手动
DPM VMM 帮助程序服务 SYSTEM 手动

* 如果启用了库共享,SQL Server 服务将使用域帐户(必须是本地管理员)。

检查数据库是否处于恢复模式

如果数据库处于恢复模式,则当服务尝试连接到数据库时,可能会导致问题。 由于 DPMSync -Sync 失败或崩溃,数据库处于恢复模式。 若要检查情况是否如此,请针对 DPMDB 运行以下 SQL 查询:

select * from tbl_DLS_GlobalSetting
where PropertyName like 'DbRecovery'

如果返回的 PropertyValue 值为 1,则数据库处于恢复模式。

运行以下 SQL 查询,使数据库脱离恢复模式:

update tbl_DLS_GlobalSetting
set PropertyValue = '0'
where PropertyName like 'DbRecovery'

完成后,重启 DPM 服务,然后重试控制台。

服务超时

如果服务运行方式帐户已正确配置,则可能会遇到服务超时问题。 如果服务在尝试启动时超时,可以应用以下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

DWORDServicesPipeTimeout
300000

如果条目不存在,可以创建它。 该值是超时(毫秒),例如 60000 等于 1 分钟(60 秒)。 必须重启服务才能实现更改。 根据需要调整值。

服务启动,但随后崩溃

如果服务启动并崩溃,请检查应用程序事件日志中是否存在指示哪个服务已崩溃的错误。 在崩溃时,检查错误为级别的任何条目MSDPM(或任何其他 DPM 服务)作为源。 事件的 “常规 ”选项卡应包含有关服务崩溃的信息,以及有关崩溃的一些详细信息。

例如, 事件 ID 为 999 失败的 MSDPM 进程具有以下详细信息:

找不到源 MSDPM 中事件 ID 999 的说明。 未在本地计算机上安装引发此事件的组件,或者安装已损坏。 可在本地计算机上安装或修复该组件。

如果另一台计算机上生成该事件,则必须保存该事件的显示信息。

事件中包含以下信息:

意外错误导致进程“msdpm”失败。 重启 DPM 进程“msdpm”。

下面是此事件的屏幕截图:

显示 MSDPM 进程失败时的事件 ID 999 的详细信息。

在此示例中,“ 问题详细信息 ”部分显示失败,错误代码0x80004015映射到:

该类配置为作为与调用方不同的安全 ID 运行

然后,我们可以开始调查作为用户帐户问题的问题。 由于它是崩溃的 MSDPM 服务,下一步是查看相应的 DPM 错误日志。 这些 DPM 错误日志的默认位置类似于 C:\Program Files\Microsoft System Center\DPM\DPM\Temp\

错误日志针对它们记录的服务命名,每个服务的当前日志文件都命名为 <service>curr.errlog

如果服务崩溃,系统还会创建类似于如下所示的 .crash 文件:

崩溃文件示例的屏幕截图。

崩溃事件记录在文件的末尾,并显示更多详细信息。

排查各种服务崩溃问题时,其原因和解决方法超出了本指南的范围。 事件日志、错误日志和 .crash 文件应提供足够的信息来排查最常见的错误。

错误 948:无法连接到 DPM 服务器

如果服务无法连接到 DPM 数据库,则可能无法启动。 在这种情况下,会看到类似于以下内容的错误:

无法连接到 <DPM 服务器>。 (ID: 948)
验证 DPM 服务是否在此计算机上运行。

事件日志中的“问题详细信息”部分应提供有关故障性质的其他信息。 通常,数据库处于脱机状态或不可联系(如果数据库位于远程服务器上),或者可能存在登录失败。 在这种情况下,你可能会在事件日志中看到类似于以下示例之一的错误:

错误 948 无法连接到 DPM 服务器示例 1 的详细信息。

错误 948 无法连接到 DPM 服务器示例 2 的详细信息。

一些常见原因包括:

登录失败

未能登录的帐户应在错误消息中清除。 否则,可以在 DPM Temp 文件夹中检查 msdpmcurr.errlog 。 如果未明确说明,请尝试 SQL Server 安装位置中的 ERRORLOG 文件(例如 C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log)。 该路径可能因安装的 SQL Server 的确切版本或安装到非默认位置而有所不同。

此错误日志文件应包含任何失败的登录审核条目。 通过将权限分配给所引用数据库的帐户来解决这些错误。 这通常是 SQL Server 运行方式帐户或 SYSTEM 帐户:

  • 对于 SYSTEM 帐户,可以通过转到安全>登录名,然后右键单击系统帐户,在 SQL Server Management Studio 中添加相关权限。 确保已 选择 sysadmin 角色,如下所示:

    确保为 SYSTEM 帐户选择了 sysadmin 选项。

  • 对于 SQL Server 运行方式帐户,请在SQL Server 配置管理器中重置该帐户。

数据库/实例处于脱机状态

此时应已检查 SQL Server 服务是否正在运行。 否则,请立即进行检查。 运行 SQL Server 服务后,请尝试从 SQL Server Management Studio(SSMS)连接到实例。 如果服务器登录的帐户与安装帐户不同的帐户,则偶尔会失败。 在此方案中,请尝试以管理员身份运行 SSMS。 如果可以成功连接,则 DPMDB 处于联机状态。 如果 DPMDB 处于脱机状态,如下所示:

DPMDB 的状态处于脱机状态,需要将其设置为联机状态。

如果 DPMDB 处于脱机状态,请右键单击 DPMDB,选择“ 任务 ”,然后选择“ 联机”。 联机后,请验证问题是否已解决。

如果看到错误表明存在与网络相关的问题,请通过完成以下步骤来测试从 DPM 服务器到数据库的连接:

  1. 创建 .udl 文件。 最简单的方法是使用 .udl 扩展名重命名空白.txt文件。

  2. 双击 UDL 文件,并从下拉列表中选择要测试的实例和数据库。

  3. 单击 “测试连接”

    在“数据链接属性”对话框中选择“测试连接”。

如果此操作失败,请检查是否可以从 DPM 服务器 ping SQL Server,并验证名称解析是否正常工作。 另请验证返回的 IP 地址是否正确。 验证该地址在 SQL Server DPM 服务器 > 中是否也正确。 检查流量可能无法通过的任何其他明显原因,例如防火墙。