MSSQLSERVER_19421
Si applica a: SQL Server
Dettagli
Attributo | Valore |
---|---|
Nome prodotto | SQL Server |
ID evento | 19421 |
Origine evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbolico | HADR_AG_LEASE_RENEWAL_TIMEOUT |
Testo del messaggio | Il gruppo di disponibilità di hosting di SQL Server '%.*ls' non ha ricevuto un segnale di evento di processo dal cluster di failover di Windows Server entro il periodo di timeout del lease. |
Spiegazione
L'errore 19421 viene generato nel log degli errori di SQL Server quando l'helper lease sul lato cluster Windows non ha segnalato il thread di lavoro lease di SQL Server entro il periodo di lease predefinito. In particolare, SQL Server chiama WaitForMultipleObjects() in attesa dell'evento di timeout lease da impostare in uno stato segnalato. Se la funzione restituisce WAIT_TIMEOUT, perché ha superato l'intervallo di lease specificato, viene generato l'errore 19421.
Un lease è un meccanismo di comunicazione basato sul tempo che viene eseguito tra SQL Server e il processo WSFC (Windows Server Failover Cluster), in particolare il processo RHS.EXE. I due processi comunicano periodicamente tra loro per garantire che l'altro processo sia in esecuzione e risponda. Questa comunicazione avviene usando gli oggetti evento di Windows e garantisce che un failover della risorsa del gruppo di disponibilità non venga eseguito senza la conoscenza del cluster WSFC. Se uno dei processi non risponde alla comunicazione leasing in base a un periodo di lease predefinito, si verifica un timeout del leasing. Per informazioni dettagliate, vedere Meccanismo di lease. Vedere anche Funzionamento: Timeout lease AlwaysOn di SQL Server
Questo errore è correlato ad altri errori di timeout del lease e fornisce dettagli più specifici per l'errore MSSQLSERVER_19407
Cause
Poiché gli eventi di Windows sono oggetti di sincronizzazione leggeri, esiste un numero relativamente ridotto di fattori esterni che li influiscono negativamente. I problemi tipici che possono causare il timeout del lease comportano problemi a livello di sistema. Ecco un elenco di possibilità che possono causare la scadenza del lease e causare un riavvio o un failover:
- Utilizzo elevato della CPU nel sistema (vicino al 100%)
- Condizioni di memoria insufficiente: memoria virtuale insufficiente e/o uno dei processi in fase di paging
- Processo di SQL Server che non risponde durante la generazione di un dump di memoria di grandi dimensioni
- WSFC in modalità offline (ad esempio a causa della perdita del quorum)
Azione utente
Controllare la risorsa del gruppo di disponibilità corrispondente nel cluster WSFC per verificare se sono stati segnalati errori.
Per informazioni dettagliate sulla risoluzione dei problemi, vedere Azione dell'utente in MSSQLSERVER_19407
- Risolvere i problemi di utilizzo elevato della CPU
- Risolvere i problemi di memoria insufficiente
- Ridurre o evitare dump di memoria di grandi dimensioni del processo di SQL Server o del cluster
- Controllare la configurazione della macchina virtuale per il provisioning eccessivo
- Verificare la presenza di migrazione o backup di macchine virtuali che causano problemi