SQLServer恢复挂起的解决方案附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”数据库恢复
Posted 码道安邦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer恢复挂起的解决方案附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”数据库恢复相关的知识,希望对你有一定的参考价值。
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql
先贴错误:
吐槽一下:
进入正题:
新建一个同名数据库
停止MSSQL服务
替换数据库文件
重新启用MSSQL服务
看效果图:
设置数据库为应急模式
alter database BigData_TestInfo set emergency
快速修复一下(如果出现问题请试试, [Repair_Rebuild-重建索引并修复] 和 [Repair_Allow_Data_Loss-允许丢失数据的修复方式])
--dbcc checkdb用法(手工修复数据库) --检查数据库完整性 --dbcc checkdb(\'数据库名\') --go --快速修复 --dbcc checkdb (\'数据库名\', Repair_Fast) --go --重建索引并修复 --dbcc checkdb (\'数据库名\', REPAIR_REBUILD) --go --如果必要允许丢失数据修复 --dbcc checkdb (\'数据库名\', Repair_Allow_Data_Loss) --go修复成功后恢复为多用户模式(如果出错就把其他查询窗口关掉)
alter database BigData_TestInfo set multi_user
你刷新数据库就发现,好了~吓死了,赶紧查查数据有没有用问题(以前)
大小也木有变
扩展一下:
有人附加的时候发现。。。拒绝xxx的提示
呃。。其实就是没开权限:
把当前用户的权限开一下就ok了
如果是多用户你又怕麻烦,设置everyone的权限即可
这次该收工了~
以上是关于SQLServer恢复挂起的解决方案附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”数据库恢复的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver 2012日志满了导致数据库挂起恢复,如何解决