作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们如何在 SQL Server 2012 中自动终止或终止挂起的任务?当我运行 sp_who2
时,它会显示许多处于 Suspended
状态的进程。
我想知道有什么方法可以自动终止或终止暂停的进程/任务,而不是手动执行。
我知道如何手动终止 SPID
,但我想要一些可以在定义的时间后自动终止这些任务的东西。
任何帮助将不胜感激。
最佳答案
这是一个简单的代码片段,它显示所有挂起的 SQL 任务并生成脚本来杀死它们。
DECLARE @sql NVARCHAR(max) = ''
SELECT @sql = @sql + 'kill ' + cast(session_id as nvarchar(30)) + ';'
-- select *
FROM sys.dm_exec_requests
WHERE status = 'suspended'
--and database_id = DB_ID('master')
--and user_id = USER_ID('sa')
print @sql
--EXEC(@sql)
通过 DB 添加过滤器取消注释以下行并更改 DB 名称
and database_id = DB_ID('master')
您也可以通过运行暂停查询的数据库用户对其进行过滤
and user_id = USER_ID('sa')
要自动执行生成的脚本只需取消最后一行的注释
EXEC(@sql)
应该适用于所有 SQL Server 版本。在 Microsoft SQL Server 2008 R2 及更高版本上测试
关于sql-server - 如何在 SQL Server 2012 中自动终止或终止挂起的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553448/
我是一名优秀的程序员,十分优秀!