我有一个SP在SqlServer环境中需要20秒,但有时在我运行SP的ASP.NET页面中我得到了SqlServer超时删除。 我事件将CommandTimeout和ConnectionTimeout设置为60,但我仍然得到异常。 我很乐意帮助我。
答案 0 :(得分:1)
其他一些操作可能会锁定表格。将超时设置为更高的值并检查。
运行proc执行sp_lock
和sp_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列值,然后再次运行实际执行的查询来查找实际问题。