KB4078097 - FIX: la funzione NEWSEQUENTIALID genera un GUID duplicato dopo il riavvio di SQL Server 2017 su Linux

Si applica a
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Sintomi

Si supponga di usare la funzione NEWSEQUENTIALID() per generare un GUID univoco per una tabella in SQL Server 2017 in Linux. Dopo aver riavviato SQL Server, la funzione NEWSEQUENTIALID() può generare un GUID duplicato di un GUID precedente generato da questa funzione.

Altre informazioni

SQL Server in Linux archivia il seme sequenziale dell'UUID in /var/opt/mssql/.system/instance_id e lo incrementa durante l'avvio. Eseguire un backup del file instance_id in caso di errore di sistema. Se il file viene perso, il seme non è presente e il nuovo seme viene rigenerato. La generazione iniziale del seed si basa su uno schema di bit casuale e un UUID per evitare collisioni. Tuttavia, il nuovo seme che deve essere ordinato in sequenza potrebbe non essere ordinato in sequenza dopo la perdita del seme.

Risoluzione

Questo problema è stato risolto nel seguente aggiornamento cumulativo per SQL Server:

Aggiornamento cumulativo 4 per SQL Server 2017

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 2017

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.