SQL Server唯一索引允许重复

Aar*_*erg 1 sql-server unique-index

我使用的是SQL Server 2008,有一个带有id(数字)列的表作为主键.还有三个varchar列的唯一索引.我能够添加一行与三列完全相同的一组.我通过对值的简单查询验证了它,并返回了2行.

我编辑了索引并添加了id列.当我再次尝试编辑并删除id列时,它抱怨有重复的行,它删除了索引但无法创建它.

然后我清理重复的数据库,重新创建索引,使用相同的3 varchars作为唯一和非聚集,现在它正常工作,不允许重复.

有谁知道为什么这个指数的唯一性被忽略了?

Rem*_*anu 5

索引可能已被禁用(请参阅禁用索引),您的"重复"值可能不同(例如尾随空格),或者您的测试可能不正确.

确保您没有在强制唯一索引中插入副本.