Sql server 连接字符串中未遵守超时

Sql server 连接字符串中未遵守超时,sql-server,database,timeout,Sql Server,Database,Timeout,我有一个要运行的长时间运行的SQL语句,无论我在连接字符串的“timeout=”子句中添加了什么,它似乎总是在30秒后结束 我只是使用SqlHelper.ExecuteNonQuery()来执行它,并让它负责打开连接等 是否有其他内容可能会覆盖我的超时,或导致sql server忽略它?我已经对查询运行了探查器,当我在ManagementStudio中运行它时,与在代码中运行它时,跟踪看起来没有任何不同 Management studio大约在一分钟内完成查询,但即使超时设置为300或30000

我有一个要运行的长时间运行的SQL语句,无论我在连接字符串的“timeout=”子句中添加了什么,它似乎总是在30秒后结束

我只是使用
SqlHelper.ExecuteNonQuery()
来执行它,并让它负责打开连接等

是否有其他内容可能会覆盖我的超时,或导致sql server忽略它?我已经对查询运行了探查器,当我在ManagementStudio中运行它时,与在代码中运行它时,跟踪看起来没有任何不同


Management studio大约在一分钟内完成查询,但即使超时设置为300或30000,我的代码在30秒后仍会超时。

您使用什么设置连接字符串中的超时?从内存中,这是“ConnectionTimeout”,只影响实际连接到服务器所需的时间

每个单独的命令都有一个单独的“CommandTimeout”,这就是您要查找的。但不确定SqlHelper是如何实现的。

除了连接字符串中的timeout外,还可以尝试使用SQL命令的timeout属性。下面是一个C#示例,使用SqlCommand类。它的等价物应该适用于您正在使用的内容

SqlCommand command = new SqlCommand(sqlQuery, _Database.Connection);
command.CommandTimeout = 0;
int rows = command.ExecuteNonQuery();

太明显了!但这并不能阻止我浪费两个小时去寻找答案。。。。谢谢