首页 > 解决方案 > 限制 SQL Server 中动态 SQL 的执行时间

问题描述

EXECUTE sp_executesql @Command用来执行一段动态构建的代码。

是否有任何机制可以让我将执行时间限制为预定义的秒数?

标签: sqlsql-serverdynamic-sql

解决方案


设置每个查询超时通常是在任何代码将调用查询时执行的操作,而不是在查询本身中。例如,在 .NET 中,您可以设置SqlCommand::CommandTimeout

我在 T-SQL 中所知道的最接近的事情是SET QUERY_GOVERNOR_COST_LIMIT,但这并不能完全满足您的要求;如果 SQL Server估计其执行时间大于X 秒,则此设置将首先禁止查询运行,而不是在 X 秒后终止查询。


推荐阅读