📅  最后修改于: 2023-12-03 14:47:36.145000             🧑  作者: Mango
在SQL Server中,你可以使用以下SQL查询来杀死所有的数据库连接:
-- 选择要关闭连接的数据库
USE master;
-- 创建一个存储过程来杀死所有连接
CREATE PROCEDURE KillAllConnections
AS
BEGIN
SET NOCOUNT ON;
-- 声明变量
DECLARE @spid INT;
DECLARE @sql NVARCHAR(255);
-- 创建一个游标来获取所有活动的连接
DECLARE connection_cursor CURSOR FOR
SELECT spid
FROM sys.sysprocesses
WHERE dbid = DB_ID('YourDatabaseName');
-- 打开游标
OPEN connection_cursor;
-- 循环遍历所有连接并杀死它们
FETCH NEXT FROM connection_cursor INTO @spid;
WHILE @@FETCH_STATUS = 0
BEGIN
-- 构建动态SQL语句来杀死连接
SET @sql = N'KILL ' + CAST(@spid AS NVARCHAR(10));
-- 执行动态SQL语句
EXEC sp_executesql @sql;
-- 继续下一个连接
FETCH NEXT FROM connection_cursor INTO @spid;
END;
-- 关闭游标
CLOSE connection_cursor;
DEALLOCATE connection_cursor;
END;
使用以上代码,请将“YourDatabaseName”替换为你想要关闭连接的数据库名。
然后,你可以执行以下查询来杀死所有连接:
-- 使用存储过程来杀死所有连接
EXEC KillAllConnections;
请注意,执行此操作将终止正在运行的所有活动查询和事务。请在执行前谨慎操作。
以上是杀死所有连接的方法,你可以在SQL Server中使用它来关闭连接。