sqlserver之还原数据库后提示对应的库一直在还原中

如图所示:

 解决办法:restore database XXX with recovery

注:XXX是对应的数据库名称

二)提示如下:此时无法更改数据库 'run' 的状态或选项。此数据库处于单用户模式,当前某个用户已与其连接。

解决办法:ALTER DATABASE [数据库名] SET MULTI_USER

然后重启数据库

注意如果还是无法改为多用户可以执行下面的脚本:建立一个存储过程:

USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--建一个存储过程,断开所有用户连接。
create proc [dbo].[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
GO

然后执行:先在master中创建一个存储过程,用于干掉所有连接,然后调用

use master
exec killspid '出错数据库'

再删除就ok了

ALTER DATABASE run SET MULTI_USER

原文地址:https://www.cnblogs.com/fengyiru6369/p/13303614.html