Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果查询运行时间过长,是否将其编程为取消?_Sql_Sql Server_Tsql_Sql Tuning - Fatal编程技术网

Sql 如果查询运行时间过长,是否将其编程为取消?

Sql 如果查询运行时间过长,是否将其编程为取消?,sql,sql-server,tsql,sql-tuning,Sql,Sql Server,Tsql,Sql Tuning,我正在尝试优化一个查询,并希望在服务器上没有太多流量的情况下,在下班后测试几个部分。我将对各个查询进行基准测试,并将结果写入表中,以便在早上进行检查,即 waitfor time '22:00'; declare @timer datetime declare @time float declare @query nvarchar(max) set @query = N'select ...' set @timer = getdate() exec sp_executesql @query

我正在尝试优化一个查询,并希望在服务器上没有太多流量的情况下,在下班后测试几个部分。我将对各个查询进行基准测试,并将结果写入表中,以便在早上进行检查,即

waitfor time '22:00';

declare @timer datetime
declare @time float
declare @query nvarchar(max)

set @query = N'select ...'
set @timer = getdate()
exec sp_executesql @query
set @time = datediff(ss,@timer,getdate())
问题是,我将无法手动监视查询,而且我不想冒让某些东西运行数小时的风险。有没有办法,使用T-SQL设置一个超时,以便该查询在10分钟后取消


SE上的其他问题表明,现在有办法做到这一点,或者可以为我无权创建的计划作业执行此操作,但我正在寻找任何替代或创造性的解决方案。

可能重复类似的内容,请查看@LOCK\u TIMEOUT。如果对你有用的话。服务器端可能会出现类似的情况,但肯定没有什么可以做到这一点。即使在SSMS中,超时也是客户端的事情。为什么不制作数据库的dev副本以供测试?