Critical State

Microsoft.SQLServerAppliance.PDW.Network.ConnectivityStateMonitor.Critical (UnitMonitor)

This monitor detects if Connectivity Component is in Critical state.

Knowledge Base article:

Summary

The network adapter connection is reporting a critical state that typically means at least one port has failed. If both ports fail on this adapter then the cluster service will trigger a failover event for the node.

Causes

This is caused because of one of the following reasons:

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

Resolutions

To diagnose this issue:

1) Use the sys.dm_pdw_errors and sys.dm_pdw_os_event_logs DMVs to check for relevant failures.

2) Verify if this caused a port failure. To do this, use a Windows administrator account to login to the Management node. Open a command window and ping the IP address for the affected network adapter.

3) If you cannot ping the network adapter, the port may have failed. Access the physical appliance to check the cable connections. Check the network switch logs for this port to determine if the switch has issues.

To resolve this issue, contact Microsoft support and provide them with the information you have gathered. Microsoft Support will help you to understand the failure and help you to bring the network adapter back online or into a healthy state.

Element properties:

TargetMicrosoft.SQLServerAppliance.PDW.Network.Connectivity
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.PDW.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
Network connection has CRITICAL 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.PDW.Network.ConnectivityStateMonitor.Critical" Accessibility="Public" Enabled="true" Target="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Network.Connectivity" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.PDW.ComponentTwoStateType" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.PDW.Network.ConnectivityStateMonitor.Critical.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/ApplianceID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/NodeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/ApplianceNetworkAddress$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/NodeID$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.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.PDW.Component"]/ApplianceID$</ConnectionString>
<NodeName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/NodeName$</NodeName>
<GroupName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW.Component"]/GroupName$</GroupName>
<ComponentName>$Target/Property[Type="System!System.Entity"]/DisplayName$</ComponentName>
<MonitoredState>Critical</MonitoredState>
</Configuration>
</UnitMonitor>