【发布时间】:2011-01-11 22:58:22
【问题描述】:
我在运行以下 Transact-SQL 命令时遇到错误:
CREATE UNIQUE NONCLUSTERED INDEX IX_TopicShortName
ON DimMeasureTopic(TopicShortName)
错误是:
消息 1505,第 16 级,状态 1,第 1 行 CREATE UNIQUE INDEX 语句 终止,因为重复的密钥 找到对象名称 'dbo.DimMeasureTopic' 和索引 名称“IX_TopicShortName”。这 重复键值为 ()。
当我运行 SELECT * FROM sys.indexes WHERE name = 'IX_TopicShortName' 或 SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[DimMeasureTopic]') 时,不会显示 IX_TopicShortName 索引。所以似乎没有重复。
我在另一个数据库中具有相同的架构,并且可以在那里创建索引而不会出现问题。任何想法为什么它不会在这里创建?
【问题讨论】:
-
在进行有人更新时运行的迁移时遇到了同样的问题。我解决了这个问题,首先检查重复项并删除它们,然后检查 INDEX 是否存在以及是否不创建它。
标签: sql-server-2005 tsql indexing unique-index