Dieser Monitor überprüft den Status der Merge-Agents für alle Abonnements für den Verteiler.
Der Replikationsmerge-Agent ist eine ausführbare Hilfsprogrammdatei, die die anfängliche Momentaufnahme, die in den Datenbanktabellen gespeichert ist, auf die Abonnenten anwendet. Er führt außerdem inkrementelle Datenänderungen zusammen, die beim Verleger aufgetreten sind, nachdem die anfängliche Momentaufnahme erstellt wurde, und bereinigt Konflikte gemäß den von Ihnen konfigurierten Regeln oder mithilfe eines von Ihnen erstellten benutzerdefinierten Konfliktlösers.
Ein Fehler des Merge-Agents kann eine der folgenden Ursachen besitzen:
Der Merge-Agent kann keine Verbindung mit dem Verleger herstellen.
Der Merge-Agent kann keine Verbindung mit dem Abonnenten herstellen.
Die Mergereplikations-Metadaten wurden auf dem Abonnenten gelöscht. Dies kann passieren, wenn der Merge-Agent nicht innerhalb der definierten Beibehaltungsdauer synchronisiert wurde.
Das Abonnement ist als abgelaufen markiert.
Abfragetimeoutfehler
Netzwerkverbindungsfehler
Der Merge-Agent kann aufgrund von Ausschöpfung des Speichers für den nicht interaktiven Desktopheap nicht gestartet werden.
An die ausführbare Agent-Datei wurden falsche Parameter übergeben.
Dieses Problem kann behoben werden, indem Folgendes sichergestellt wird:
Der Merge-Agent kann eine Verbindung mit dem Verleger und dem Abonnenten herstellen. Stellen Sie sicher, dass das Konto des Merge-Agents der festen Rolle "db_owner" für die Verleger- und die Abonnentendatenbanken hinzugefügt wird.
Wenn das Abonnement zum Ablauf markiert ist, initialisieren Sie das Abonnement erneut.
Es bestehen keine Netzwerkverbindungsprobleme zwischen den Servern, wenn der Merge-Agent ausgeführt wird.
Wenn die Abonnementmetadaten auf dem Verleger gelöscht wurden, löschen Sie das Abonnement, und erstellen Sie es erneut.
Dies kann der Fall sein, wenn der Merge-Agent nicht innerhalb der Beibehaltungsdauer synchronisiert wurde.
Stellen Sie sicher, dass die richtigen Parameter an den Merge-Agent übergeben werden.
Fragen Sie die msmerge_agents- und msmerge_history-Tabellen für die Verteilungsdatenbank ab, um weitere Informationen zum Agent-Fehler zu erhalten. Die Msrepl_errors-Tabelle enthält ebenfalls Informationen zu Agent-Fehlern.
Desktopheapproblem
http://support.microsoft.com/kb/949296
Replikationsmerge-Agent
http://msdn.microsoft.com/library/ms147839.aspx
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Fehler |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Geschätzte Auftragsdauer | Schwellenwert, der zum Überprüfen der Kompatibilität des Auftragszeitplans verwendet wird. | 15 |
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 |
Aufträge mit unbekanntem Status anzeigen | Aufträge mit unbekanntem Status in die Monitorausgabe und den Warnungskontext einschließen. Wirkt sich auf die Integrität aus. | Nein |
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 |
Target | Microsoft.SQLServer.Replication.Windows.Distributor | ||
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.ReplicationAgentState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Core.RunAs.Monitoring |
<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.MergeAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Distributor" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.ReplicationAgentState" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.MergeAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" 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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericDistributor']/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<XPathName>Merge$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericDistributor']/ConnectionString$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
<CheckMachineAndInstanceName>true</CheckMachineAndInstanceName>
</Configuration>
</UnitMonitor>