如何在SQL Server中模拟长时间运行的查询

时间:2019-01-04 05:50:52

标签: sql sql-server

我正在尝试在mssql中模拟一个长时间运行的查询,以测试一些kill命令和清理操作。问题是,我想不出一种使查询长时间运行的方法。这是我目前正在做的事情:

select * from sales1 cross join sales2 cross join sales3 ...

查询会立即返回,尽管如果我执行cursor.fetchall()可能会花很长时间才能获取结果。

在返回时,当我这样做:

cursor.execute("sp_who2 'active'")

它没有显示该查询(我想是因为它已经被“执行”了。)

有没有一种方法可以模拟仅包含100个结果的一个表的长时间运行的查询?

2 个答案:

答案 0 :(得分:4)

waitfor语句

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/waitfor-transact-sql

waitfor delay '00:01'将等待1分钟

答案 1 :(得分:3)

在我公司中,我们收到OPEN TRANSACTION / LONG QUERY用户(甚至是DBA's)的警报

是的,没有OPEN TRAN / COMMIT的{​​{1}}可以使用,或者使用ROLLBACK