Xin vui lòng xem bên dưới SQL script để giết tất cả các quy trình cho một cơ sở dữ liệu nhất định (SQL Server 2014)
Declare @DbName nvarchar(60)='YourDBName'
Declare @SPID int
--get all processes
DECLARE @Table TABLE(
SPID INT,
Status VARCHAR(MAX),
LOGIN VARCHAR(MAX),
HostName VARCHAR(MAX),
BlkBy VARCHAR(MAX),
DBName VARCHAR(MAX),
Command VARCHAR(MAX),
CPUTime INT,
DiskIO INT,
LastBatch VARCHAR(MAX),
ProgramName VARCHAR(MAX),
SPID_1 INT,
REQUESTID INT
)
INSERT INTO @Table EXEC sp_who2
--using cursor to kill all processes
Declare cur_KillAllProcesses CURSOR FAST_FORWARD FOR
Select
SPID
From @Table
WHERE [email protected]
OPEN cur_KillAllProcesses
FETCH NEXT FROM cur_KillAllProcesses INTO
@SPID
WHILE @@FETCH_STATUS=0
BEGIN
--add kill process command
Exec('KILL '+ @SPID)
FETCH NEXT FROM cur_KillAllProcesses INTO @SPID
END
CLOSE cur_KillAllProcesses
DEALLOCATE cur_KillAllProcesses
"sẽ giết tất cả quá trình đang chạy trên một cơ sở dữ liệu" - bây giờ tại sao trên trái đất ai sẽ muốn làm điều đó ! –
@mitch: chúng tôi đang thử nghiệm trên cơ sở dữ liệu giả của chúng tôi, vì vậy không cần phải lo lắng – Buzz
Để kết thúc là gì? Nếu bạn muốn, ví dụ: chuyển sang chế độ người dùng đơn, có nhiều cách buộc mọi người khác ngắt kết nối (['ROLLBACK IMMEDIATE'] (http://msdn.microsoft.com/en-us/library/bb522682.aspx)) –