我在SQL Server 2008中调用存储过程时超时

Pat*_*ier 6 c# sql sql-server stored-procedures timeout

从带有EF的C#,我调用一个长存储过程 ExecuteStoreCommand

程序启动30秒后,我有一个超时异常.

如何配置超时?在服务器上还是在我的C#客户端?

谢谢

Dav*_*kle 16

您可以在底层连接上设置CommandTimeout,但是一个更好,更好,更好的想法是花费时间和精力来诊断超时发生的原因.

即使您通过增加CommandTimeout来"解决"问题,也可能会导致数据库中出现其他阻塞问题.寻找阻塞查询或糟糕的查询计划,或者设计糟糕的表和索引.


Vla*_*den 5

        using (var context = new MyDbEntities())
        {
            context.CommandTimeout = 600;
            context.MyLongRunningStoredProc();
        }
Run Code Online (Sandbox Code Playgroud)