Sintomi
Quando si esegue una query che include un errore INSERT INTO... Istruzione SELECT che inserisce valori in un indice columnstore cluster partizionato in SQL Server 2014 o 2016, si verifica un deadlock all'interno della 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 flag di traccia 2469 per abilitare la correzione. Per impostare il flag di traccia 2469, vedere l'argomento Flag di traccia (Transact-SQL) nel sito Web Microsoft Developer Network (MSDN).
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:
Aggiornamento cumulativo più recente per SQL Server 2016
Aggiornamento cumulativo più recente per SQL Server 2014
Soluzione alternativa
Per ovviare a questo problema, utilizzare uno dei metodi seguenti:
- Archiviare i risultati intermedi dell'istruzione SELECT in una tabella temporanea e quindi inserirli nell'indice columnstore cluster dalla tabella temporanea.
- Eseguire la query usando DOP=1.
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.