2011-07-18 19 views
0

我有一个数百万行的生产数据库,全部使用随机生成的GUID,默认值为NewID()作为主键。从NewID切换到默认PK值的Sequential NewID

我在考虑继续使用顺序的NewID。

SQL Server如何在生成GUID时按顺序生成GUID,它在使用NEWID()随机生成时尚未创建GUID?

回答

2

这听起来像你正在考虑使用NEWSEQUENTIALID()作为新的默认值。

不要担心重复的情况。该列上的PK约束保证不会发生碰撞。无论如何,您无法保证新的顺序GUID将“更高”:

创建一个GUID,该GUID比自启动Windows后指定的计算机上此函数先前生成的任何GUID大。重新启动Windows后,GUID可以从较低范围重新开始,但仍是全局唯一的。

一些相关的信息,可以帮助你在Microsoft Connect : NEWSEQUENTIALID() is Not Sequential

相关问题