Si applica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Questo aggiornamento include i miglioramenti seguenti per il supporto del timeout del lease AlwaysOn di Microsoft SQL Server:

  • Il messaggio Timeout lease ora visualizza e registra l'ora corrente e il periodo di rinnovo previsto.

  • È stato aggiunto un nuovo messaggio di errore per i lavoratori in leasing che indica chiaramente il motivo del timeout del contratto di locazione.

  • È stato aggiunto un nuovo evento esteso e un nuovo buffer di anello per i lavoratori in lease. Questi indicano chiaramente le fasi del contratto di locazione.

Risoluzione

Il problema è stato risolto per la prima volta nei Service Pack seguenti per SQL Server.

Per ulteriori informazioni su SQL Server 2012 Service Pack 3 (SP3), vedi bug corretti in SQL Server 2012 Service Pack 3.

Service Pack 2 per SQL Server per SQL Server 2014Informazioni sui Service Pack per SQL Server Service Pack sono cumulativi. Ogni nuovo Service Pack contiene tutte le correzioni incluse nei Service Pack precedenti, insieme a eventuali nuove correzioni. È consigliabile applicare il Service Pack più recente e l'aggiornamento cumulativo più recente per tale Service Pack. Non è necessario installare un Service Pack precedente prima di installare il Service Pack più recente. Usare la tabella 1 nell'articolo seguente per trovare altre informazioni sull'ultimo Service Pack e sull'aggiornamento cumulativo più recente.Come determinare la versione, l'edizione e il livello di aggiornamento di SQL Server e dei relativi componenti

Ulteriori informazioni

Per fornire ulteriori informazioni, sono stati aggiunti nuovi messaggi di errore a SQL Server. La tabella seguente elenca e descrive ognuno di essi.

Errore

Messaggio di errore

Causa

Azione correttiva

19419

Il rinnovo del lease tra il gruppo di disponibilità '%.*ls' e il cluster di failover Windows Server non è riuscito perché il lease esistente non è più valido.

Il lavoratore in lease sul lato SQL Server non è stato programmato in tempo per elaborare il segnale evento dal cluster.

Controllare l'utilizzo della CPU sul server come SQL Server lavoratore lease sembra morire di fame.

19420

Al gruppo di disponibilità '%.*ls' viene chiesto esplicitamente di interrompere il rinnovo del lease.

Il rinnovo del lease viene interrotto per portare offline il gruppo di disponibilità. Si tratta solo di informazioni.

19421

Il rinnovo del lease tra il gruppo di disponibilità '%.*ls' e il cluster di failover di Windows Server non è riuscito perché il rinnovo non è avvenuto entro l'intervallo di lease.

L'helper del lease sul lato cluster non ha segnalato il lavoratore in locazione SQL Server in tempo.

Controlla le risorse del gruppo di disponibilità corrispondenti nel cluster WSFC per vedere se ha segnalato un errore.

19422

Il rinnovo del lease tra il gruppo di disponibilità '%.*ls' e il cluster di failover Windows Server non è riuscito a causa di un errore di Windows con codice di errore ('%d').

Il lavoratore in locazione sul lato SQL Server non è riuscito a rinnovare il lease a causa di un errore di windows.

Controlla il codice di errore di Windows ed esegui l'azione correttiva.

19423

Il lease del gruppo di disponibilità '%.*ls' non è più valido per avviare il processo di rinnovo del lease.

Quando il lavoratore ha iniziato a elaborare il tempo di locazione in eccesso fornito dalla chiamata online il lease era già scaduto. Questo problema potrebbe verificarsi a causa di problemi di pianificazione.

Controllare l'utilizzo della CPU sul server come SQL Server lavoratore lease sembra morire di fame.

19424

Il lavoratore in locazione del gruppo di disponibilità '%.*ls' è ora in sonno il tempo di locazione in eccesso (%u ms) fornito durante la connessione. Si tratta solo di un messaggio informativo. Non è richiesta alcuna azione utente.

Informativo. Tempo aggiuntivo online assegnato all'avvio del thread di rinnovo del lease e come parte della routine online del gruppo di disponibilità.

Esempio di errore 19419: se usi un debugger per connetterti a SQL Server, interrompe qualsiasi manutenzione dei thread nel processo di SQL Server fino a quando non riprendi il processo di SQL Server. Quando si riprende l'SQL Server, nel log degli errori di SQL Server vengono riportati gli errori seguenti:

