Состояние агента слияния репликации для подписки

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

Этот монитор проверяет состояние службы агента слияния репликаций для подписки. Обратите внимание, что служба Windows "Агент SQL Server" не поддерживается ни в одном из выпусков SQL Server Express. Поэтому этот монитор нельзя использовать с SQL Server Express.

Knowledge Base article:

Сводка

Агент слияния репликаций представляет собой исполняемый файл, который применяет первоначальный снимок, размещенный в таблицах базы данных, к подписчикам. Он также выполняет слияние добавочных изменений в данных, внесенных на издателе после создания первоначального снимка, и устраняет конфликты в соответствии с настроенными вами правилами или с помощью созданного вами настраиваемого арбитра конфликтов. Обратите внимание, что служба Windows "Агент SQL Server" не поддерживается ни в одном из выпусков SQL Server Express. Поэтому этот монитор не подходит для применения с SQL Server Express.

Причины

Сбои при выполнении агента слияния могут возникать вследствие любой из указанных ниже причин:

Разрешения

Чтобы устранить проблему, проверьте следующее.:

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

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

Внешний

Проблема кучи рабочего стола

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

Агент слияния репликации

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

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

Имя

Описание

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

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

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

Обычный

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

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

Ошибка

Включено

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

Да

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

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

15

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

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

Да

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

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

300

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

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

Нет

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

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

 

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

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

200

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

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

15

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Subscription
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 на Windows: агент слияния для подписки содержит ошибки.
{0}
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.SubscriptionMergeAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Subscription" 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.SubscriptionMergeAgentState.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/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</InstanceName>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/Distributor$</ConnectionString>
<MonitoringType>$Target/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<XPathName>Merge$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/Distributor$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscriber']/ConnectionString$$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/SubscriptionName$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
<CheckMachineAndInstanceName>false</CheckMachineAndInstanceName>
</Configuration>
</UnitMonitor>