HealthService SID Enabled Monitor

Microsoft.SQLServer.RunAs.2014.Addendum.MissingSidTypeRegistry.Monitor (UnitMonitor)

Knowledge Base article:

Summary

This monitor checks the registry for the HealthService to see if it is configured to enable a service SID.

The monitor targets the SQL seed class, and will change to an unhealthy state when the HealthService is not enabled for service SID.

Configuration

The monitor inspects HKLMSYSTEM\CurrentControlSet\Services\HealthService\ServiceSidType and expect it to be present and have a value of "1"

Resolutions

Run the task "Enable HealthService SidState and Restart HealthService Task" to enable the HealthService SID, or enable the optional recovery task to automate this process.

External

https://blogs.technet.microsoft.com/kevinholman/2016/08/25/sql-mp-run-as-accounts-no-longer-required-2/

Element properties:

TargetMicrosoft.SQLServer.2014.Seed
Parent MonitorSystem.Health.ConfigurationState
CategoryCustom
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.RunAs.2014.Addendum.MissingSidTypeRegistry.MonitorType
RemotableFalse
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.RunAs.2014.Addendum.MissingSidTypeRegistry.Monitor" Accessibility="Public" Enabled="true" Target="SQL2014Disc!Microsoft.SQLServer.2014.Seed" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="false" Priority="Normal" TypeID="Microsoft.SQLServer.RunAs.2014.Addendum.MissingSidTypeRegistry.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="RegValueBad" HealthState="Warning"/>
<OperationalState ID="OK" MonitorTypeStateID="RegValueGood" HealthState="Success"/>
</OperationalStates>
<Configuration/>
</UnitMonitor>