Sintomi
Si supponga di avere una tabella partizionata che contiene una colonna di partizionamento calcolata contrassegnata come PERSISTENTE in Microsoft SQL Server 2014 o 2016 e quindi ricostruire la partizione online. In questo caso, viene visualizzato il seguente messaggio di errore:
Nota
Messaggio 4819, livello 16, stato 1, riga LineNumber
Non è possibile eseguire il caricamento in blocco. Il flusso di dati in blocco è stato specificato erroneamente come ordinato o i dati violano un vincolo di univocità imposto dalla tabella di destinazione. L'ordinamento non è corretto per le due righe seguenti: chiave primaria della prima riga: (RowNumber, DateTime), chiave primaria della seconda riga: (RowNumber, DateTime).
La dichiarazione è stata terminata.
Risoluzione
Per attivare questo hotfix, è necessario abilitare il flag di traccia (TF) 176. Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 7 per SQL Server 2016 SP1
Aggiornamento cumulativo 4 per SQL Server 2016
Aggiornamento cumulativo 6 per SQL Server 2014 SP2
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 risolvere questo problema, usare SORT_IN_TEMPDB=ON nella query di ricompilazione.
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.