信任监视读取错误

Microsoft.ActiveDirectoryFederationServices20.TrustManagementTrustMonitoringPolicyStoreErrorMonitor (UnitMonitor)

Knowledge Base article:

摘要

在计划的信任监视间隔期间尝试读取存储在 AD FS 配置数据库中的数据时出错。 此错误将中止信任监视,直到下一信任监视周期开始。

AD FS 2.0 信任监视时间间隔的默认设置为 1 天。 如果在 5 天内事件 ID 164 至少出现 4 次,则此监视器将生成黄色状态。 如果在一天半内没有再次出现相同问题,则此监视器的运行状况状态会更改回绿色状态,并且此监视器生成的警报将自动解决。

原因

以下是出现此事件的可能原因:

解决方法

确认 AD FS 配置数据库可以访问,并且 AD FS 服务用户帐户的标识具有对数据库执行写入操作所必需的权限。 有关详细信息,请参阅 AD FS 2.0 疑难解答指南 (AD FS 2.0 troubleshooting guide) 中的“确认联合身份验证服务可以连接到 AD FS 配置数据库”(Verify that the Federation Service can connect to the AD FS configuration database) 一节。

检查数据库服务的状态后,重试对 AD FS 配置数据库的读取访问。 要设置信任监视间隔,请在使用用于 AD FS 2.0 的 Windows PowerShell 时使用 Set-ADFSProperties cmdlet 的 MonitoringInterval 参数。

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices20.TrustManagement
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.RepeatedEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
信任监视读取错误
尝试读取存储在 AD FS 配置数据库中的数据期间发生错误。 信任监视已临时中止,但会根据为所有信任设置的监视间隔值自动进行另一次尝试。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices20.TrustManagementTrustMonitoringPolicyStoreErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices20.TrustManagement" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.RepeatedEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices20.TrustManagementTrustMonitoringPolicyStoreErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<RepeatedComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</RepeatedComputerName>
<RepeatedLogName>$Target/Host/Property[Type="Microsoft.ActiveDirectoryFederationServices20.FederationServer"]/ADFSEventLog$</RepeatedLogName>
<RepeatedExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">164</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)|(^AD FS 2.0$)</Pattern>
</RegExExpression>
</Expression>
</And>
</RepeatedExpression>
<Consolidator>
<ConsolidationProperties/>
<TimeControl>
<WithinTimeSchedule>
<Interval>432000</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>4</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>
</CountingCondition>
</Consolidator>
<TimerWaitInSeconds>129600</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>