Il monitoraggio avvisa quando il servizio di Windows per l'istanza di SSAS non è in esecuzione per una durata superiore alla soglia configurata.
Il monitoraggio avvisa quando il servizio di Windows per l'istanza di SSAS non è in esecuzione per una durata superiore alla soglia configurata.
Quando questo monitoraggio restituisce l'avviso "Servizio di Windows SQL Server Analysis Service non in esecuzione", significa che l'istanza di SSAS è configurata per l'avvio automatico ma è rimasta nello stato di arresto per un periodo superiore alla soglia configurata. Il valore configurato predefinito è 900 secondi (15 minuti).
Il monitoraggio non attiva l'avviso prima della durata configurata, quando il servizio viene arrestato. Ciò consente all'amministratore di riavviare il servizio senza attivare l'avviso. L'avviso verrà tuttavia attivato se il servizio non passa allo stato di esecuzione entro la durata configurata.
È possibile che il servizio di Windows SSAS non venga avviato anche quando è configurato per l'avvio automatico per diversi motivi, tra cui errori di avvio del processo, problemi del sistema operativo che impediscono un avvio corretto o errori di autenticazione dell'account del servizio.
Per risolvere questo avviso, è necessario che gli amministratori comprendano e valutino diversi fattori tra cui il tempo normale previsto per l'avvio dell'istanza, le cause degli errori imprevisti all'avvio del servizio, i requisiti di autenticazione del server e le condizioni nell'ambiente.
Il tempo di avvio dell'istanza può variare a seconda delle dimensioni del database e di altri fattori. Gli amministratori possono configurare questa impostazione modificando di conseguenza il tempo normale previsto per l'avvio di una specifica istanza di SSAS.
Per risolvere la condizione in cui il servizio SSAS non viene avviato, è possibile intraprendere una delle azioni seguenti:
Provare ad avviare il servizio SSAS.
Esaminare i registri eventi dell'applicazione e del sistema Windows per trovare le indicazioni della causa principale.
Esaminare la cartella OLAP\Log dell'istanza che può contenere elementi per individuare la causa principale, tra cui:
Dump di arresto anomalo del sistema (file con estensione mdmp) che possono contenere le analisi dello stack dei thread del processo nel momento dell'errore o, se configurati in modo appropriato, il contenuto completo dello spazio di memoria del processo che può consentire al supporto tecnico Microsoft di determinare la causa radice. In particolare, è utile osservare i timestamp nei dump per verificare se corrispondono agli errori in modo da capire se uno specifico dump di arresto anomalo nella cartella può corrispondere a un determinato errore noto.
Tracce di FlightRecorder, ovvero tracce minime del server che contengono talvolta informazioni per indicare la causa radice.
Msmdsrv.log può contenere i dettagli per indicare la causa radice.
Usare le altre utilità o gli altri strumenti di traccia, ad esempio Performance Monitor, SQL Server Profiler o Network Monitor, per individuare i problemi potenziali che possono indicare la causa radice.
Usare l'installazione di SQL Server per ripristinare l'istanza danneggiata.
Usare lo strumento Process Monitor per tenere traccia dell'accesso ai file e al Registro di sistema da parte del processo del servizio SSAS (msmdsrv.exe) durante il tentativo di avvio del servizio. Ciò potrebbe rivelare se si è verificato un errore di autorizzazioni durante il tentativo di accesso ai dati richiesti dal processo per l'inizializzazione, causando quindi l'errore.
Controllare la configurazione del servizio nel pannello di controllo dei servizi per verificare che il percorso del file di configurazione di SSAS sia corretto. La riga di comando per l'avvio del servizio viene visualizzata nella scheda Generale della pagina delle proprietà, accessibile facendo clic con i pulsante destro del mouse sul servizio.
Contattare il supporto tecnico Microsoft per investigare su un errore imprevisto di avvio del servizio.
Disabilitare completamente il monitoraggio se lo stato del servizio SSAS non rappresenta un problema per il server.
Avvio e interruzione dei servizi SQL
Nome | Descrizione | Valore predefinito |
Avviso solo se il tipo di avvio del servizio è Automatico | Questo valore può essere impostato solo su 'True' o 'False'. Se impostato su 'False', gli avvisi verranno attivati indipendentemente dal tipo di avvio impostato. Il valore predefinito è 'True'. | Sì |
Abilitato | Abilita o disabilita il flusso di lavoro | Sì |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso | Sì |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 60 |
Numero di campioni | Lo stato di integrità cambia se il numero di errori di controllo successivi è superiore o uguale al numero minimo di controlli. | 15 |
Ora di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Timeout (secondi) | Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito. | 300 |
Target | Microsoft.SQLServer.2016.AnalysisServices.Instance | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.ServiceState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ServiceState" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.ServiceState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ServiceState.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="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance"]/ServiceName$</ServiceName>
<ClusteredInstance>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance"]/Clustered$</ClusteredInstance>
<CheckStartupType>true</CheckStartupType>
<SampleCount>15</SampleCount>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>