用SQL语句断开某个数据库的所有活动连接
每次一执行完一个数据库脚本,想要做一些别的操作的时候(比如还原数据库),老是有数据库活动连接,烦不胜烦(如下图所示)。
下面给出一种删除数据库活动连接的方式。将下面代码段中的“--修改一下”处的数据库名修改成自己的数据库名。
USE master go IF EXISTS ( SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[P_KillConnections]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1 ) DROP PROCEDURE [dbo].[P_KillConnections] GO CREATE PROC P_KillConnections @dbname VARCHAR(200) AS DECLARE @sql NVARCHAR(500) DECLARE @spid NVARCHAR(20) DECLARE #tb CURSOR FOR SELECT spid=CAST(spid AS VARCHAR(20)) FROM master..sysprocesses WHERE dbid=DB_ID(@dbname) OPEN #tb FETCH NEXT FROM #tb INTO @spid WHILE @@fetch_status = 0 BEGIN EXEC('kill '+@spid) FETCH NEXT FROM #tb INTO @spid END CLOSE #tb DEALLOCATE #tb go--修改一下
EXEC P_KillConnections '修改成自己的数据库'
作者:kissazi2
出处:http://www.cnblogs.com/kissazi2/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。