1

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

4

5 回答 5

1

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

在为任何锁定运行 proc 执行sp_lock和系统过程时sp_who2

于 2012-08-09T06:02:40.963 回答
0

你可以试试

  cmd.CommandTimeout = 0;

如果您正在执行一个需要很长时间的查询。

于 2012-08-09T07:14:52.923 回答
0

1)尝试过类似的东西?

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

2)这???

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

于 2012-08-09T07:56:03.087 回答
0

从 SSMS 执行查询并保存执行计划。然后运行应用程序并让 SQL Profiler 捕获跟踪,然后保存来自 profiler 的执行计划,如此链接中所述。

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

检查参数嗅探。如果您仍然有问题,请确保更新数据库统计信息,有时这可能是删除并创建过程后的问题。

于 2015-07-31T10:40:08.010 回答
0

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

于 2019-02-17T18:46:49.083 回答