Status des Replikationsmerge-Agents für den Verteiler (aggregiert für alle Abonnements)

Microsoft.SQLServer.Replication.Windows.Monitor.MergeAgentState (UnitMonitor)

Dieser Monitor überprüft den Status der Merge-Agents für alle Abonnements für den Verteiler.

Knowledge Base article:

Zusammenfassung

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.

Ursachen

Ein Fehler des Merge-Agents kann eine der folgenden Ursachen besitzen:

Lösungen

Dieses Problem kann behoben werden, indem Folgendes sichergestellt wird:

Zusätzlich

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.

Extern

Desktopheapproblem

http://support.microsoft.com/kb/949296

Replikationsmerge-Agent

http://msdn.microsoft.com/library/ms147839.aspx

Überschreibbare Parameter

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

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.ReplicationAgentState
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL unter Windows-Replikation: Fehler bei Mergereplikations-Agent im Verteiler
{0}
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<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>