ASP.NET中的SqlServer超时

时间:2012-08-09 05:59:10

标签: asp.net sql-server timeout

我有一个SP在SqlServer环境中需要20秒,但有时在我运行SP的ASP.NET页面中我得到了SqlServer超时删除。 我事件将CommandTimeout和ConnectionTimeout设置为60,但我仍然得到异常。 我很乐意帮助我。

5 个答案:

答案 0 :(得分:1)

其他一些操作可能会锁定表格。将超时设置为更高的值并检查。

运行proc执行sp_locksp_who2系统过程以进行任何锁定

答案 1 :(得分:0)

你可以尝试

  cmd.CommandTimeout = 0;

如果您执行查询需要很长时间。

答案 2 :(得分:0)

1)尝试过像

这样的东西
SqlCommand cmd = new SqlCommand("MyReport", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandTimeout = 3660; //// or set it zero (0)

2)和这个???

              

3)假设您的数据库服务器和执行点不同,您的互联网/内联网连接是否正常? 4)检查vpn连接(如果使用)

答案 3 :(得分:0)

从SSMS执行查询并保存执行计划。然后运行应用程序并让SQL事件探查器捕获跟踪,然后按照link中的说明从分析器中保存执行计划。

比较两个执行计划,找出执行中的实际差异。

检查parameter sniffing。如果您仍然遇到问题,请确保更新数据库统计信息,有时这可能是丢弃后创建过程的问题。

答案 4 :(得分:0)

我认为问题是您的应用程序存储过程中的发送参数。 再试一次,但是这次使用 SQL Server Profiler 来跟踪您的查询执行。 您可以在SQL Server Profiler中使用 TextData列值,然后再次运行实际执行的查询来查找实际问题。