标签: arithabort

查询从Web执行时超时,但从SSMS执行时超快

我正在尝试在我维护的Web应用程序中调试SQL超时的来源.我有C#代码的源代码,所以我确切地知道正在运行什么代码.我已经将应用程序调试到执行超时的SQL代码的行,并且我在SQL分析器中观察运行的查询.

当此查询从Web执行时,它会在30秒后超时.但是,当我完全按照Profiler中显示的方式剪切/粘贴查询时,我将其放入SSMS并运行它,它几乎立即返回.我已经跟踪了ARITHABORT在Web正在使用的连接中设置为OFF的问题(也就是说,如果我在SSMS会话中关闭ARITHABORT,它会运行很长时间,如果我将其重新打开,那么它会运行很快).但是,阅读ARITHABORT的描述,它似乎并不适用......我只做一个简单的SELECT,并且根本没有执行任何算法......只有一个带有WHERE条件的INNER JOIN:

为什么ARITHABORT OFF会在此上下文中导致此行为?有什么办法可以改变SSMS对该连接的ARITHABORT设置吗?我正在使用SQL Server 2008.

sql-server ssms sql-server-2008 query-performance arithabort

41
推荐指数
3
解决办法
3万
查看次数