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