I recently ran into the following issue:
The SQL Server Management Pack has several monitors to monitor various SQL Services:
However, on a SQL Cluster, if one of these services is taken offline:
We don't get an alert from SQL (we do get a cluster alert saying that a cluster is offline), and the monitor stays healthy:
This happens because:
To fix this, you simply need to set the "Alert only if startup type is automatic" override to "False" for the Clustered SQL Instances
Now, the health state is changed when the service is down and we are properly alerted:
NOTES:
Before change (not working): <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName><ServiceName>Messenger</ServiceName></Configuration></UnitMonitor> After change (working): <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName><ServiceName>Messenger</ServiceName><CheckStartupType>true</CheckStartupType></Configuration></UnitMonitor>
Before change (not working):
<ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName><ServiceName>Messenger</ServiceName></Configuration></UnitMonitor>
After change (working):
<ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName><ServiceName>Messenger</ServiceName><CheckStartupType>true</CheckStartupType></Configuration></UnitMonitor>