如何用顺序GUID替换所有非顺序GUID?

Eve*_*ien 1 sql-server guid sql-server-2005 data-conversion

我有一个棕色字段SQL Server 2005数据库,它使用标准的,未排序的GUID作为大多数主键值以及聚簇索引(这对性能有害).

我该如何将这些更改为顺序GUID?其中一个挑战是在更改每个主键时替换所有外键值.

您知道要执行此类转换的任何工具或脚本吗?

SQL*_*ace 5

请记住,您只能使用newsequentialid()函数作为默认值

所以创建一个包含2列的新表.将原始表中的密钥插入此表中(将另一列留下,它将自行填充)

加入原始表并使用newsequantialid更新PK,如果你有级联更新,FK应该自己更新