Stato di SQL Server Agent per il server di pubblicazione

Microsoft.SQLServer.2012.Replication.Monitor.PublisherAvailabilityMonitor (UnitMonitor)

Questo monitoraggio controlla se SQL Server Agent è in esecuzione nel server di pubblicazione.

Knowledge Base article:

Riepilogo

Questo monitoraggio stabilisce una connessione al server di pubblicazione 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. Il servizio di Windows viene usato dalla replica per avviare e arrestare i processi di replica di SQL Server Agent responsabili dello spostamento dei dati.

Cause

Il servizio SQL Server Agent potrebbe essere stato arrestato manualmente 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 Server Agent.

Se la proprietà "Modalità di avvio" dell'agente è impostata su "Manuale" anziché su "Automatica", il servizio SQL Server Agent 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" dell'agente è 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

Nel server di pubblicazione il servizio SQL Server Agent oltre a essere responsabile dell'esecuzione dell'agente snapshot, dell'agente di lettura log e dell'agente di distribuzione push, è anche responsabile dell'esecuzione di vari agenti, ad esempio "Pulizia della cronologia dell'agente: Distribuzione", "Pulizia della distribuzione" e "Pulizia delle sottoscrizioni scadute".

Esterno

Fare clic sul collegamento seguente per visualizzare il log degli errori di SQL Server Agent: http://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 2012. https://msdn.microsoft.com/library/ms178130.aspx

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Errore

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Element properties:

TargetMicrosoft.SQLServer.2012.Replication.Publisher
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.Replication.MonitorType.CheckReplicationServiceState
RemotableTrue
AccessibilityPublic
Alert Message
Replica di MSSQL2012: Server di pubblicazione: Il servizio di Windows SQL Server Agent è stato arrestato.
Il servizio di Windows SQL Server Agent è stato arrestato nell'istanza di SQL Server {1} nel server {0}.
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Replication.Monitor.PublisherAvailabilityMonitor" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2012.Replication.Publisher" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.Replication.MonitorType.CheckReplicationServiceState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Replication.Monitor.PublisherAvailabilityMonitor.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.GenericPublisher"]/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.GenericPublisher"]/AgentServiceName$</ServiceName>
</Configuration>
</UnitMonitor>