Answers:
没有变化。SQL Server 2017仍然提供相同的模糊错误消息,并且不提供任何机制来发现有问题的行/列。
停用Connect时,该Connect项具有1,600票以上:
来自微软的最新评论是:
最新更新-正在开发它的开发人员了解创建完整修复程序所涉及的挑战。以不影响插入或更新性能的方式,将有关生成完整错误消息所需的列的信息下探到实际转换函数可能很困难。我们可能会在短期内实现一些便宜的东西,例如记录被截断的数据的类型和长度。尚不知道何时将这种修补程序发布到公开发布的版本还为时过早。
我能建议的最好的办法是对该项目进行投票(并对其进行评论,描述它会为您增加的商业价值)。
如MDSN博客文章所述,我们的祈祷已得到答复:
SQL Server 2019引入了一条带有其他上下文信息的新消息。
该错误现在应该更加有意义:
消息2628,级别16,状态1,第14行在表'DbName.SchemaName.TableName'的列'Col'中,字符串或二进制数据将被截断。截断的值:“ ...”。
此外,好消息是,此更改将在2017年和2016年反向移植:
此新消息也将反向移植到SQL Server 2017 CU12(以及即将发布的SQL Server 2016 SP2 CU),但默认情况下不会。您需要启用跟踪标志460,以在会话或服务器级别用2628替换消息ID 8152。