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

时间:2016-04-15 08:44:15

标签: sql sql-server ssms unique-constraint

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

2014年的错误讯息

  

Msg 2627,Level 14,State 1,Line 2违反UNIQUE KEY约束   ' UK_table1&#39 ;.无法在对象' dbo.table1'中插入重复的密钥。的 的   重复键值为(xxx)

2008年的错误消息

  

Msg 2627,Level 14,State 1,Line 2违反UNIQUE KEY约束   ' UK_table1&#39 ;.无法在对象' dbo.table1'。

中插入重复键

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

注意: - 希望问题清楚,如果不是,请评论。此外,如果这是2008年以上的新功能,请为此

添加有效的参考/链接

修改

2008 2008

2014 2014

2 个答案:

答案 0 :(得分:3)

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

enter image description here

找到@@version

enter image description here

答案 1 :(得分: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添加了该功能。