症状
假设你使用 NEWSEQUENTIALID () 函数为 Linux 上的 SQL Server 2017 中的表生成唯一 GUID。 重新启动 SQL Server 后, NEWSEQUENTIALID () 函数可能会生成 guid,该 guid 是此函数生成的以前的 guid 的副本。
更多信息
Linux 上的 SQL Server 在/var/opt/mssql/.system/instance_id 中存储顺序 UUID 种子,并在启动期间递增它。 备份 instance_id 文件,以防系统出现故障。 如果文件丢失,则缺少种子,并且会重新生成新的种子。 初始种子生成基于随机位模式和 UUID,以避免冲突。 但是,在种子丢失后,必须按顺序排序的新种子不会按顺序排列。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语。