2016-06-01 16 views
0

newid()を呼び出すときにUniqueidentifierの32文字をSQL Serverがどのように決定するかを知りたい人は誰でも助けてくれますか?私の質問uniqueidentifierを箱詰めする方法ではなく、私は内部的にSQL ServerがこのランダムIDを決定する方法を理解しようとしています、このIDを生成するためにSQL Serverによって使用されるアルゴリズムは何ですか?SQL Serverはnewid()を使用してuniqueidentifierを作成する方法は?

ありがとうございました。

+0

私はそれがGUIDを生成する基礎となるOSコールだと考えています.SQL Server自体は、これを行うためにWindowsシステム関数を呼び出すだけです。 [GUIDに関するWikipediaの記事を見る](https://en.wikipedia.org/wiki/Globally_unique_identifier) –

答えて

0

GUIDは16バイトのバイナリ値です。それらを32の16進数値として表示することは、1つの表現に過ぎません。従って、それらはすべてCoCreateGuid のセマンティクスの、NEWIDもOS 機能CoCreateGuidのラッパーである文書here

古いGUID生成機能として、「32文字」

の文字列として格納されていませんNewIdに存在する。

だから、その実装を見つける必要があります。とにかく、なぜあなたは気にしますか?

関連する問題