Такая реакция на событие возникает из-за того, что агент репликации слишком занят, чтобы ответить, когда диспетчер SQL Server Enterprise Manager опрашивает агента репликации. Поэтому диспетчеру SQL Server Enterprise Manager неизвестно состояние данного агента репликации и он не может сообщить, работает ли агент репликации.
При сбое агента репликации пользователь получает следующее сообщение об ошибке:
сообщение 20536, серьезность 10: "Репликация: ошибка агента".
Существует нескольких причин занятости агента репликации. Возможно, что реплицируется большой объем данных или возникли проблемы конфигурации или репликации, вызывающие длительное выполнение процессов.
Чтобы уменьшить частоту появления данного сообщения, увеличьте порог бездействия.
Изменение данного параметра не решает проблему. Вместо этого изменяется частота опроса текущего состояния агента репликации. Для изменения значения порога бездействия сделайте следующее:
В разделе "Монитор репликации" диспетчера SQL Server Enterprise Manager щелкните правой кнопкой мыши папку агента репликации, а затем выберите команду "Обновить частоту и параметры".
Настройте в мониторе репликации число минут ожидания между опросами данного агента репликации.
Если не поступают дополнительные сообщения об ошибках, указывающих на проблему с данным агентом репликации, то сообщение "потенциально неисправный агент" является единственным информационным сообщением. При получении данного сообщения не останавливайте агент репликации, если нет дополнительных связанных сообщений об ошибках. В случае остановки агент репликации выполняет откат обрабатываемого им процесса, а затем данный процесс приходится перезапускать вместо того, чтобы ожидать его завершения.
PRB: диспетчер SQL Server Enterprise Manager сообщает, что агент репликации потенциально неисправен
Имя | Описание | Значение по умолчанию |
Вкл. | Включает или отключает рабочий процесс. | Да |
Приоритет | Определяет приоритет предупреждения. | 1 |
Серьезность | Определяет серьезность предупреждения. | 2 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 20554 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2008GroupID={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.2008.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2008GroupID={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/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/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.2008.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>