Sintomi
Considerare lo scenario descritto di seguito:
-
È stato distribuito un gruppo di disponibilità di SQL Server AlwaysOn e un listener del gruppo di disponibilità.
-
Il rilevamento dell'integrità AlwaysOn rileva un problema di integrità con SQL Server che ospita la replica primaria e avvia la transizione del gruppo di disponibilità dal ruolo principale al ruolo di risoluzione. Una parte di questa operazione consiste nel tenere offline la risorsa listener del gruppo di disponibilità.
-
L'operazione che tenta di arrestare la risorsa listener non può terminare e il sistema di diagnostica di dump di SQL Server non cede l'arresto anomalo come "utilità di pianificazione non cedente" nel log degli errori di SQL Server.
-
L'operazione potrebbe arrestarsi in modo indefinito quando si prova a interrompere il listener del gruppo di disponibilità se non è presente.
In questo scenario, i database di disponibilità nel gruppo disponibilità rimangono in modalità di ripristino e non possono essere portati online. Vengono visualizzati gli errori seguenti:
<data> <ora> <nome server> * * * non è possibile ottenere il contesto del thread per SPID 0<Data> <ora> <nome server> <1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.> <8> <7> <> <> <2> <4 data> <ora> <nome server> <9 *> <0 data> < ora> <3 SPID 1068> <4 data> <ora> <nome server> <9 *> <0 data> < ora> <nome del server> <5 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *>> <> <<
Causa
Il problema si verifica perché il thread arresta il blocco delle risorse del listener e non viene restituito. Questo thread non cedente ha bloccato altri thread nello stesso processore che bloccavano altri thread che tentavano di recuperare i database di disponibilità.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 9 per SQL Server 2012 SP1 /en-us/help/2931078
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".