gpt4 book ai didi

sql-server - 如何在 SQL Server 2012 中自动终止或终止挂起的任务?

转载 作者:行者123 更新时间:2023-12-04 00:21:49 24 4
gpt4 key购买 nike

我们如何在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com