Dieses Verhalten tritt auf, weil der Replikations-Agent zu ausgelastet ist, um zu antworten, wenn SQL Server Enterprise Manager den Replikations-Agent abruft. Daher kennt SQL Server Enterprise Manager den Status des Replikations-Agents nicht und kann nicht berichten, ob der Replikations-Agent funktionsfähig ist oder nicht.
Dieses Verhalten tritt auf, weil der Replikations-Agent zu ausgelastet ist, um zu antworten, wenn SQL Server Enterprise Manager den Replikations-Agent abruft. Daher kennt SQL Server Enterprise Manager den Status des Replikations-Agents nicht und kann nicht berichten, ob der Replikations-Agent funktionsfähig ist oder nicht.
Bei einem Fehler im Replikations-Agent wird die folgende Fehlermeldung angezeigt:
Meldung 20536, Schweregrad 10 "Replikation: Fehler bei Agent".
Es gibt zahlreiche Gründe für eine starke Beanspruchung des Replikations-Agents: Möglicherweise werden große Datenmengen repliziert, oder bestimmte Aspekte der Konfiguration oder des Replikationsentwurfs bewirken, dass Prozesse sehr viel Zeit benötigen.
Erhöhen Sie die Inaktivitätsschwelle, um die Häufigkeit, mit der diese Meldung angezeigt wird, zu reduzieren.
Durch eine Änderung dieses Wertes wird das Problem nicht behoben. Dieser Wert legt lediglich fest, wie oft der aktuelle Status des Replikations-Agents abgerufen wird. So ändern Sie den Inaktivitätsschwellenwert:
Klicken Sie in SQL Server Enterprise Manager unter "Replikationsmonitor" mit der rechten Maustaste auf den Ordner des Replikations-Agents, und klicken Sie dann auf "Aktualisierungsrate und Einstellungen".
Legen Sie fest, wie lange (in Minuten) der Replikationsmonitor nach einem Abruf warten soll, bevor er den Status des Replikations-Agents das nächste Mal abruft.
Sofern Sie keine weitere Fehlermeldung erhalten, die auf ein Problem mit dem Replikations-Agent hinweist, dient die Meldung "Agent ist fehlerverdächtig" nur zur Information. Wenn diese Meldung ausgegeben wird, sollten Sie den Replikations-Agent nicht beenden, falls keine weiteren verwandten Fehler ausgegeben werden. Wenn Sie den Replikations-Agent beenden, führt er einen Rollback für den aktuellen Prozess aus, sodass Sie den Prozess erneut starten müssen. Warten Sie daher, bis der Prozess beendet wurde.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Intervall (Sekunden) | Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an. | 300 |
Priorität | Definiert die Warnungspriorität. | 1 |
Severity | Defines Alert Severity. | 2 |
Synchronization Time | Synchronization Time |
|
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 200 |
Timeout for database connection (seconds) | The workflow will fail and register an event, if it cannot access the database during the specified period. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFilteredAgent | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFilteredAgent">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>20554</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>