我认为Guids应该具有完全随机的值,但我在表中找到了SQL Server生成的以下ID:
15B308E5-FC37-E711-9C42-185E0F1C3427
52B09CEE-FC37-E711-9C42-185E0F1C3427
BE9553FF-FC37-E711-9C42-185E0F1C3427
BF9553FF-FC37-E711-9C42-185E0F1C3427
CE169E05-FD37-E711-9C42-185E0F1C3427
对我来说,它们似乎不够随意:)
所以我只是想知道,SQL Server如何生成这些值?
提前致谢!
答案 0 :(得分:3)
您的示例中的GUID似乎是使用NEWSEQUENTIALID()
默认约束生成的。在这种情况下,SQL Server使用UuidCreateSequential Win32 API以及一些字节交换来生成自上次计算机重新启动以来连续的有序GUID值。