Monitoraggio e risoluzione dei problemi dei gruppi di disponibilità

Questa guida illustra come iniziare a monitorare i gruppi di disponibilità e risolvere alcuni dei problemi comuni nei gruppi di disponibilità. Fornisce contenuto originale e una pagina di destinazione di informazioni utili pubblicate altrove. Anche se questa guida non può discutere completamente tutti i problemi che possono verificarsi nell'ampia area dei gruppi di disponibilità, può puntare nella direzione corretta nell'analisi della causa radice e nella risoluzione dei problemi.

Poiché i gruppi di disponibilità sono una tecnologia integrata, molti problemi riscontrati potrebbero essere sintomi di altri problemi nel sistema di database. Alcuni problemi sono causati dalle impostazioni del gruppo di disponibilità, ad esempio la sospensione di un database di disponibilità. Altri problemi possono riguardare altri aspetti di SQL Server, ad esempio le impostazioni di SQL Server, le distribuzioni dei file di database e i problemi di prestazioni del sistema non legati alla disponibilità. Inoltre, possono esistere altri problemi al di fuori di SQL Server legati, ad esempio all'I/O di rete, a TCP/IP, ad Active Directory e a WSFC. I problemi che emergono in un gruppo di disponibilità, in una replica o in un database richiedono spesso l'analisi di varie tecnologie in cui cercare la causa principale.

Risolvere i problemi relativi agli scenari

Nella tabella seguente sono riportati collegamenti agli scenari di risoluzione dei problemi comuni per i gruppi di disponibilità. Questi sono suddivisi in categorie in base al tipo di scenario, ad esempio configurazione, connettività client, failover e prestazioni.

Scenario Tipo di scenario Descrizione
Risolvere i problemi relativi alla configurazione di Gruppi di disponibilità Always On (SQL Server) Configurazione Vengono fornite informazioni per la risoluzione dei problemi tipici relativi alla configurazione delle istanze del server per i gruppi di disponibilità. I problemi di configurazione tipici includono:

- I gruppi di disponibilità sono disabilitati
- gli account sono configurati in modo non corretto
- L'endpoint di mirroring del database non esiste
- l'endpoint è inaccessibile (SQL Server Errore 1418)
- l'accesso alla rete non esiste
- Un comando del database join ha esito negativo (SQL Server Errore 35250)
Risolvere i problemi relativi a una operazione di aggiunta file non riuscita (Gruppi di disponibilità Always On) Configurazione Un'operazione di aggiunta file ha causato la sospensione del database secondario e l'attivazione dello stato NON IN SINCRONIZZAZIONE.
Impossibile connettersi al listener del gruppo di disponibilità in un ambiente con più subnet Connettività client Dopo aver configurato il listener del gruppo di disponibilità non si riesce a effettuare il ping del listener o a connettersi a esso da un'applicazione.
Risoluzione dei problemi dei failover automatici non riusciti Failover Un failover automatico non è stato completato correttamente.
Risolvere i problemi: Il gruppo di disponibilità ha superato la soglia RTO Prestazioni Dopo un failover automatico o un failover manuale pianificato senza perdita di dati, il tempo di failover supera l'obiettivo RTO. Oppure, quando si stima il tempo di failover di una replica secondaria con commit asincrono (ad esempio un partner di failover automatico), si scopre che supera l'obiettivo RTO.
Risolvere i problemi: Il gruppo di disponibilità ha superato la soglia RPO Prestazioni Dopo aver eseguito un failover manuale forzato, la perdita di dati è maggiore dell'obiettivo RPO. In alternativa, quando si calcola la potenziale perdita di dati di una replica secondaria con commit asincrono, si scopre che supera l'obiettivo RPO.
Risolvere i problemi: Le modifiche nella replica primaria non vengono riflesse nella replica secondaria Prestazioni L'applicazione client completa un aggiornamento nella replica primaria, ma la query sulla replica secondaria mostra che la modifica non viene riflessa.
Risoluzione dei problemi: Tipo di attesa HADR_SYNC_COMMIT elevato con i con gruppi di disponibilità Always On Prestazioni Se HADR_SYNC_COMMIT richiede dei tempi insolitamente lunghi, esiste un problema di prestazioni nel flusso di spostamento dei dati o nella protezione avanzata del log di replica secondaria.

Strumenti utili per la risoluzione dei problemi

In fase di configurazione o di esecuzione dei gruppi di disponibilità, vari strumenti possono aiutare a diagnosticare diversi tipi di problemi. Nella tabella seguente vengono forniti collegamenti a informazioni utili su tali strumenti.

