数据库证书有效性监视器

Microsoft.SystemCenter2012.ConfigurationManager.Database.SQLMachineCert (UnitMonitor)

此监视器检查站点数据库服务器上的有效数据库证书。

Knowledge Base article:

摘要

数据库计算机证书用于提供验证,以及对大多数站点系统角色或提供程序与数据库之间的通信进行加密。 SQL Server 使用它直接调用为该站点定义的数据库实例。 如果证书有效,则会使用此证书对站点系统角色或提供程序与 SQL Server 之间的普通验证和加密的通信进行加密。 但是,一旦证书无效,则不允许在站点系统角色或提供程序与 SQL Server 之间进行通信。 数据库计算机证书是在安装 Configuration Manager 站点服务器过程中自动创建的(如果还不存在计算机证书),并且它将在初始创建之后 30 年后到期。 数据库计算机证书可能已经存在,因为它最初是通过公司策略要求的公司 PKI 创建的。

原因

在以下其中一种情况下数据库计算机证书会变得无效:

解决方法

无论初始的无效证书是通过 PKI 还是由 Configuration Manager 创建,Configuration Manager 都会重新创建自签名的证书来自动更正这种情况。 新创建的自签名证书的到期日期为创建日期之后的 30 年后。 有关详细信息,请查看 [Configuration Manager 安装文件夹]\Logs 中的 hman.log。

Element properties:

TargetMicrosoft.SystemCenter2012.ConfigurationManager.SiteServer
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter2012.ConfigurationManager.StatusMessage3StateMonitor
RemotableTrue
AccessibilityPublic
Alert Message
无有效证书的站点数据库服务器
计算机 {0} 上的数据库证书无效。
RunAsDefault
CommentSIV:GEN0201

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter2012.ConfigurationManager.Database.SQLMachineCert" Comment="SIV:GEN0201" Accessibility="Public" Enabled="onEssentialMonitoring" Target="SCCM!Microsoft.SystemCenter2012.ConfigurationManager.SiteServer" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter2012.ConfigurationManager.StatusMessage3StateMonitor" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter2012.ConfigurationManager.Database.SQLMachineCert_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId538fea5689a64ed7b6fa6bd2a8203527" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId0ab3932367314e548f1921661f57577d" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId8aa931652b26481680f2c41cf94f4ea5" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ComponentName>SMS_HIERARCHY_MANAGER</ComponentName>
<RuleId>FBCA00DB-7C9D-4d6d-9F84-07C605B31191</RuleId>
<IntervalSeconds>360</IntervalSeconds>
</Configuration>
</UnitMonitor>