SQL Server on Linux: CU4 – NewSequentialId() – Uuid

Moved from: bobsql.com


Prior to SQL Server 2017 CU4 for Linux (Linux only) the generation of a sequential UUID may not function as expected.  SQL Server’s NewSequentialId() calls the Windows API UuidCreateSequential, which is limited in SQLPAL, prior to the CU 4 update.


SQL Server on Linux – CU4 advances the logic in the SQLPAL, in support of UuidCreateSequential, adding a pseudo-mac, random increment, boot id and persisting the value in the /var/opt/mssql/.secrets/instance_id file.  The SQLPAL uuid now contains the following.


| Timestamp | Boot Id | Mac Address |


Timestamp: is initialized, during SQLPAL startup with random data from /dev/urandom.  During