Strumento Descrizione
Usare il Dashboard Always On (SQL Server Management Studio) Visibilità immediata dell'integrità del gruppo di disponibilità in un'interfaccia intuitiva.
Criteri Always On Usati dalla dashboard Always On.
Log degli errori di SQL Server (Gruppi di disponibilità Always On) Registra gli eventi di transizione dello stato di gruppi di disponibilità, repliche e database, lo stato di altri componenti Always On e gli errori Always On.
CLUSTER.LOG (Gruppi di disponibilità Always On) Registra gli eventi cluster, comprese le transizioni di stato della risorsa del gruppo di disponibilità, nonché gli eventi e gli errori dalla DLL risorse SQL Server.
Log di diagnostica dell'integrità Always On Registra la diagnostica dell'integrità di SQL Server segnalata nel cluster WSFC (DLL risorse SQL Server) da sp_server_diagnostics (Transact-SQL).
DMV e viste del catalogo di sistema (Gruppi di disponibilità Always On) Riporta informazioni sui gruppi di disponibilità, ad esempio configurazione, stato di integrità e metriche delle prestazioni.
Eventi estesi Always On Fornisce dati diagnostici dettagliati sui gruppi di disponibilità utili per l'analisi causa principale.
Tipi di attesa Always On Fornisce statistiche relative alle attese specifiche ai gruppi di disponibilità e utili per ottimizzare le prestazioni.
Contatori delle prestazioni Always On Consentono di monitorare le attività dei gruppi di disponibilità, sono riportati in Monitor di sistema e sono utili per ottimizzare le prestazioni. Per altre informazioni, vedere SQL Server, oggetto Replica di disponibilità e SQL Server, oggetto Replica di database.
Buffer circolari Always On Registrano gli avvisi all'interno del sistema SQL Server per la diagnostica interna e possono essere usati per eseguire il debug di problemi relativi ai gruppi di disponibilità.

Monitorare i gruppi di disponibilità

Il momento ideale per risolvere i problemi di un gruppo di disponibilità è prima che il problema richieda un failover automatico o manuale. Questa attività può essere eseguita monitorando le metriche delle prestazioni del gruppo di disponibilità e configurando l'invio di avvisi quando le repliche di disponibilità hanno prestazioni che non rientrano nei limiti del contratto di servizio (SLA). Ad esempio, se una replica secondaria sincrona presenta problemi di prestazioni che causano l'aumento del tempo di failover stimato, non si vuole attendere fino a quando non si verifica un failover automatico e si scopre che il tempo di failover supera l'obiettivo del tempo di ripristino.

Poiché i gruppi di disponibilità sono una soluzione di elevata disponibilità e di ripristino di emergenza, le metriche delle prestazioni più importanti da monitorare sono il tempo di failover stimato, che influenza l'obiettivo tempo di ripristino (RTO), e la potenziale perdita di dati in caso di emergenza, che interessa l'obiettivo punto di ripristino (RPO). È possibile raccogliere queste metriche dai dati che SQL Server espone in qualsiasi momento, in modo da poter essere avvisati di un problema nelle funzionalità di disponibilità elevata e ripristino di emergenza del sistema prima che si verifichino eventi di errore effettivi. Pertanto, è importante acquisire familiarità con il processo di sincronizzazione dei dati dei gruppi di disponibilità e di raccolta delle relative metriche.

Questa tabella seguente illustra gli articoli che consentono di monitorare l'integrità della soluzione dei gruppi di disponibilità.

Articolo Descrizione
Monitorare le prestazioni per i gruppi di disponibilità Always On Descrive il processo di sincronizzazione dei dati per i gruppi di disponibilità, i controlli di flusso e le metriche utili per il monitoraggio di un gruppo di disponibilità. Viene illustrato anche come raccogliere le metriche per gli obiettivi RTO e RPO.
Monitoraggio dei gruppi di disponibilità (SQL Server) Fornisce informazioni sugli strumenti per eseguire il monitoraggio di un gruppo di disponibilità.
The Always On Health Model Part 1: Health Model Architecture (Modello di integrità Always On, parte 1: Architettura del modello di integrità) Fornisce una panoramica del modello di integrità Always On.
The Always On health model, part 2: Extending the health model (Modello di integrità Always On, parte 2: Estensione del modello di integrità) Illustra come personalizzare il modello di integrità Always On e il dashboard Always On per visualizzare informazioni aggiuntive.
Monitoring Always On health with PowerShell - Part 1: Basic cmdlet overview (Monitoraggio dell'integrità AlwaysOn con PowerShell, parte 1: Panoramica sui cmdlet di base) Fornisce una panoramica sui cmdlet PowerShell Always On che possono essere utilizzati per monitorare l'integrità di un gruppo di disponibilità.
Monitoring Always On health with PowerShell, part 2: Advanced cmdlet usage (Monitoraggio dell'integrità Always On con PowerShell, parte 2: Utilizzo avanzato dei cmdlet) Fornisce informazioni sull'utilizzo avanzato dei cmdlet PowerShell Always On per monitorare l'integrità di un gruppo di disponibilità.
Monitoring Always On health with PowerShell, part 3: A simple monitoring application (Monitoraggio dell'integrità Always On con PowerShell, parte 3: Applicazione di monitoraggio semplice) Illustra come monitorare automaticamente un gruppo di disponibilità con un'applicazione.
Monitoring Always On health with PowerShell, part 4: Integration with SQL Server Agent (Monitoraggio dell'integrità Always On con PowerShell, parte 4: Integrazione con SQL Server Agent) Fornisce informazioni su come integrare il monitoraggio dei gruppi di disponibilità con SQL Server Agent e configurare la notifica delle entità appropriate in caso di problemi.

Passaggi successivi