我想假长时间运行的SQL语句,这样我就可以尝试使用sys.dm_exec_requests假长时间运行的SQL语句
“假”是不是来形容它的最好办法,但没有人有可能是一个很好的提示选择自动生成的记录?也许使用CTE?
我想假长时间运行的SQL语句,这样我就可以尝试使用sys.dm_exec_requests假长时间运行的SQL语句
“假”是不是来形容它的最好办法,但没有人有可能是一个很好的提示选择自动生成的记录?也许使用CTE?
的变化下面是一个长期运行的SQL语句:
WAITFOR DELAY '0:05';
这将需要大约五分钟来执行。
正如我写“CTE”......它让我想到。后来快速搜索和 http://smehrozalam.wordpress.com/2009/06/09/t-sql-using-common-table-expressions-cte-to-generate-sequences/
--define start and end limits
Declare @start bigint, @end bigint
Select @start=1, @end=99999
;With NumberSequence(Number) as
(
Select @start as Number
union all
Select Number + 1
from NumberSequence
where Number < @end
)
--select result
Select * From NumberSequence Option (MaxRecursion 0)
在一个查询窗口中,执行以下:
BEGIN TRANSACTION
SELECT * from TableY with (XLOCK)
然后,在另一窗口中执行试图访问TableY
任何(*)查询。它会一直运行,直到您关闭第一个窗口或执行其中的ROLLBACK
或COMMIT
。
(*)假设您没有将NOLOCK
提示添加到对TableY
的引用中。
谢谢,我喜欢这个看表锁。 –
[这不能保证工作](http://sqlblog.com/blogs/paul_white/archive/2010/11/01/read-committed-shared-locks-and-rollbacks.aspx) –
谢谢,我喜欢这一个它是直截了当的。 –