我有一些需要很长时间才能终止的进程。
我运行了 q 查询,花了 30 个小时“我忘记了”,所以我使用“kill id”杀死了它,但它已经尝试回滚了 30 多个小时。
有人可以告诉我如何强制它停止吗?
当我运行这个查询
select
p.spid
, right(convert(varchar,
dateadd(ms, datediff(ms, P.last_batch, getdate()), '1900-01-01'),
121), 12) as 'batch_duration'
, P.program_name
from master.dbo.sysprocesses P
where P.spid > 50
and P.status not in ('background', 'sleeping')
and P.cmd not in ('AWAITING COMMAND'
,'MIRROR HANDLER'
,'LAZY WRITER'
,'CHECKPOINT SLEEP'
,'RA MANAGER')
order by batch_duration desc
我得到以下结果
61 23:40:48.893 Microsoft SQL Server Management Studio - Query
51 23:33:03.410 Microsoft SQL Server Management Studio - Query
58 23:01:08.960 Microsoft SQL Server Management Studio - Query
55 20:45:41.953 Microsoft SQL Server Management Studio - Query
64 19:08:37.310 Microsoft SQL Server Management Studio - Query
62 00:00:05.207 Microsoft SQL Server Management Studio - Query
当我运行 kill 61 时,我得到以下 SPID 61:事务回滚正在进行中。预计回滚完成:0%。预计剩余时间:0 秒。(过去 24 小时都是这种情况!)
我能做些什么来解决这个问题?
谢谢