Состояние агента чтения очереди репликации для распространителя (совокупно для всех публикаций)

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

Этот монитор проверяет состояние служб агента чтения очереди для всех публикаций распространителя. Примечание: по умолчанию этот монитор отключен. Для его включения при необходимости используйте переопределения.

Knowledge Base article:

Сводка

Агент чтения очереди репликации представляет собой исполняемый файл, который считывает сообщения, находящиеся в очереди Microsoft SQL Server или очереди сообщений (Майкрософт), и затем применяет эти сообщения к издателю. Агент чтения очереди используется в публикациях с применением моментальных снимков и транзакций, допускающих обновление с помощью очередей.

Причины

В средстве чтения очередей могут возникать ошибки, вызванные одной из следующих причин.

Разрешения

Проблему можно устранить следующим образом.:

Дополнительные

Можно запросить данные из таблиц "msmerge_agents" и "msmerge_history" в базе данных распространения, чтобы получить более подробные сведения о сбоях агента. Таблица "Msrepl_errors" также содержит сведения обо всех сбоях агентов.

Внешний

http://technet.microsoft.com/library/ms147378.aspx

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Приоритет предупреждения

Определение приоритета оповещений.

Обычный

Серьезность предупреждения

Определяет серьезность предупреждения.

Ошибка

Включено

Включает или отключает рабочий процесс.

Нет

Предполагаемая продолжительность задания

Пороговое значение, которое используется для проверки соответствия расписаниям заданий

15

Создает предупреждения

Определяет, создается ли предупреждение рабочим процессом.

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс.

300

Показать задания с неизвестным состоянием

Учитывать задания с неизвестным состоянием в выходных данных монитора и контексте предупреждения. Это повлияет на работоспособность.

Нет

Время синхронизации

Время синхронизации

 

Время ожидания (в секундах)

Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем.

200

Время ожидания для подключения к базе данных (секунды)

Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени.

15

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.ReplicationAgentState
RemotableTrue
AccessibilityPublic
Alert Message
Репликация MSSQL на Windows: агент чтения очереди репликации содержит ошибки.
{0}
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.QueueReaderAgentState" Accessibility="Public" Enabled="false" 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.QueueReaderAgentState.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>
<NetbiosComputerName>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/NetbiosComputerName$</NetbiosComputerName>
<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>Queue reader$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>