終了に時間がかかるプロセスがいくつかあります。
「私はそれを忘れました」と 30 時間かかった q クエリを実行したので、「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 時間のケースです!)
この問題を解決するにはどうすればよいですか?
ありがとう