手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
摘要:这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接。查字典教...

这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接。

查字典教程网小编推荐的一个方法:到服务里面重启下sqlserver服务即可。

问题一描述:SQL Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样

问题二描述:在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)。出现此问题的原因是在还原数据库时,有其他用户正在使用数据库。还原数据库要求数据库工作在单用户模式。通常就是DBA在操作时,不允许其他用户连接数据库。

问题一解决办法:

右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定。

问题二解决办法:

方法一(最方便):右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Single-> 确定。然后还原。

方法二(最直接):断开数据库连接

方法三(最暴力):注销/重启数据库服务器

方法四(最麻烦):写代码修改数据库相关属性,虽然麻烦,有的时候还是要用到,那就用到的时候再研究。

①先切换数据库到master数据库。执行语句

select * from master..sysprocesses where dbid=db_id( '数据库名称')

②然后逐步运行语句 exec kill spid(上一步结果集中的数据),

问题就解决了。哈哈

今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题。现将引发该问题的原因与解决方案写出来,有不对的地方欢迎大家提出来。

引发原因:是因为我在还原数据库的时候,还有其他的用户正在使用数据库,所以就会出现以上提示。

解决方法:

1,设置数据库在单用户模式下工作。

设置方法:在需要还原的数据库上右击,在右键菜单命令上选择"属性"- >"选项"- >"状态"- >"限制访问"- >"Single"。这是SQLSERVER2005的菜单命令,其它版本请自己查找。

2,利用SQL语句,杀死正在使用该数据库的所有进程,自己以前在做一个SQL SERVER操作小工具的时候有写过该功能的SQL,贴出来供大家参考:

复制代码 代码如下:

declare @dbname varchar(50)

set @dbname='数据库名称'

declare @sql varchar(50)

declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname

open cs_result

fetch next from cs_result into @sql

while @@fetch_status=0

begin

execute(@sql)

fetch next from cs_result into @sql

end

close cs_result

deallocate cs_result

该SQL语句利用游标循环所有正在使用该数据库的进程,并通过kill命令杀死进程。

3,利用SQL语句,断开所有用户链接,并回滚所有事务,具体SQL语句如下:

复制代码 代码如下:

ALTER DATABASE [数据库名称]

SET OFFLINE WITH ROLLBACK IMMEDIATE

注意:在使用方法2与3时,不要在需要的还原的数据库下执行,建议在master数据库下面执行。

【sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法】相关文章:

sqlserver 2000 远程连接 服务器的解决方案

Sql server 2005安装时ASP.Net版本注册要求警告的解决方法

SQL Server 2008 数据库中创建只读用户的方法

SQL2008 附加数据库提示5120错误解决方法

sql server 2005因架构无法删除用户错误15138的解决方法

sql server 2008 用户 NT AUTHORITYIUSR 登录失败的解决方法

SQL Server 2005 还原数据库错误解决方法

sql2005 数据库转为sql2000数据库的方法(数据导出导入)

sql Server 2008 R2还原或删除数据库时总是出错的解决方法

SQL Server数据库之数据库列表介绍

精品推荐
分类导航