Ce comportement se présente parce que l'agent de réplication est trop occupé pour répondre lorsque SQL Server Enterprise Manager l'interroge. SQL Server Enterprise Manager ne connaît donc pas l'état de l'agent de réplication et ne peut pas établir si ce dernier est ou non en cours d'exécution.
Si l'Agent de réplication échoue, vous recevez le message d'erreur suivant :
Message 20536 gravité 10 « Réplication : échec de l'Agent ».
De nombreuses raisons peuvent expliquer que l'agent de réplication soit occupé : il peut y avoir une grande quantité de données en cours de réplication, ou il peut y avoir des problèmes de conception de la configuration ou de la réplication aboutissant à des processus très longs à s'exécuter.
Pour réduire la fréquence du message, augmentez le seuil d'inactivité.
La modification de cette valeur ne résout rien. Au lieu de cela, elle change la fréquence d'interrogation de l'Agent de réplication concernant son état actuel. Pour changer la valeur du seuil d'inactivité :
Dans SQL Server Enterprise Manager, sous Moniteur de réplication, cliquez avec le bouton droit sur le dossier de l'Agent de réplication, puis cliquez sur « Actualiser les taux et les paramètres ».
Définissez la valeur sur le nombre de minutes que le Moniteur de réplication doit attendre avant d'interroger l'Agent de réplication.
À moins que vous ne receviez d'autres messages d'erreur signalant un problème avec l'Agent de réplication, le message indiquant que l'Agent est suspect n'est qu'un message d'information. Lorsque vous recevez ce message, n'arrêtez pas l'Agent de réplication s'il n'existe aucune autre erreur associée. Si vous arrêtez l'agent de réplication, le processus engagé est restauré et doit alors être redémarré. Attendez plutôt la fin du processus.
PRB : SQL Server Enterprise Manager indique que l'agent de réplication est suspect
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Priorité | Définit la priorité de l'alerte. | 1 |
Gravité | Définit la gravité de l'alerte. | 2 |
Target | Microsoft.SQLServer.2012.Agent | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 20554 | ||
Event Source | $Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2012ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2012.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.Agent" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>20554</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2012.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>