SQL2008下只有一个mdf文件如何恢复数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
一.这个库就是由1个mdf和1个ldf文件构成,ldf文件损坏;
二.我的解题思路按照网上通用通用的思路:
1、新建一个同名数据库。
2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)
3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:
alter database 无日志文件的数据库名称 set emergency
设置为紧急状态。
4、再运行:
alter database 无日志文件的数据库名称 set single_user
或者:
Sp_dboption '无日志文件的数据库名称', 'single user', 'true'
设置为单用户模式。
、检查并重建日志文件,运行:
dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)
这个时间比较长。耐心等待!如果有错误提示,再运行:
dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)
进行修复。如果没有错误,可以跳过。
6、恢复成多用户模式
alter database 无日志文件的数据库名称 set multi_user
或者:
Sp_dboption '无日志文件的数据库名称', 'single user', 'false'
但在执行第五步时就没法继续下去了,报“无法打开数据库 'newexam' 版本 655。请将该数据库升级为最新版本。”。这个方法应该是对SQL2000凑效,不知道为什么在SQL2008下就不行了,请高手们指教下,谢谢!ps:请不要随性copy网上的,要确认有效再说,因为我也是在网上找了很多没结果才在论坛上求助的,谢谢!

  

posted @   Thenext  阅读(761)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2020-10-08 VirtualBox虚拟机内的系统时间无法调整的解决方法
2018-10-08 一个Tparams小测试
点击右上角即可分享
微信分享提示