Sql 不显示重复数据的唯一密钥冲突错误

Sql 不显示重复数据的唯一密钥冲突错误,sql,sql-server,ssms,unique-constraint,Sql,Sql Server,Ssms,Unique Constraint,在SQL Server 2008中,在将一组记录插入我的表table1时,由于重复的数据,我得到一个唯一的密钥冲突错误。这很好,但是错误消息没有显示复制了哪些数据。但在SQL Server 2014中,它也显示了重复的键值 2014年的错误消息 Msg 2627,第14级,状态1,第2行违反唯一密钥约束 “UK_表1”。无法在对象“dbo.table1”中插入重复键最新版本 重复的键值为(xxx) 2008年的错误消息 Msg 2627,第14级,状态1,第2行违反唯一密钥约束 “UK_表1”。

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

2014年的错误消息

Msg 2627,第14级,状态1,第2行违反唯一密钥约束 “UK_表1”。无法在对象“dbo.table1”中插入重复键最新版本 重复的键值为(xxx)

2008年的错误消息

Msg 2627,第14级,状态1,第2行违反唯一密钥约束 “UK_表1”。无法在对象“dbo.table1”中插入重复键

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

注意:-希望问题清楚,如果不清楚,请评论。如果这是2008+中的新功能,请为此添加有效的参考/链接

编辑

2008年

2014年

Abdul,它似乎可以在SQL server 2008中使用。请找到截图

查找
@@version


在两台服务器上运行以下操作:

select * from sysmessages sm where sm.error = 2627
您应该看到消息模板是不同的。您使用的是哪个版本的SQL Server 2008,因为它在2008 R2中确实可用:

违反了%ls约束'%1!'。无法在对象'%1!'中插入重复的键。重复的键值为%ls

回顾SQL Server 2005数据库,模板如下:

违反了%ls约束'%1!'。无法在对象'%1!'中插入重复的键


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

10.0.1600.22是SQL 2008 RTM。因此,似乎从2008年起就可以使用。您的版本号@Abdul Rasheed是多少?谢谢您的回复,在我的问题中附上了一个屏幕截图您能在您的@Ponmani Chinnaswamy上运行
@@version
?您的客户端工具肯定是SQL 2008 RTM,但服务器可能不是(或者是本地的?)。@strickt01,请查找编辑的帖子。我附上了截图它是2008 R2,但我的是2008,这是不同的,谢谢@PonmaniChinnaswamySee我编辑的帖子-从你和@Ponmani的
@@s版本看似乎很清楚它是在SQL 2008 R2中引入的。@strickt01,是的,你是对的,谢谢。还有一点,是否可以在2008年编辑此sysmessages以包含此功能?只是想知道吗?不幸的是,内部代码调用
RAISERROR
不会将必需的参数传递给该消息。您需要升级…谢谢大家,我们有一个很好的经验和一个新功能。