Sql-Server

即使在重新啟動後 SQL Server 作業也卡住了

  • December 9, 2019

我有一個 SQL Server 代理作業卡在“進行中”。這是一個完整的備份,通常需要 30 分鐘,但需要 7 個小時並且還在繼續。我重新啟動了代理,然後重新啟動了整個作業系統,它仍然顯示“進行中”。

有沒有辦法阻止它?

如果我執行select * from sys.dm_exec_requests,我會得到 2 行處於“執行”狀態的行,其中一行是“SELECT”,另一行是“DBCC TABLE CHECK”。事實上,這項工作的第一步是使用 Ola Hallengren 的腳本執行數據庫完整性檢查。

版本:

Microsoft SQL Server 2016 (RTM-GDR) (KB4019088) - 13.0.1742.0 (X64)

2017 年 7 月 5 日 23:41:17 版權所有 (c) Windows Server 2016 Datacenter 6.3(內部版本 14393)上的 Microsoft Corporation 標準版(64 位): )(管理程序)

不使用 GUID 而是使用 T-SQL 過程:

sp_stop_job

可以幫助解決您遇到的問題。

例子:

exec msdb.dbo.sp_stop_job @job_name = 'enterjobnamehere'

檢查代理啟動的任何查詢的目前執行查詢並終止這些查詢也可能有所幫助。

調整腳本以查找代理服務啟動的正在執行的查詢的範例:

SELECT sqltext.TEXT,
req.session_id,
req.status,
req.command,
req.cpu_time,
req.total_elapsed_time
FROM sys.dm_exec_requests req
INNER JOIN sys.dm_exec_Sessions s
on req.session_id = s.session_id
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
WHERE [Program_Name] like 'SQLAgent%';

引用自:https://dba.stackexchange.com/questions/255176