我们有第 3 方应用程序。在其中一份报告中,它向我们提供了错误消息:
Microsoft OLE DB Provider for SQL Server: Subquery returned more than 1 value. 这是不允许的...
我需要找到导致此错误的语句。报告持续时间很长——大约几个小时。我想设置扩展事件会话来捕获此错误。我对吗?还有其他方法(xEvents 和 trace 除外)可以抓取这个错误的 SQL 语句吗?
我们有第 3 方应用程序。在其中一份报告中,它向我们提供了错误消息:
Microsoft OLE DB Provider for SQL Server: Subquery returned more than 1 value. 这是不允许的...
我需要找到导致此错误的语句。报告持续时间很长——大约几个小时。我想设置扩展事件会话来捕获此错误。我对吗?还有其他方法(xEvents 和 trace 除外)可以抓取这个错误的 SQL 语句吗?
在这种情况下,如果您想使用 XE,您可以通过“sqlserver.error_reported”获取它。返回多个值的子查询的错误编号为 512 - 因此我们可以仅过滤512 的错误编号。
XE 会话代码: