首页 文章

UNIQUE KEY Violation错误未显示重复数据

提问于
浏览
1

在SQL Server 2008中,在将一组记录插入到我的表 table1 时,由于重复数据,我收到一个唯一的密钥冲突错误 . 这很好,但错误消息没有显示哪些数据是重复的 . 但在SQL Server 2014中,它也显示了重复的键值 .

2014年的错误消息

消息2627,级别14,状态1,行2违反UNIQUE KEY约束'UK_table1' . 无法在对象'dbo.table1'中插入重复键 . 重复键值为(xxx) .

2008年的错误消息

消息2627,级别14,状态1,行2违反UNIQUE KEY约束'UK_table1' . 无法在对象'dbo.table1'中插入重复键 .

这是2014年的新功能还是有任何方法可以在SQL Server 2008中显示它?

注意: - 希望问题很清楚,如果不是请注释 . 此外,如果这是2008年的新功能,请为此添加有效的参考/链接

EDIT

2008
2008

2014
2014

2 回答

  • 2

    在两台服务器上运行以下命令:

    select * from sysmessages sm where sm.error = 2627
    

    您应该看到消息模板不同 . 您使用的是哪个确切版本的SQL Server 2008,因为它在2008 R2中绝对可用:

    违反%ls约束'% . * ls' . 无法在对象'% . * ls'中插入重复键 . 重复键值为%ls .

    通过模板回顾SQL Server 2005数据库是:

    违反%ls约束'% . * ls' . 无法在对象'% . * ls'中插入重复键 .

    从查看您的 @@version 可以清楚地看到它在SQL Server 2008 RTM中不可用,但是来自@ Ponmani的 @@version 该功能是由SQL Server 2008 R2添加的 .

  • 3

    Abdul,它似乎在SQL Server 2008本身可用 . 请找截图 .

    enter image description here

    找到 @@version

    enter image description here

相关问题