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.