Sintomi
Considerare lo scenario descritto di seguito:
-
Si esegue una query in Microsoft SQL Server 2016 e 2017.
-
Il piano della query risultante contiene un ramo in modalità batch e un ramo della modalità di riga coinvolto in un JOIN.
-
Nel ramo modalità riga sono presenti operatori paralleli e seriali.
In questo scenario potrebbe verificarsi una condizione di deadlock.
Nota: Questo problema non si verifica se si imposta il grado max di parallelismo (MAXDOP) su 1 per la query.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 4 per SQL Server 2017
Aggiornamento cumulativo 7 per SQL Server 2016 SP1
Nota Per risolvere il problema, è necessario che il contrassegno di traccia hotfix (TF) di query optimizer 4199 sia abilitato.
Per altre informazioni sugli hotfix e i contrassegni di traccia di query optimizer, vedere:
Modello di manutenzione di SQL Server Query Optimizer hotfix TF 4199
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".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.