关于这个错误信息不包含表名的争论听起来像是由TSA制定的。如果我是攻击者,我会知道我刚刚尝试利用哪个表,并且能够轻松地解释这个无用的消息。如果我是一个开发人员,在应用程序代码的多层复杂连接中工作,通常很难确定。
我的猜测是当实现此错误时,有人忽略了添加对象名称,现在人们害怕修复它会破坏兼容性。(做一些傻事情比如解析错误消息的代码会困惑于它所更改的内容。)
有没有一种开发人员友好(而不是招募DBA)的方法来确定缺少表的名称?
虽然我接受了一个与主题相关的答案,但它并没有真正回答我的问题:为什么错误消息不包含名称? 如果有人能提出真正的答案,我将很乐意改变我的投票。