Estado del Agente SQL Server para el distribuidor

Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState (UnitMonitor)

Este monitor comprueba si el Agente SQL Server se está ejecutando en el distribuidor.

Knowledge Base article:

Resumen

El servicio Agente SQL Server se instala automáticamente durante la instalación de SQL Server. La replicación usa este servicio de Windows para iniciar y detener los trabajos de Agente SQL Server de replicación responsables del movimiento de datos.

Causas

Es posible que el servicio de Agente SQL Server haya sido detenido manualmente o como resultado de un error del agente. Examine el registro de eventos de aplicación de Windows para detectar posibles causas de una detención inesperada del servicio de Agente.

Si la propiedad "Modo de inicio" del agente está establecida en "Manual" en lugar de en "Automático", el servicio del Agente SQL Server no se reiniciará automáticamente tras reiniciar el servidor.

Resoluciones

Inicie el servicio Agente SQL Server en Servicios de Windows, Administrador de configuración de SQL Server o a través de SQL Server Management Studio. Si el "Modo de inicio" del agente se encuentra establecido en "Manual", considere cambiarlo a "Automático".

Iniciar, detener o pausar el servicio Agente SQL Server http://technet.microsoft.com/library/ms190695.aspx

Adicional

Utilice el siguiente vínculo para ver el registro de errores del Agente SQL Server: http://msdn.microsoft.com/library/ms175488.aspx

En este tema se describe cómo configurar el Agente Microsoft SQL Server para reiniciarse automáticamente si se detiene inesperadamente en SQL Server on Windows: https://msdn.microsoft.com/library/ms178130.aspx

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de la alerta

Define la prioridad de alerta.

Normal

Gravedad de la alerta

Define la gravedad de alerta.

Error

Habilitado

Habilita o deshabilita el flujo de trabajo.

Genera alertas.

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

600

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

 

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

300

Tiempo de expiración de la conexión de base de datos (segundos)

Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL on Windows Replication: distribuidor: el servicio de Windows del Agente SQL Server se ha detenido.
El servicio de Windows del Agente SQL Server se ha detenido en la instancia de SQL Server {1} del equipo {0} para el distribuidor
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="RunningManualOrUnableToDetectStatus" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</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>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>