2016-06-01 63 views
0

任何人都可以請幫我瞭解SQL Server如何決定調用newid()時要使用哪個32字母的Uniqueidentifier?我的問題不是如何裝箱uniqueidentifier,我想了解內部SQL Server如何決定這個隨機ID,SQL Server用來生成此ID的算法是什麼。SQL Server如何使用newid()創建uniqueidentifier?

謝謝。

+0

我相信這是一個生成GUID的底層OS調用--SQL Server本身只是調用Windows系統函數來執行此操作。 [請參閱關於GUID的維基百科文章](https://en.wikipedia.org/wiki/Globally_unique_identifier) –

回答

0

GUID是16字節的二進制值。將它們顯示爲32個十六進制值只是一種表示。它們不是存儲爲「32個字母」

作爲字符串記載here

舊的GUID生成函數NEWID也是通過一個OS 功能CoCreateGuid的包裝,因此,所有的CoCreateGuid 的語義存在於NewId中。

所以你需要找到它的實現。但爲什麼你關心呢?

相關問題