--先结束使用该数据库的进程
declare @dbname varchar(50)
set @dbname='test'
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
go
--还原数据库
restore database test
from disk=N'd:\backup\test.bak' with file=1
,nounload, replace, stats=10