Non-Critical State

Microsoft.SQLServerAppliance.APS.ServerProcessing.MemoryStateMonitor.NonCritical (UnitMonitor)

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

Knowledge Base article:

Summary

A memory component is reporting a non-critical warning. This could lead to a memory error and degraded performance.

Causes

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.

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 APS 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.APS.ServerProcessing.Memory
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.APS.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
A memory component has a NON-CRITICAL status
Appliance Name: {0}
Node Name: {1}
Component: {2}
Component Details: https://{3}/Fabric/Health/NodeDetails/{4}?compId={5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServerAppliance.APS.ServerProcessing.MemoryStateMonitor.NonCritical" Accessibility="Public" Enabled="true" Target="APSLibrary!Microsoft.SQLServerAppliance.APS.ServerProcessing.Memory" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.APS.ComponentTwoStateType" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.APS.ServerProcessing.MemoryStateMonitor.NonCritical.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceNetworkAddress$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeID$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.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="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/ApplianceTdsAddress$</ConnectionString>
<NodeName>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/NodeName$</NodeName>
<GroupName>$Target/Property[Type="APSLibrary!Microsoft.SQLServerAppliance.APS.Component"]/GroupName$</GroupName>
<ComponentName>$Target/Property[Type="System!System.Entity"]/DisplayName$</ComponentName>
<MonitoredState>NonCritical</MonitoredState>
</Configuration>
</UnitMonitor>