2010-08-25 113 views
0

我有一个存储过程执行几个查询。由于超时,每个查询都可能失败。处理存储过程中的超时

我还想继续执行其他查询。 这可能吗?试一试超时工作吗?

我可以offcourse每个查询具有不同的sps,但这会使应用程序更复杂。

回答

4

如何运行SQL?

SQL本身没有超时,所以你描述的问题是不可能的。

超时总是在连接级别/连接应用程序上处理。 SQL Server很高兴能够持续数小时或数天的SQL调用。

所以,除非你做了一些“有趣”/不寻常的事情,否则SP中的查询不会超时 - 调用该过程的连接将超时并因此回滚事务。

1

存储过程中的查询不超时 - 正在执行sproc超时的sql批处理 - 所以不行,你不能'捕捉'然后处理超时。

1

如果您经常收到超时,修复是性能调整查询不尝试跳过超时并转移到下一个查询。

超时通常是错误的查询设计(数字1原因),数据库设计不良(数字2原因)或设备不足的标志。所有三个都是可以修复的。所以修复它们。