由于数据库 'XXX' 离线,无法打开该数据库。

大家使用sql server 进行还原的时候可能会遇到:

system.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权

这个错误

下面是有一个解决办法:
右击你的数据库图标-->属性-->选项-->状态-->限制访问

默认是multi_user多用户的,改成single_user单用户就可以了,改的时候他会给你一个提示说:

” 若要更改数据库属性,SQL Server 必须关闭此数据库的所有其他连接。是否确实要更改属性并关闭所有其他连接? “

按是就可以了,那你现在应该可以进行还原了!

记得还原之后哦把 single_user 改回来,否则被人就访问不了了!

方法2:

关键SQL语句(断开其他用户与数据库的连接):

ALTER
DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE


用完之后再(开启其他用户和数据库的连接)

ALTER database  [datebase]   set online

转:http://www.lxway.com/866658596.htm

原文地址:https://www.cnblogs.com/lanke0/p/5972742.html