Non-Recoverable State

Microsoft.SQLServerAppliance.PDW2.ServerProcessing.MemoryStateMonitor.NonRecoverable (UnitMonitor)

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

Knowledge Base article:

Summary

The memory component is in a non-recoverable state. A DIMM is not available, which can cause a degraded state.

Causes

A DIMM is not available. This occurs when the value of the ECC error for the physical memory has passed the nonrecoverable threshold.

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

The memory_error_count property provides the number of errors encountered by this memory device. Some vendors do not provide the memory_error_count property value.

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 memory diagnostic tool.

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 memory.

Element properties:

TargetMicrosoft.SQLServerAppliance.PDW2.ServerProcessing.Memory
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.PDW2.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
A memory component has a 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.ServerProcessing.MemoryStateMonitor.NonRecoverable" Accessibility="Public" Enabled="true" Target="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.ServerProcessing.Memory" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.PDW2.ComponentTwoStateType" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.PDW2.ServerProcessing.MemoryStateMonitor.NonRecoverable.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</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="Warning"/>
</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>