我有一个存储过程,每次从 Web 应用程序调用它时,它都会超时。
我启动了 Sql 分析器,追踪了那段时间的通话,最后发现了这些事情:
除了我的 web 应用程序有自己的用户这一事实之外,所有的东西都是相同的(相同的数据库、连接、服务器等等) 我也尝试运行查询直接在工作室与网络应用程序的用户,它不需要超过6秒。
我怎么才能知道发生了什么?
我假设这与我们使用 BLL > DAL 层或者 Table 适配器的事实无关,因为跟踪清楚地显示了延迟在实际过程中。我只能想到这些。
编辑 我在 这个链接中发现 ADO.NET 将 ARITHABORT
设置为 true-这在大多数情况下是好的,但有时会发生这种情况,建议的解决方法是在存储的 proc 中添加 with recompile
选项。在我的情况下,它不工作,但我怀疑这是非常类似的东西。有人知道 ADO.NET 还做什么或者我在哪能找到规范吗?