DataProtection 运行状况设置疑难解答

适用于:Exchange Server 2013

DataProtection Health 集监视数据库可用性组中数据库的冗余, (DAG) 。

如果收到一条警报,指出 DataProtection 运行不正常,则表示存在可能影响复制或群集组件并可能阻止访问 Exchange 数据库的问题。

说明

使用以下探测和监视器监视 DataProtection Health 服务。

探针 运行状况设置 相关性 关联监视器
ClusterEndpointProbe DataProtection Active Directory ClusterEndpointMonitor
ClusterGroupProbe DataProtection Active Directory ClusterGroupMonitor
ClusterNetworkProbe DataProtection Active Directory ClusterNetworkMonitor
ClusterServiceCrashProbe DataProtection Active Directory ClusterServiceCrashMonitor
ServerOneCopyProbe DataProtection 活动控制器 ServerOneCopyMonitor
ServerOneCopyInternalMonitorProbe DataProtection Active Directory ServerOneCopyInternalMonitorMonitor
ServiceHealthMSExchangeReplEndpointProbe DataProtection Active Directory ServiceHealthMSExchangeReplEndpointMonitor
ServiceHealthMSExchangeReplCrashProbe DataProtection Active Directory ServiceHealthMSExchangeReplCrashMonitor
ServerSiteFailureProbe DataProtection Active Directory ServerSiteFailureMonitor
StorageApparentControllerIssuesProbe DataProtection Active Directory StorageApparentControllerIssuesMonitor
DatabaseHealthTooManyMountedDatabaseProbe DataProtection Active Directory DatabaseHealthTooManyMountedDatabaseMonitor

有关探测和监视器的详细信息,请参阅 服务器运行状况和性能

用户操作

发出警报后服务可能会恢复。 因此,当您接收到指示运行状况设置不正常的警报时,首先要验证该问题是否仍然存在。 若问题确实存在,执行以下部分介绍的相应恢复操作。

验证问题是否仍然存在

  1. 识别警报中的运行状况设置名称和服务器名称。

  2. 邮件详细信息提供了有关确切警报原因的信息。 大部分情况下,邮件详细信息会提供充足的故障排除信息,用于识别根本原因。 如果邮件详细信息不明确,请执行以下操作:

    1. 打开 Exchange 命令行管理程序,然后运行以下命令,检索发出警报的运行状况集的详细信息:

      Get-ServerHealth <server name> | ?{$_.HealthSetName -eq "<health set name>"}
      

      例如,要检索有关 server1.contoso.com 的 Autodiscover.Protocol 运行状况设置的详细信息,请运行以下命令:

      Get-ServerHealth server1.contoso.com | ?{$_.HealthSetName -eq "Autodiscover.Protocol"}
      

      检查命令输出,以确定报告了错误的监视器。 发出警报Unhealthy的监视器的 AlertValue 值为 。

    2. 确定监视器所基于的探测。 请注意,大多数探测具有相同的名称前缀。 通过使用前面的示例,搜索“ClusterNetwork*”:

      Get-MonitoringItemIdentity -Identity DataProtection -Server server1.contoso.com | ?{$_.Name -like "ClusterNet ItemType work*"}
      

      返回的结果应如下所示。

      ItemType HealthSetName 名称 TargetResource
      Probe DataProtection ClusterNetworkProbe MSExchangeRepl
    3. 为处于不正常状态的监视器重新运行关联的探测。 请参阅Explanation部分中的表格,找到关联探测器。 为此,请运行下列命令:

      Invoke-MonitoringProbe <health set name>\<probe name> -Server <server name> | Format-List
      

      例如,假定故障监视器为 AutodiscoverSelfTestMonitor。 与该监视器关联的探测器为 AutodiscoverSelfTestProbe。 要在 server1.contoso.com 上运行该探测器,请运行以下命令:

      Invoke-MonitoringProbe Autodiscover.Protocol\AutodiscoverSelfTestProbe -Server server1.contoso.com | Format-List
      
    4. 在命令输出中,检查探测器的“结果”值。 如果值为“成功”,则该问题是暂时性错误,且不再存在。 否则,请参阅以下部分列出的恢复步骤。

故障排除步骤

从运行状况设置收到一条警报时,电子邮件包含以下信息:

  • 发送警报的服务器名称

  • 警报发出的时间和日期

  • 所用的身份验证机制,以及凭据信息

  • 上一个错误的全部异常跟踪,包括诊断数据和特定 HTTP 头信息

    您可以使用全部异常跟踪中的信息来帮助解决问题。 探测生成的异常包含描述探测失败原因的失败原因。

对于高可用性环境中发生的大多数问题,可以运行 Test-ReplicationHealth cmdlet 来帮助排查群集/网络/ActiveManager/服务问题。 其他 HealthSet/组件将具有不同的 Test-* cmdlet。

例如:

Test-ReplicationHealth <ServerName>

返回的结果将类似于下表:

服务器 支票 结果
<ServerName> ClusterService Passed
<ServerName> ReplayService Passed
<ServerName> ActiveManager Passed
<ServerName> TasksRpcListener Passed
<ServerName> TcpListener Passed
<ServerName> ServerLocatorService Passed
<ServerName> DagMembersUp Passed
<ServerName> ClusterNetwork Passed
<ServerName> QuorumGroup Passed
<ServerName> FileShareQuorum Passed
<ServerName> DatabaseRedundancyCheck Passed
<ServerName> DatabaseAvailabilityCheck Passed
<ServerName> DBCopySuspended Passed
<ServerName> DBCopyFailed 通过
<ServerName> DBInitializing Passed
<ServerName> DBDisconnected Passed
<ServerName> DBLogCopyKeepingUp Passed
<ServerName> DBLogReplayKeepingUp Passed

如果所有组件都显示在“结果”列中,请尝试重新运行关联的探测,如验证问题仍然存在部分的步骤 2c 所示。

如果问题仍存在,请重新启动服务器。 服务器重新启动后,按照Verifying the issue still exists部分的步骤 2c 所示,重新运行关联探测器。

如果探测器仍然无法运行,可能需要寻求帮助来解决这个问题。 若要解决此问题,请与 Microsoft 技术支持人员联系。 若要联系Microsoft 支持部门专业人员,请访问业务支持,然后选择“服务器>Exchange Server”。 由于你的组织可能已制定了直接与 Microsoft 产品支持服务联系的特定流程,因此,请务必先查看你组织的准则。

详细信息

Exchange 2013 最近更新

Exchange PowerShell