Database Mirror Status Summary

RABurri.SQLServer.2005.Mirroring.MirrorDependsOnDBMirrorState (DependencyMonitor)

Checks if a database mirror is synchronized.

Knowledge Base article:

Summary

This monitor checks if a SQL Server DB mirror is synchronized.

Causes

Critical state when the DB mirror state is Disconnected

Warning state when the state is unsynchronized or suspended.

Resolutions

Connect to the DB Engines and correct issues that caused the mirror to fail.

Use ‘SQL Server Management Studio’ to access the mirroring page in a DB’s properties. Or use the ‘Database Mirroring Monitor’.

Additional

Monitor is implemented as a summary roll up monitor to assure raising only a single alert.

Element properties:

TargetRABurri.SQLServer.2005.Mirroring.ComponentGroup
Parent MonitorSystem.Health.AvailabilityState
AlgorithmWorstOf
Source MonitorRABurri.SQLServer.2005.MirroredDatabase.State.Monitor
RelationshipRABurri.SQLServer.2005.Mirror.ComponentGroupContainsDB
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
Database Mirror not Synchronized
Database mirror {0} is not synchronized.
Database Name: {1}

Source Code:

<DependencyMonitor ID="RABurri.SQLServer.2005.Mirroring.MirrorDependsOnDBMirrorState" Accessibility="Public" Enabled="true" Target="RABurri.SQLServer.2005.Mirroring.ComponentGroup" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="RABurri.SQLServer.2005.Mirror.ComponentGroupContainsDB" MemberMonitor="RABurri.SQLServer.2005.MirroredDatabase.State.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="RABurri.SQLServer.2005.Mirroring.MirrorDependsOnDBMirrorState_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="MirroringLibrary!RABurri.SQLServer.Mirroring.ComponentGroup"]/DatabaseName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>