UNIQUE KEY 违规错误不显示重复数据

UNIQUE KEY Violation error not showing duplicated data

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

2014 年错误信息

Msg 2627, Level 14, State 1, Line 2 Violation of UNIQUE KEY constraint 'UK_table1'. Cannot insert duplicate key in object 'dbo.table1'. The duplicate key value is (xxx).

2008 年的错误信息

Msg 2627, Level 14, State 1, Line 2 Violation of UNIQUE KEY constraint 'UK_table1'. Cannot insert duplicate key in object 'dbo.table1'.

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

注意:- 希望问题很清楚,如果不清楚,请发表评论。此外,如果这是 2008+ 中的新功能,请为此添加有效的 reference/link

编辑

2008

2014

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

找到 @@version

运行 两台服务器上的以下内容:

select * from sysmessages sm where sm.error = 2627

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

Violation of %ls constraint '%.*ls'. Cannot insert duplicate key in object '%.*ls'. The duplicate key value is %ls.

回顾 SQL Server 2005 数据库,尽管模板是:

Violation of %ls constraint '%.*ls'. Cannot insert duplicate key in object '%.*ls'.

从您的 @@version 可以看出,它在 SQL Server 2008 RTM 中不可用,但从@Ponmani 的 @@version 可以看出,该功能是由 [=23 添加的=] 服务器 2008 R2.