<errore di data e ora> server: 19419, gravità: 16, stato: 1. <data e ora> server Windows Server cluster di failover non ha ricevuto un segnale di evento di processo da SQL Server gruppo di disponibilità di hosting 'ag' entro il periodo di timeout del lease. <errore di data e ora> server: 19407, gravità: 16, stato: 1. <data/ora> server Il lease tra il gruppo di disponibilità 'ag' e il cluster di failover Windows Server è scaduto. Si è verificato un problema di connettività tra l'istanza di SQL Server e il cluster di failover di Windows Server. Per determinare se il failover del gruppo di disponibilità ha esito negativo, controllare la risorsa del gruppo di disponibilità corrispondente nel cluster di failover di Windows Server. <data e ora> Server AlwaysOn: la replica locale del gruppo di disponibilità "ag" sta andando offline perché il lease è scaduto o il rinnovo del lease non è riuscito. Si tratta solo di un messaggio informativo. Non è richiesta alcuna azione utente. <Data/ora> Server Lo stato della replica della disponibilità locale nel gruppo di disponibilità 'ag' è cambiato da "PRIMARY_NORMAL" a "RESOLVING_NORMAL". Lo stato della replica è stato modificato a causa di un avvio, un failover, un problema di comunicazione o un errore del cluster. Per altre informazioni, vedere il dashboard del gruppo di disponibilità, SQL Server registro errori, Windows Server console di gestione del cluster di failover o Windows Server log del cluster di failover.

Viene restituito l'errore 19419 perché SQL Server non ha risposto al servizio cluster. È anche possibile che venga visualizzato un messaggio di errore di timeout del lease (19407) insieme all'errore del 19419.Esempio di errore 19424: di seguito è riportato il messaggio relativo al periodo di locazione in eccesso riportato poco prima che il gruppo di disponibilità passi al ruolo PRIMARIO:

<Data ora> Server Il lavoratore in locazione del gruppo di disponibilità 'ag' è ora in sospensione il tempo di locazione in eccesso (164766 ms) fornito durante la connessione. Si tratta solo di un messaggio informativo. Non è richiesta alcuna azione utente. <data e ora> server Lo stato della replica della disponibilità locale nel gruppo di disponibilità 'ag' è cambiato da "PRIMARY_PENDING" a "PRIMARY_NORMAL". Lo stato della replica è stato modificato a causa di un avvio, un failover, un problema di comunicazione o un errore del cluster. Per altre informazioni, vedere il dashboard del gruppo di disponibilità, SQL Server registro errori, Windows Server console di gestione del cluster di failover o Windows Server log del cluster di failover.

I availability_group_lease_expired e hadr_ag_lease_renewal XEvents sono stati migliorati, con l'aggiunta di punti dati che forniscono ulteriori informazioni sulla condizione del lease. La tabella seguente descrive i miglioramenti a questi XEvents:

Xevent

Nuova colonna

Descrizione

availability_group_lease_expired

current_time

Ora di scadenza del contratto di locazione

availability_group_lease_expired

new_timeout

Timeout, quando viene elevato availability_group_lease_expired, current_time è maggiore di new_timeout

availability_group_lease_expired

Stato

Fasi di lease: vedere la tabella Passaggi lease riportata di seguito

hadr_ag_lease_renewal

Stato

hadr_ag_lease_renewal

hadr_ag_lease_renewal

Error_code

Se lo stato è HadrLeaseRenewal_FailedWithWindowsError error_code è il codice di errore di Windows associato all'errore

Fasi e definizionidel lease La tabella seguente elenca le possibili fasi del lease e ne illustra le funzioni:

Nome fase

Descrizione

HadrLeaseRenewal_LeaseWorkerStarted

Thread di lavoro in lease avviato.

HadrLeaseRenewal_StartedExcessLeaseSleep

Inizio del contratto di locazione in eccesso. Le fasi di lease in eccesso documenta l'inizio del thread del lease durante la fase online del gruppo di disponibilità.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Falliamo il contratto di locazione in eccesso se il contratto è già scaduto.

HadrLeaseRenewal_SkipExcessSleep

Saltiamo il contratto di locazione in eccesso se la durata disponibile per la sospensione è inferiore all'intervallo di lease. Non c'è bisogno di passare attraverso il contratto di locazione in eccesso basta avviare il processo di stretta di mano.

HadrLeaseRenewal_ExcessSleepSucceeded

Il leasing in eccesso è riuscito.

HadrLeaseRenewal_RenewSucceeded

Dovremmo vederlo ad ogni rinnovo.

HadrLeaseRenewal_LeaseNotValid

Equivalente a errore: 19419 Windows Server Cluster di failover non ha ricevuto un segnale di evento di processo da SQL Server gruppo di disponibilità di hosting '%.*ls' entro il periodo di timeout del lease.

HadrLeaseRenewal_StopLeaseRenewal

Dovrebbe essere visualizzato durante un evento di failover.

HadrLeaseRenewal_LeaseExpired

Equivalente all'errore: 19421 SQL Server gruppo di disponibilità di hosting '%.*ls' non ha ricevuto un segnale di evento di processo dal cluster di failover di Windows Server entro il periodo di timeout del lease.

HadrLeaseRenewal_FailedWithWindowsError

Rinnovo del lease non riuscito a causa di un errore di windows.

Per ulteriori informazioni, vedere Diagnostica timeout del lease di gruppo AlwaysOn disponibilità migliorata.Per altre informazioni sul timeout del lease, vedere Funzionamento: SQL Server Timeout del lease AlwaysOn.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.