2010-08-03 115 views
1

我试图对SQL Server 2005中的表表单进行非唯一索引。我尝试创建它时遇到以下错误。创建非唯一索引时出现唯一索引错误 - SQL Server

消息1505,级别16,状态1,行 的CREATE终止,因为重复的键被发现的对象名称 'dbo.oe_pick_ticket' 和索引名称 'idx_pick_ticket_popup_wmms' UNIQUE INDEX语句。重复密钥值是(1093066,N,N,N,,FBF,100001,1074359,1118930)。

我创建语句如下:

CREATE NONCLUSTERED INDEX idx_pick_ticket_popup_wmms 
ON oe_pick_ticket (invoice_no, delete_flag, direct_shipment, auxiliary, oe_pick_ticket_type_cd, company_id, location_id, order_no) 

我试图重建聚集/独特/主键索引,但这并没有改变任何东西。有谁知道我为什么得到这个错误以及如何解决它?

+0

您是否100%确定该索引不存在?你有没有尝试删除它,看看它是否会抛出错误?听起来这个索引名已经存在于该表中。 – JNK 2010-08-03 16:57:18

+0

奇怪的是,错误消息提到UNIQUE索引,但在您提供的语句中没有看到UNIQUE关键字。那里似乎有脱节。 – 2010-08-03 17:56:45

回答

4

事实证明,我能够自己解决这个问题。我在桌面上运行了一个DBCC CHECKTABLE,并且出现了不一致。之后,我用REBUILD_REPAIR选项再次运行它,并修复了主键不一致的问题。