2011-07-18 30 views
0

私は、ランダムに生成されたGUIDを使用して、すべてデフォルトの値NewID()をプライマリキーとして使用して数百万行の本番データベースを用意しています。デフォルトPK値のNewIDからSequential NewIDへの切り替え

今後のSequential NewIDの使用を検討しています。

NEWID()を使用してランダムに生成したときに、そのGUIDを作成していないという順序で、GUIDの生成中にSQL Serverがどのように知るのですか?

答えて

2

NEWSEQUENTIALID()を新しいデフォルト値として使用しているようです。

重複のシナリオは心配しないでください。その列のPK制約により、衝突が発生しないことが保証されます。とにかく新しいシーケンシャルGUIDが「上位」になることは保証されません。

Windowsが起動されてから、指定したコンピュータで以前にこの関数によって生成されたGUIDより大きいGUIDを作成します。 Windowsを再起動すると、の下位の範囲からGUIDのが再び開始されますが、引き続きグローバルに一意です。

Microsoft Connect : NEWSEQUENTIALID() is Not Sequential

であなたを助けるかもしれないいくつかの関連情報
関連する問題