本指南可帮助你在 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 服务是否都在运行。 必须运行的服务在错误消息中列出:
- DPM
- DPMRA
- SQL Server 代理(对于 DPM 实例)
- SQL Server (对于 DPM 实例)
- 虚拟磁盘服务
- 卷影复制服务
注意
在 Windows Server 2016 或更高版本中安装 DPM 时,Hyper-V 虚拟机管理服务必须正在运行。
如果其中一个服务未运行,请尝试启动它,然后重新打开 DPM 控制台。
如果服务已启动,但仍遇到问题, 请检查数据库是否处于恢复模式。
如果启动服务时遇到问题,错误消息应提供故障原因的线索。
错误 1069:服务因登录失败而无法启动
如果在启动 DPM 相关服务之一时遇到问题,可能是由服务运行方式帐户引起的。 服务无法启动并出现以下错误:
错误 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
DWORD: ServicesPipeTimeout
值: 300000
如果条目不存在,可以创建它。 该值是超时(毫秒),例如 60000 等于 1 分钟(60 秒)。 必须重启服务才能实现更改。 根据需要调整值。
服务启动,但随后崩溃
如果服务启动并崩溃,请检查应用程序事件日志中是否存在指示哪个服务已崩溃的错误。 在崩溃时,检查错误为级别的任何条目和 MSDPM(或任何其他 DPM 服务)作为源。 事件的 “常规 ”选项卡应包含有关服务崩溃的信息,以及有关崩溃的一些详细信息。
例如, 事件 ID 为 999 失败的 MSDPM 进程具有以下详细信息:
找不到源 MSDPM 中事件 ID 999 的说明。 未在本地计算机上安装引发此事件的组件,或者安装已损坏。 可在本地计算机上安装或修复该组件。
如果另一台计算机上生成该事件,则必须保存该事件的显示信息。
事件中包含以下信息:
意外错误导致进程“msdpm”失败。 重启 DPM 进程“msdpm”。
下面是此事件的屏幕截图:
在此示例中,“ 问题详细信息 ”部分显示失败,错误代码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 服务是否在此计算机上运行。
事件日志中的“问题详细信息”部分应提供有关故障性质的其他信息。 通常,数据库处于脱机状态或不可联系(如果数据库位于远程服务器上),或者可能存在登录失败。 在这种情况下,你可能会在事件日志中看到类似于以下示例之一的错误:
一些常见原因包括:
登录失败
未能登录的帐户应在错误消息中清除。 否则,可以在 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 角色,如下所示:
对于 SQL Server 运行方式帐户,请在SQL Server 配置管理器中重置该帐户。
数据库/实例处于脱机状态
此时应已检查 SQL Server 服务是否正在运行。 否则,请立即进行检查。 运行 SQL Server 服务后,请尝试从 SQL Server Management Studio(SSMS)连接到实例。 如果服务器登录的帐户与安装帐户不同的帐户,则偶尔会失败。 在此方案中,请尝试以管理员身份运行 SSMS。 如果可以成功连接,则 DPMDB 处于联机状态。 如果 DPMDB 处于脱机状态,如下所示:
如果 DPMDB 处于脱机状态,请右键单击 DPMDB,选择“ 任务 ”,然后选择“ 联机”。 联机后,请验证问题是否已解决。
与网络相关的问题
如果看到错误表明存在与网络相关的问题,请通过完成以下步骤来测试从 DPM 服务器到数据库的连接:
创建 .udl 文件。 最简单的方法是使用 .udl 扩展名重命名空白.txt文件。
双击 UDL 文件,并从下拉列表中选择要测试的实例和数据库。
单击 “测试连接”。
如果此操作失败,请检查是否可以从 DPM 服务器 ping SQL Server,并验证名称解析是否正常工作。 另请验证返回的 IP 地址是否正确。 验证该地址在 SQL Server DPM 服务器 > 中是否也正确。 检查流量可能无法通过的任何其他明显原因,例如防火墙。