Dieser Monitor führt einen Rollup für den Datensynchronisierungsstatus aller Datenbankreplikate im Verfügbarkeitsreplikat aus. Der Monitor ist fehlerhaft, wenn ein Datenbankreplikat sich nicht im erwarteten Synchronisierungsstatus befindet. Andernfalls ist der Monitor fehlerfrei.
Dieser Monitor führt einen Rollup für den Datensynchronisierungsstatus aller Datenbankreplikate im Verfügbarkeitsreplikat aus. Der Monitor ist fehlerhaft, wenn ein Datenbankreplikat sich nicht im erwarteten Synchronisierungsstatus befindet. Andernfalls ist der Monitor fehlerfrei.
Mindestens eine Verfügbarkeitsdatenbank auf diesem Verfügbarkeitsreplikat weist einen fehlerhaften Datensynchronisierungsstatus auf. Wenn es sich um ein Verfügbarkeitsreplikat für asynchrone Commits handelt, sollten alle Verfügbarkeitsdatenbanken den Status SYNCHRONIZING aufweisen. Handelt es sich um ein Verfügbarkeitsreplikat für synchrone Commits, sollten sich alle Verfügbarkeitsdatenbanken im Status SYNCHRONIZED befinden.
Verwenden Sie den Datenbankreplikatmonitor, um nach dem Datenbankreplikat mit dem fehlerhaften Datensynchronisierungsstatus zu suchen, und beheben Sie das Problem im Datenbankreplikat.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Nein |
Intervall (Sekunden) | Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an. | 900 |
Synchronisierungszeit | Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden. |
|
Timeout (Sekunden) | Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird. | 300 |
Timeout für Datenbankverbindung (Sekunden) | Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann. | 15 |
Target | Microsoft.SQLServer.Linux.AvailabilityReplica |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.AvailabilityReplica.DataSynchronizationHealth" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.AvailabilityReplica" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.AlwaysOnSystemPolicy" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<PolicyName>AlwaysOnArDataSynchronizationHealthPolicy</PolicyName>
<BagKey>2-$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityReplica"]/UniqueId$</BagKey>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>