KB3174963 - FIX: Perdita di dati quando si modifica l'operazione delle colonne in una tabella ottimizzata per la memoria di grandi dimensioni in SQL Server 2016

Si applica a
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sintomi

In SQL Server 2016, in una tabella ottimizzata per la memoria, la maggior parte degli scenari ALTER TABLE ora viene eseguita in parallelo e comporta un'ottimizzazione delle operazioni di scrittura nel log delle transazioni. Tuttavia, le operazioni di modifica delle colonne in una tabella ottimizzata per la memoria di grandi dimensioni eseguite in parallelo possono causare la perdita di dati. 

NotaLe operazioni ALTER TABLE vengono eseguite a thread singolo e non sono interessate da questo problema.

Risoluzione

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server:

Consiglio: installare l'aggiornamento cumulativo più recente per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. È consigliabile scaricare e installare gli aggiornamenti cumulativi più recenti per SQL Server:

      

Soluzione alternativa

Per risolvere questo problema, disattivare il log ottimizzato per le operazioni di modifica abilitando il flag di traccia 9909. 

Per abilitare il flag di traccia 9909, aggiungere il parametro di avvio -T9909. In alternativa, è possibile usare l'istruzione dbcc traceon(9909) per una sessione specifica.

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.