Sintomi
Quando si esegue una query che include un'istruzione INSERT INTO... Istruzione SELECT che inserisce i valori in un indice columnstore cluster partizionato in SQL Server 2014 o 2016, si verifica un deadlock intra-query.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 5 per SQL Server 2016 RTM
Aggiornamento cumulativo 2 per SQL Server 2016 SP1
Aggiornamento cumulativo 3 per SQL Server 2014 Service Pack 2 Nota Dopo aver installato questo aggiornamento, è necessario impostare il contrassegno di traccia 2469 per abilitare la correzione. Per impostare il contrassegno di traccia 2469, vedere l'argomento contrassegni di traccia (Transact-SQL) nel sito Web Microsoft Developer Network (MSDN).
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:
Soluzione alternativa
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
-
Archiviare i risultati intermedi dell'istruzione SELECT in una tabella temporanea e quindi inserire i risultati nell'indice columnstore raggruppato dalla tabella temporanea.
-
Eseguire la query con DOP = 1.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.