MECM SQL Server Firewall Port Monitor

MECM.SQLFirewall.StatusMessage.Monitor (UnitMonitor)

This monitor checks if the SQL Server port on the firewall is open.

Knowledge Base article:

Summary

This is a well-defined port used for Configuration Manager replication communication between the child and parent SQL Servers using the SQL Server Service Broker (default 4022; may be customized) or between most Configuration Manager site system roles or the provider and SQL Server (default 1433; may be customized). The SQL Server port (default 1433) is maintained by the SQL Server database administrator. When setting up the SQL Server and Configuration Manager site server for the first time, the administrator of both systems and the network administrator must open the selected port in the firewall to enable proper communications between the SQL Server and the Configuration manager site system roles or the provider. Similarly, when setting up multiple SQL Server databases, each supporting a Configuration Manager site server, the SQL Server Service Broker port (default 4022) must be opened in the firewall by the administrator of the SQL Servers and the network administrator.

Causes

Resolutions

When Configuration Manager detects that the configured SQL Server communications port (default 1433) or the SQL Server Service Broker port (default 4022)is not able to reach the intended site system database server, the system or network, administrator needs to check for firewall port or network connectivity issues. Check the hman.log in the [Configuration Manager Installation folder]\Logs for further information.

Element properties:

TargetMECM.SiteServer
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMECM.StatusMessage3State.MT
RemotableTrue
AccessibilityPublic
Alert Message
MECM SQL Server Port on Firewall Not Open
The SQL Server port on the firewall is not open on {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="MECM.SQLFirewall.StatusMessage.Monitor" Accessibility="Public" Enabled="true" Target="MECM.SiteServer" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="MECM.StatusMessage3State.MT" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="MECM.SQLFirewall.StatusMessage.Monitor.AlertMessage">
<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>
<MatchCount>3</MatchCount>
</Configuration>
</UnitMonitor>