您的位置:首页 > 数据库

Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)

2015-11-04 10:13 204 查看
还原sql server数据库遇到如下问题



该问题主要是你在还原的时候还有其他进程连在上面,导致无法获得独占造成的。

解决思路:

删除连在上面的进程,回滚未提交的事务,然后还原。

步骤

1.查询要还原的数据库ID

Select * from master..sysdatabases where name = '';

2.获取该数据库的进程

Select * from sys.sysprocesses a where a.dbid = '';

3.杀掉连接在上面的进程

kill @spid;

或者使用

USE Master

ALTER DATABASE 数据库名称 SET OFFLINE WITH ROLLBACK IMMEDIATE

如果此时还原还是不行。可能是删完进程马上有新的进程连进来,导致一直失败。应用程序一直不停的进行数据库链接

这时,可以在单用户下还原。

设置方式:选中要还原的数据库-->属性-->选项-->限制访问

该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式

这是GUI的模式,语句的办法比较简单

USE MASTER

GO

ALTER DATABASE 数据库名字 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

GO

设置单用户数据库必须要超级用户
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: