Non-Recoverable State

Microsoft.SQLServerAppliance.PDW2.StorageInternal.ControllerStateMonitor.NonRecoverable (UnitMonitor)

This monitor detects if Disk Controller Component is in Non-Recoverable state.

Knowledge Base article:

Summary

The disk controller is reporting a non-recoverable status. This can cause a node outage.

Causes

This occurs when the disk controller has failed or is powered off.

For more details, view the component's controller_component_status property in the PDW Admin Console or query the sys.dm_pdw_component_health_status DMV.

Resolutions

Contact Microsoft Support and provide them with the alert name and details.

To diagnose this issue, Microsoft Support will require Windows administrator access to the affected PDW Host node in order to access the vendor’s integrated system user interface.

To resolve this issue, Microsoft Support will contact the vendor’s hardware support team. Depending on the problem, the vendor might require physical access to the appliance to replace the controller cables, the controller, or other hardware components.

Element properties:

TargetMicrosoft.SQLServerAppliance.PDW2.StorageInternal.Controller
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.PDW2.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
Controller has NON-RECOVERABLE status
Appliance Name: {0}
Node Name: {1}
Component: {2}
Component Details: https://{3}/Topology/NodeDetails/{4}?compId={5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServerAppliance.PDW2.StorageInternal.ControllerStateMonitor.NonRecoverable" Accessibility="Public" Enabled="true" Target="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.StorageInternal.Controller" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.PDW2.ComponentTwoStateType" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.PDW2.StorageInternal.ControllerStateMonitor.NonRecoverable.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceNetworkAddress$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeID$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ID$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>600</TimeoutSeconds>
<ConnectionString>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceID$</ConnectionString>
<NodeName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeName$</NodeName>
<GroupName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/GroupName$</GroupName>
<ComponentName>$Target/Property[Type="System!System.Entity"]/DisplayName$</ComponentName>
<MonitoredState>NonRecoverable</MonitoredState>
</Configuration>
</UnitMonitor>