Below windows update package caused SnowFlakeID broken in MS SQL SERVER, this issue is very serious, caused all transactions cannot record, below are the KB and mapping windows version:
| OS |
.NET Update KB |
Vulnerabilities Addressed |
| Win11 24H2 / 25H2 / Windows Server 2025 |
KB5126052 |
CVE-2026-62886, CVE-2026-69522 |
| Windows Server 2022 |
KB5126149 |
CVE-2026-62886, CVE-2026-69522 |
| Windows Server 2019 |
KB5126144 (Rollup) |
CVE-2026-62886, CVE-2026-69522 |
Here is the part of SnowFlakeID create script:
`Create Assembly "System.Threading" from @SystemThreading
WITH PERMISSION_SET = UNSAFE;
Create Assembly "System.Runtime.Extensions" from @SystemRuntimeExtensions
WITH PERMISSION_SET = UNSAFE;
Create Assembly "System.Diagnostics.Debug" from @SystemDiagnosticsDebug
WITH PERMISSION_SET = UNSAFE;
Create Assembly "System.Runtime" from @SystemRuntime
WITH PERMISSION_SET = UNSAFE;
CREATE ASSEMBLY [IdGen]
FROM .........
WITH PERMISSION_SET = UNSAFE;
CREATE ASSEMBLY [SnowFlakeID]
FROM ...
WITH PERMISSION_SET = UNSAFE;
END;
EXECUTE('CREATE FUNCTION GetSFIDFromDll(@inputOne int)
RETURNS [bigint] WITH EXECUTE AS CALLER, RETURNS NULL ON NULL INPUT
AS
EXTERNAL NAME [SnowFlakeID].[IdGenerator.SnowFlakeID].[GenerateID]');
IF NOT EXISTS (SELECT * FROM sys.objects WHERE name = 'fn_GetPKID' AND TYPE = 'FN')
BEGIN
EXECUTE('CREATE FUNCTION fn_GetPKID() RETURNS BIGINT
AS
BEGIN
DECLARE @nodeID nvarchar(100);
DECLARE @snowFlakeID BIGINT;
SELECT @nodeID = Value FROM T_NODE_INFO WHERE Name=''NodeID''
SELECT @snowFlakeID = dbo.GetSFIDFromDll(CAST(@nodeID as int))
RETURN @snowFlakeID
END')
END;`