从索引中删除唯一性

时间:2017-01-05 19:30:30

标签: sql sql-server tsql

在我的SQL Server中的一个表上,在Indexes文件夹中,我有一个聚簇索引由该表的三列组成,但当我转到时,还有一个Unique复选框该索引上的属性窗口。 我的问题是T-SQL命令如何告诉它删除唯一性部分并仍然保留索引?它甚至可能吗?

1 个答案:

答案 0 :(得分:5)

您无法将索引从唯一更改为非唯一。您可以设置索引以忽略重复项。

文档:https://msdn.microsoft.com/en-us/library/ms188388.aspx

您只能使用drop和create命令重新创建索引。

DROP INDEX IndexTest.ci_Test;
CREATE INDEX ci_Test ON IndexTest(Key);

但是你应该在一列上有聚集索引(例如在新的自动增量主键上)。并且您可以使用唯一的非聚集索引强制唯一性。