Как закрыть все текущие соединения с базой данных SQL Server 2005?

Сценарий для этого, замените sql-srever 'DB_NAME' на базу данных, чтобы sql-srever убить все подключения к:

USE master
GO

SET NOCOUNT ON
DECLARE @DBName varchar(50)
DECLARE @spidstr varchar(8000)
DECLARE @ConnKilled smallint
SET @ConnKilled=0
SET @spidstr = ''

Set @DBName = 'DB_NAME'
IF db_id(@DBName) < 4
BEGIN
PRINT 'Connections to system databases cannot be killed'
RETURN
END
SELECT @spidstr=coalesce(@spidstr,',' )+'kill '+convert(varchar, spid)+ '; '
FROM master..sysprocesses WHERE dbid=db_id(@DBName)

IF LEN(@spidstr) > 0
BEGIN
EXEC(@spidstr)
SELECT @ConnKilled = COUNT(1)
FROM master..sysprocesses WHERE dbid=db_id(@DBName)
END

sql-server

sql-server-2005

2022-09-14T22:34:40+00:00
Вопросы с похожей тематикой, как у вопроса:

Как закрыть все текущие соединения с базой данных SQL Server 2005?