请输入关键字
MSSQL正在恢复
Alin|2019-8-30

 --调用系统存储过程

 xp_readerrorlog
 --用系统存储过程查看错误日志
 xp_ReadErrorLog 0, 1, 'Failed', 'login'

 

 --此处指定recovery 可使数据库立马可用   当然这样做的前提是你做了完全备份和事务日志备份 

 --仅做了此还原,数据库会处于还原状态而不可用   
  restore database database_name from disk='备份文件路径' with replace,norecovery 
 --事务日志还原 
 restore database database_name from disk='日志备份文件路径' with recovery,stopat=[指定还原的时间点]  


-- 数据库状态时  restoring  如果想让数据库 在线 

restore database  dbname  with recovery 

--查看一下,这些会话正在执行的语句
 dbcc inputbuffer(54)
 ———————————————— 
版权声明:本文为CSDN博主「runningbar」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013597888/article/details/42815405

因为数据库正在使用,所以无法获得对数据库的独占访问权。

解决方案

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

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

问题一解决办法:
 右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定。

问题二解决办法:
方法一(最方便):右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Single-> 确定。然后还原。
方法二(最直接):断开数据库连接
方法三(最暴力):注销/重启数据库服务器
方法四(最麻烦):写代码修改数据库相关属性,虽然麻烦,有的时候还是要用到,那就用到的时候再研究。
方法五(终级解决方案):

关键SQL语句:

 ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE

用完之后再

ALTER  database  [ datebase]  set   online  

赞一下17||已浏览1644

本站版本归木之林解释所有 copyright(C)2010-2026www.mzlin.net 备案/许可证编号为:粤ICP备15050036号