SQL Server 防火墙端口监视器

Microsoft.SystemCenter2012.ConfigurationManager.SQLFirewall (UnitMonitor)

此监视器检查防火墙上的 SQL Server 端口是否处于打开状态。

Knowledge Base article:

摘要

这是一个明确定义的端口,用于通过 SQL Server Service Broker(可以自定义默认值 4022;)在子与父 SQL Server 之间、或在大多数 Configuration Manager 站点系统角色或提供程序与 SQL Server(可以自定义默认值 1433;)之间进行 Configuration Manager 复制通信。 SQL Server 端口(默认值为 1433)由 SQL Server 数据库管理员维护。 首次设置 SQL Server 和 Configuration Manager 站点服务器时,系统管理员和网络管理员都必须在防火墙中打开选定的端口,以便能够在 SQL Server 和 Configuration Manager 站点系统角色或提供程序之间正确通信。 同样,设置多个 SQL Server 数据库(每个都支持 Configuration Manager 站点服务器)时,SQL Server 管理员和网络管理员必须在防火墙中打开 SQL Server Service Broker 端口(默认值为 4022)。

原因

解决方法

当 Configuration Manager 检测到配置的 SQL Server 通信端口(默认值为 1433)或 SQL Server Service Broker 端口(默认值为 4022)无法与预期的站点系统数据库服务器、系统或网络取得联系时,管理员需要检查防火墙端口或网络连接问题。 有关详细信息,请查看 [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
防火墙上的 SQL Server 端口未打开
在 {0} 上未打开防火墙上的 SQL Server 端口。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter2012.ConfigurationManager.SQLFirewall" 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.SQLFirewall_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="UIGeneratedOpStateId041eb07d0bd74856923c30a008f26e2c" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateIdd72714adec2247029b632a96f0f3ec2f" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateIde0fec4ba618a4fdbb6eb493eb49cde08" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ComponentName>SMS_HIERARCHY_MANAGER</ComponentName>
<RuleId>8D5E5CC1-CCF5-4c66-BC8A-527C9066161B</RuleId>
<IntervalSeconds>360</IntervalSeconds>
</Configuration>
</UnitMonitor>