转:MSSQL还原单mdf文件报1813错误
原文地址:http://www.cnblogs.com/clownkings/p/4950865.html
解决办法:
1、首先要备份好mdf文件,如果他没了经理非吃了你不可。都不吐骨头的。
2、在数据库中新建一个需要附加同名的数据库。例如【testdb】
3、停止SQL Server服务
4、找到该数据库所在的文件夹、并删除testdb_log.ldf与testdb.mdf文件
5、 把需要附加的数据库【testdb.mdf】文件拷贝到当前路径。
6、启动SQL Server服务,通过企业管理器连接数据库。
7、此时的1步中新建的数据库地址已经指向你需要附加数据库的mdf文件了。但是现在数据库还是无法打开的。
8、执行语句:ALTER DATABASE testdb SET EMERGENCY
9、执行语句:ALTER DATABASE testdb SET SINGLE_USER
10、执行语句:ALTER DATABASE testdb REBUILD LOG ON (NAME=dbname_log, FILENAME='C:\XXX\dbname_log.ldf')
其中FILENAME为你需要新建ldf日志的路径已经ldf文件名称。运行后会出现一条警告“执行后,会有警告信息“警告: 数据库 'xhtyjbbs' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。””别鸟他。
11、 DBCC CHECKDB(testdb , REPAIR_ALLOW_DATA_LOSS) 这一步会比较卡,可能会导致界面未响应。多等一会。成功后数据库变成了单用户模式,下面两步骤修改成多用户模式。
12、ALTER DATABASE testdb SET MULTI_USER
13、ALTER DATABASE testdb SET ONLINE
尾:
不出意外的话数据库应该可以使用。千万要先备份好mdf文件,即使玩坏了还有备份。
最新文章
- javascript 日期操作
- Oracl中sql书写技巧
- Rac grid用户启停监听报错无权限
- ";Unity测试系列";文章索引
- dolby逝世:纪念一下
- 自动配置IP地址.bat
- JavaScript设计模式与开发实践——JavaScript的多态
- 解决使用DevExpress开发错误:未将对象引用设置到对象的实例
- java基础学习总结四(控制语句<;顺序、选择、循环>;、方法)
- 从VS转MyEclipse的15天使用体验
- 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法
- Bugku-CTF之welcome to bugkuctf(php://filter和php://input的妙用)
- 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)
- 自定义Dialog的详细步骤(实现自定义样式一般原理)
- C#概念总结(二)
- oracle10g和oracle11g导入导出数据区别
- 【前端】js截取or分割字符串的常见方法
- 51nod 1351 吃点心(贪心)
- android 数据库添加字符串 添加失败 解决方案
- 人工智能-机器学习之numpy方法
热门文章
- Atitit 项目语言的选择 java c#.net &#160;php??
- 我为Net狂 ~ 社交平台系列小集合!
- 关于全局ID,雪花(snowflake)算法的说明
- React使用antd Table生成层级多选组件
- pt-mext
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结
- jQuery幻灯片插件autoPic
- 基于window7+caffe实现图像艺术风格转换style-transfer
- WebSocket - ( 一.概述 )
- 如何通过Git GUI将自己本地的项目上传至Github