Die Last von Replikations-Agents (Verteilung und Merge) auf dem Abonnenten. Beachten Sie, dass der SQL Server-Agent für SQL Server Express-Editionen nicht verfügbar ist. Daher ist dieser Monitor für Instanzen dieser Editionen deaktiviert.
Dieser Monitor berechnet die Gesamtausführungszeit jedes Replikations-Agents (Verteilung, Merge) auf einem Abonnenten für den durch den Schwellenwert definierten Zeitraum. Wenn die Gesamtausführungszeit eines Agents den definierten Schwellenwert überschreitet, wird eine Benachrichtigung im folgenden Format ausgelöst:
Der Abonnent (Name: "{0}", Server: "{1}") hat {2} % Auslastung ermittelt.
Beachten Sie, dass der SQL Server-Agent für SQL Server Express-Editionen nicht verfügbar ist. Daher ist dieser Monitor für Instanzen dieser Editionen deaktiviert.
Fehler des SQL Server-Agents und Auftragswiederholungsversuche des Replikations-Agents.
Hohes Befehlsvolumen und umfangreiche Transaktionen.
Langsame Ausführungsleistung des Agent-Auftrags.
Langsames Netzwerk zwischen Servern, die an der Replikationstopologie teilnehmen.
Öffnen Sie den Auftragsverlauf des Wiederholungsversuch-Agents für jede Fehlermeldung, und untersuchen und beheben Sie dann die Fehler entsprechend.
Führen Sie "sp_who2" aus, wenn der Auftrag ausgeführt wird, und überprüfen Sie, ob er durch eine andere Sitzung blockiert wird. Wenn er blockiert wird, lösen Sie die Blockierung auf, oder warten Sie, bis die andere Sitzung abgeschlossen ist.
Stellen Sie sicher, dass die Netzwerklatenz zwischen dem Verteiler und dem Abonnenten (Verteilungs-Agent) nicht zu hoch ist.
Identifizieren und untersuchen Sie alle Abfragen mit langer Ausführungszeit.
Stellen Sie sicher, dass die Statistiken aktuell sind, indem Sie "sp_updatestats" für die abonnierenden Datenbanken ausführen.
( http://msdn.microsoft.com/library/ms173804.aspx)
Stellen Sie sicher, dass die Indizes für die abonnierende Datenbank nicht stark fragmentiert sind.
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Fehler |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Fehlerschwellenwert | Fehlerschwellenwert | 4 |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Ja |
Intervall (Sekunden) | Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an. | 300 |
Messzeitraum (Stunden) | Für Messung verwendeter Zeitraum (Stunden) | 24 |
Synchronisierungszeit | Synchronisierungszeit |
|
Timeout (Sekunden) | Gibt an, wie lange der Workflow ausgeführt werden kann, bevor er geschlossen und als fehlerhaft markiert wird. | 200 |
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 |
Warnungsschwellenwert | Warnungsschwellenwert | 3 |
Target | Microsoft.SQLServer.Replication.Windows.Subscriber | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Replication.Windows.MonitorType.DistributorAgentsLoad | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Core.RunAs.Monitoring |
<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.SubscriberAgentsLoad" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Subscriber" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.DistributorAgentsLoad" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.SubscriberAgentsLoad.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/ConnectionString$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='LoadHours']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='Message']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<WarningThreshold>3</WarningThreshold>
<ErrorThreshold>4</ErrorThreshold>
<LastHours>24</LastHours>
<CategoryList>Distribution, Merge</CategoryList>
<ExcludeCategoryList/>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
</Configuration>
</UnitMonitor>