Sql server 存储过程执行超时问题

Sql server 存储过程执行超时问题,sql-server,stored-procedures,Sql Server,Stored Procedures,我已经创建了一个存储过程。在查询分析器中执行它需要47秒。 因此,我的web应用程序引发超时异常。 我们可以在我的代码或web.config文件中进行任何修改,而不是在存储过程中进行更改来解决此问题吗 我的配置文件中有以下设置 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Con

我已经创建了一个存储过程。在查询分析器中执行它需要47秒。 因此,我的web应用程序引发超时异常。 我们可以在我的代码或web.config文件中进行任何修改,而不是在存储过程中进行更改来解决此问题吗

我的配置文件中有以下设置

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/>
这里,如果我再添加一行:

_dbCommand.CommandTimeout = 120
然后我的问题解决了。
所以我的问题是我在web.config文件中设置了超时。我是否还需要在代码中添加_dbCommand.CommandTimeout=120行。

放大db连接类中的超时…,但我建议先优化SP

放大db connection类中的超时…,但我建议先优化SP

基于更新问题的新答案

.config文件中连接字符串属性中的超时是连接超时,而不是命令超时。连接超时是等待SQL Server最初响应连接的时间量,而不是执行查询所需的时间量


如果要在配置文件中设置命令超时,则必须对其进行编码,因为它不是连接字符串的一部分。

基于更新的问题的新答案

.config文件中连接字符串属性中的超时是连接超时,而不是命令超时。连接超时是等待SQL Server最初响应连接的时间量,而不是执行查询所需的时间量


如果要在配置文件中设置命令超时,必须对其进行编码,因为它不是连接字符串的一部分。

您的意思是访问该状态会得到47秒的超时吗?如果没有,那么您可能需要查看连接字符串,而不是状态配置?有一条评论给出了状态配置设置……你的意思是说你访问该状态会得到47秒的超时吗?如果没有,那么您可能需要查看连接字符串,而不是状态配置?有一条注释给出了状态配置设置。。。
_dbCommand.CommandTimeout = 120