Состояние агента SQL Server для подписчика

Microsoft.SQLServer.2014.Replication.Monitor.SubscriberAvailabilityMonitor (UnitMonitor)

Данный монитор проверяет, выполняется ли на подписчике агент SQL Server.

Knowledge Base article:

Сводка

Этот монитор подключается к подписчику репликации и проверяет, работает ли служба агента SQL Server. Служба агента SQL Server автоматически устанавливается при установке SQL Server и отвечает за запуск агентов репликации.

Причины

Служба агента SQL Server могла быть остановлена вручную системным администратором Windows или в результате сбоя агента. Проверьте журнал событий приложений Windows на предмет причин непредвиденной остановки службы агента.

Если свойство режима запуска службы SQL Server задано как ручное, а не автоматическое, служба не будет автоматически перезапускаться после перезагрузки сервера.

Решения неисправностей

Запустите службу агента SQL Server в рамках служб Windows, диспетчера SQL Server или SQL Server Management Studio. Если задан ручной режим запуска агента, попробуйте изменить его на автоматический.

Запуск, остановка и приостановка службы агента SQL Server http://technet.microsoft.com/library/ms190695.aspx

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

Агенты распространения, работающие на подписчике, называются агентами извлечения. Они могут работать постоянно или по расписанию. Если они работают по интервалам, служба агента SQL, работающая непрерывно, запланирует запуск агента распространения. Если служба агента SQL остановлена, то агенты извлечения распространения не будут запускаться по расписанию, что приведет к запаздыванию данных.

Внешний

Ссылка для просмотра журнала ошибок агента SQL Server: https://msdn.microsoft.com/library/ms175488.aspx

В этом разделе описано, как настроить автоматический перезапуск агента Microsoft SQL Server, если он завершит работу непредвиденным образом, в SQL Server 2014. https://msdn.microsoft.com/library/ms178130.aspx

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

Имя

Описание

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

Включено

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

Да

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

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

Да

Element properties:

TargetMicrosoft.SQLServer.2014.Replication.Subscriber
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.Replication.MonitorType.CheckReplicationServiceState
RemotableTrue
AccessibilityPublic
Alert Message
Репликация MSSQL2014: служба агента SQL Server в Windows на подписчике остановлена.
Служба агента SQL Server в Windows остановлена в экземпляре SQL Server {1} на компьютере {0}.
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.SubscriberAvailabilityMonitor" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2014.Replication.Subscriber" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Replication.MonitorType.CheckReplicationServiceState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.SubscriberAvailabilityMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscriber"]/ConnectionString$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="RunningManual" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscriber"]/ServiceName$</ServiceName>
</Configuration>
</UnitMonitor>