KB4078097 – OPRAVA: Funkce NEWSEQUENTIALID vygeneruje duplicitní identifikátor GUID po restartování SQL Server 2017 při Linux

Platí pro
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Příznaky

Předpokládejme, že použijete funkci NEWSEQUENTIALID() ke generování jedinečného identifikátoru GUID pro tabulku v systému SQL Server 2017 v systému Linux. Po restartování systému SQL Server může funkce NEWSEQUENTIALID() vygenerovat identifikátor GUID, který je duplikátem předchozího identifikátoru GUID vygenerovaného touto funkcí.

Další informace

SQL Server on Linux ukládá sekvenční seed UUID do /var/opt/mssql/.system/instance_id a během spouštění jej zvyšuje. Vytvořte záložní kopii souboru instance_id pro případ selhání systému. Pokud dojde ke ztrátě souboru, počáteční hodnota chybí a nové počáteční číslo se znovu vygeneruje. Počáteční generování je založeno na náhodném bitovém vzoru a UUID, aby se zabránilo kolizím. Nové počáteční číslo, které má být postupně seřazeno, však nemusí být po ztrátě semene seřazeno postupně.

Řešení

Tento problém je opravený v následující kumulativní aktualizaci pro SQL Server:

Kumulativní aktualizace 4 pro SQL Server 2017

Informace o kumulativních aktualizacích pro SQL Server:

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.