MECM SQL Server Port Monitor

MECM.SQLPort.StatusMessage.Monitor (UnitMonitor)

This monitor checks that the SQL Server port is correct.

Knowledge Base article:

Summary

This is a well-defined port, used for communication between most Configuration Manager site system roles and the provider and the SQL Server (default port 1433; may be customized). Also, a well-defined port is used for communication between site system database servers through the SQL Server Service Broker (default port 4022; may be customized). The SQL Server communication port (default 1433) is maintained using the SQL Server Configuration Manager, which configures the SQL Server Network Configuration for the TCP/IP protocol. The SQL Server Service Broker port (default 4022) is configured during the setup process for Configuration Manager. When setting up the SQL Server for the first time, the SQL Server database administrator performing the setup creates a particular database instance for Configuration Manager, and must choose the port on which communication occurs for that database instance.

The Configuration Manager administrator installing the site server must have local administrative permissions on the SQL Server machine to be used for the site being setup. This enables the setup program to automatically learn the correct port (default 1433) to use for configuring for setup from the named instance and set the correct port for SQL Server Service Broker (default 4022).

Causes

A firewall rule on the network is preventing communication using the configured ports.

Resolutions

When Configuration Manager detects that the SQL Server port (default 1433) configured is not able to be reached, it tries to connect to the registry on the SQL Server machine containing its database, and then changes the Configuration Manager settings to mirror the newly configured port on the SQL Server. When Configuration Manager detects that the SQL Server Service Broker port (default 4022) configured is not able to be reached, it tries to connect to the SQL Server machine containing its database and changes the SQL Server Service Broker port back to its original configuration. However, if the Configuration Manager site server is unable to contact the SQL Server system, the 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 Not Correct.
The SQL Server Port configuration on Site Server {0} is not correct.
RunAsDefault

Source Code:

<UnitMonitor ID="MECM.SQLPort.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.SQLPort.StatusMessage.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="MECM.Server"]/SiteCode$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId093d4f68de054ab0859735e23534486c" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateIda22bfe352ed3451faf7bbc4bd0759f80" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateIdb5ba7ce5ed71472da07bf84000128843" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ComponentName>SMS_HIERARCHY_MANAGER</ComponentName>
<RuleId>B1B669B9-6C11-4b8e-A09A-4E515D20F4F6</RuleId>
<IntervalSeconds>360</IntervalSeconds>
<MatchCount>3</MatchCount>
</Configuration>
</UnitMonitor>