我有一些表,它们的主键类型是唯一标识符,并且它们不是连续的,所以会发生很多物理排序。
我知道最好使用组合主键以及集群int和非集群唯一标识符,但是数据库已经在生产中使用了。
问题是如何更改PK上的约束,以使用NEWSEQUENTIALID()作为默认值,并且是聚集的主键。我假设我必须删除并重新创建约束。我不是dba,所以这将是最好的,如果你能提供语法的例子。
发布于 2017-03-03 19:16:16
我找到了我问题的答案,我无法添加描述集群主键的约束以及该列的默认值。但我可以在两个约束下这样做。
ALTER TABLE dbo.FooTable
ADD CONSTRAINT [PK_FooTableId] PRIMARY KEY CLUSTERED
(
[Id] ASC
)
ALTER TABLE dbo.FooTable
ADD CONSTRAINT [PK_FooTableId_Default] DEFAULT NEWSEQUENTIALID() for Id https://stackoverflow.com/questions/42575952
复制相似问题