当前位置: 代码迷 >> Sql Server >> 有没有清除数据库连接的T-SQL语句?多谢
  详细解决方案

有没有清除数据库连接的T-SQL语句?多谢

热度:235   发布时间:2016-04-27 21:56:41.0
有没有清除数据库连接的T-SQL语句???谢谢
有时使用T-SQL语句分离数据库,但是不成功,原因是有连接在使用。请问有没有清除数据库连接的T-SQL语句???

------解决方案--------------------
alter database [数据库名] set offline with rollback after 10
------解决方案--------------------
--楼上是脱机
--假设要清除数据库abc的连接
declare @spid int
declare @strsql varchar(256)
select @spid=min(spid) from master.dbo.sysprocesses
while @spid is not null
begin
set @strsql= 'kill ' + cast(@spid as varchar)
print(@strsql)
select @spid=min(spid) from master.dbo.sysprocesses
where spid> @spid and db_name(dbid) = 'abc ' and dbid <> 0
end
go
------解决方案--------------------
噢,像这样

USE Master
SET NOCOUNT ON
Declare @spID varchar(100)
Declare @SQL varchar(5000)
Select @spID= ' ',@SQL= ' '

Create table #tmp (spid int,ecid int,status varchar(50),loginame varchar(50),hostname varchar(100),blk int,dbname varchar(50),cmd varchar(400))

Insert into #tmp
Exec sp_who

Select @[email protected]+ ' Kill '+Cast(spid as varchar) From #tmp where dbname= 'Northwind '
exec (@SQL)
Drop table #tmp
  相关解决方案