Stato di SQL Server Agent per il sottoscrittore

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

Questo monitoraggio controlla se SQL Server Agent è in esecuzione nel Sottoscrittore.

Knowledge Base article:

Riepilogo

Questo monitoraggio stabilisce una connessione al Sottoscrittore della replica e verifica se il servizio SQL Server Agent è in esecuzione. Il servizio SQL Server Agent viene installato automaticamente durante l'installazione di SQL Server ed è responsabile per l'avvio degli agenti di replica.

Cause

Il servizio SQL Agent potrebbe essere stato arrestato manualmente dall'amministratore di sistema di Windows o in seguito a un errore dell'agente. Esaminare il registro eventi applicazioni di Windows per individuare le cause possibili dell'arresto imprevisto del servizio SQL Agent.

Se la modalità di avvio del servizio SQL Server Agent è impostata su "Manuale" anziché su "Automatica", il servizio non verrà riavviato automaticamente al riavvio del server.

Soluzioni

Avviare il servizio SQL Server Agent in Servizi di Windows, Gestione configurazione SQL Server o tramite SQL Server Management Studio. Se la "Modalità di avvio" del servizio è impostata su "Manuale", provare a impostarla su "Automatica".

Avvio, arresto o sospensione del servizio SQL Server Agent http://technet.microsoft.com/library/ms190695.aspx

Altro

Gli agenti di distribuzione in esecuzione nel sottoscrittore sono denominati agenti PULL e possono essere eseguiti in modo continuo o a intervalli pianificati. Se sono in esecuzione a intervalli pianificati, il servizio SQL Agent, in esecuzione in modo continuo, pianificherà l'avvio dell'agente di distribuzione. Se il servizio SQL Agent è arrestato, gli agenti pull di distribuzione non verranno avviati come pianificato, causando quindi una latenza dei dati.

Esterno

Fare clic sul collegamento seguente per visualizzare il log degli errori di SQL Server Agent: https://msdn.microsoft.com/library/ms175488.aspx

Questo articolo descrive come configurare Microsoft SQL Server Agente per il riavvio automatico in caso di arresto imprevisto in SQL Server 2014. https://msdn.microsoft.com/library/ms178130.aspx

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro

Genera avvisi

Definisce se il flusso di lavoro genera un avviso

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
Replica di MSSQL2014: Il servizio di Windows SQL Server Agent nel Sottoscrittore è stato arrestato.
Il servizio di Windows SQL Server Agent è stato arrestato nell'istanza di SQL Server {1} nel computer {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>