Sql Server无法恢复数据库,提示正在被使用

今天尝试恢复(restore)SQL Server数据库,遇到如下问题
Sql Server无法恢复数据库,提示正在被使用_第1张图片

考虑两种解决方法
1. 找到所有的连接,并kill他们
2. 将database offline(同时所有链接将被关闭),然后重新online再恢复数据库
方法一

declare @sql as varchar(20), @spid as int

select @spid = min(spid) from master..sysprocesses where dbid = db_id('<database_name>') and spid != @@spid while (@spid is not null) begin print 'Killing process ' + cast(@spid as varchar) + ' ...' set @sql = 'kill ' + cast(@spid as varchar) exec (@sql) select @spid = min(spid) from master..sysprocesses where dbid = db_id('<database_name>') and spid != @@spid end print 'Process completed...'

方法二

alter database database_name set offline with rollback immediate alter database database_name set online go

你可能感兴趣的:(backup,restore,sql-server)