恢复数据库时,如果有其他人正在使用,则恢复不成功。能不能在恢复数据库前先把所在连接该数据库的人停掉,

用SQl语句控制MS SQl server的用户连接

create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
declare @spid int
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status < >-1
begin
exec('kill '+@spid)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end

--用法
use master
exec killspid '数据库名'

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus