日期:2006-07-19  点击:23  作者:  来源:网页教学网

先把要恢复的文件置于MS SQL里的DATA文件里,进入MS SQL主数据库服务器后

  1.我们使用默认方式建立一个供恢复使用的数据库(如MHDYF2005)。可以在SQL Server里面建立。

  2.停掉数据库服务器。

  3.将刚才生成的数据库的日志文件MHDYF2005_log.ldf删除,用要恢复的数据库mdf(yu1.mdf)文件覆盖刚才生成的数据库数据文件MHDYF2005_data.mdf。

  4.启动数据库服务器。(刷新之后)此时会看到数据库MHDYF2005的状态为“置疑”。这时候不要对此数据库进行任何操作。

  5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use mastergosp_configure ‘allow updates‘,1goreconfigure with overridego

  6.设置MHDYF2005为紧急修复模式,语句如下:

update sysdatabases set status=-32768 where dbid=DB_ID(‘MHDYF2005‘)

  此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表

  7.下面执行真正的恢复操作,重建数据库日志文件

dbcc rebuild_log(‘MHDYF2005‘,‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\MHDYF2005_log.ldf‘)

  执行过程中,如果遇到下列提示信息:

  服务器: 消息 5030,级别 16,状态 1,行 1

  未能排它地锁定数据库以执行该操作。

  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

  说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了MHDYF2005库的系统表,那么退出SQL Server Enterprise Manager就可以了。

  正确执行完成的提示应该类似于:

  警告: 数据库 ‘MHDYF2005‘ 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

  此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

  8.验证数据库一致性(可省略),语句如下:

dbcc checkdb(‘MHDYF2005‘)

  一般执行结果如下:

  CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 ‘MHDYF2005‘ 中)。

  DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

  9.设置数据库为正常状态,语句如下:

sp_dboption ‘MHDYF2005‘,‘dbo use only‘,‘false‘

  如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

  10.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成:

sp_configure ‘allow updates‘,0goreconfigure with overridego

  一共10步,就这样完工了。

  全部恢复过程就是这样了,您能恢复了吗?

转载于:https://www.cnblogs.com/ppyyr/archive/2006/07/24/458127.html

MDF文件在SQL Server数据库中恢复技术相关推荐

  1. 浅析SQL Server数据库中的伪列以及伪列的含义

    浅析SQL Server数据库中的伪列以及伪列的含义 原文:浅析SQL Server数据库中的伪列以及伪列的含义 本文出处:http://www.cnblogs.com/wy123/p/6833116 ...

  2. SQL Server数据库中批量导入数据的四种方法总结

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  3. 快速附加没有日志文件的 SQL Server 数据库文件!

    快速附加没有日志文件的 SQL Server 数据库文件: 1 CREATE DATABASE [数据库名称] 2 ON (FILENAME = '数据库文件路径和文件名(如:D:\db\mydb.m ...

  4. 如何在SQL Server数据库中加密数据

    如何在SQL Server数据库中加密数据 为了防止某些别有用心的人从外部访问数据库,盗取数据库中的用户姓名.密码.信用卡号等其他重要信息,在我们创建数据库驱动的解决方案时,我们首先需要考虑的的第一条 ...

  5. 利用Visual Studio Project自动将数据加载到SQL Server数据库中

    介绍 (Introduction) A few months back, I encountered an interesting challenge at a client site. For th ...

  6. SQL Server数据库中批量导入数据

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  7. 如何将数据从Excel文件导入SQL Server数据库

    There are many ways to import data from an Excel file to a SQL Server database using: 有多种方法可以使用以下方法将 ...

  8. 怎么从 SQL Server 数据库中导出 SQL 语句?

    同于直接/备份/恢复 或者 导入/导出 数据库操作. 新版本SQL Server客户端中还可以生成相对应的SQL语句. 非常方便与查看和与其他人共享. 操作步骤如下: 连接上数据库后, 右击数据库, ...

  9. 在ASP.NET中将图片存储到Sql Server数据库中

    在ASP.NET中将图片存储到Sql Server数据库中 http://hi.baidu.com/rayshow/blog/item/360e8ff9662c8b5a252df268.html 索引 ...

最新文章

  1. C/C++ 全局变量和局部变量在内存里的区别?堆和栈
  2. Golang websocket
  3. java小练习:.根据输入的月份,判断该月份有多少天
  4. [LeetCode-JAVA] Reverse Nodes in k-Group
  5. hdu 5020 求三点共线的组合数(容器记录斜率出现次数)
  6. Linux 下安装matlab2014a
  7. keepalived 安装和配置
  8. 基于RT-Thread实现的小游戏(贪吃蛇、俄罗斯方块)
  9. vue-scroll滚动组件
  10. 嵌入式Linux系统的构成和启动总结
  11. Linux的实际操作:用户管理(查ls -ahl,chown改文件所属者,chgrp改文件所属组,usermod改用户所属组)
  12. python中的以简单例子解释函数参数、函数定义、函数返回值、函数调用
  13. [HDOJ]1005. Number Sequence
  14. LSGANs : Least Squares GAN(最小二乘GAN)--解决标准GAN生成的图片质量不高以及训练过程不稳定问题
  15. 音乐搜索器 多站合一_分享一堆可以免费听音乐的良心网站!赶紧码住哦
  16. css学习_css用户界面样式
  17. amtemu v0.9.2下载_悦剪辑安卓版下载-悦剪辑app下载v2.2
  18. Python全栈之路——运算符(Day 02)
  19. 【剑指offer】题目20 顺时针打印矩阵
  20. JAVA-map转换json异常

热门文章

  1. URAL 1404. Easy to Hack! (模拟)
  2. AspectJ声明式事务配置
  3. tomcat内存溢出(修改catalina.bat后windows启动tomcat服务没有效果) | 王猛的个人主页...
  4. playframework 打包在tomcat里部署
  5. 谷歌浏览器如何抓取grpc_前5名:Google分享gRPC,更好的开源UX等
  6. 开源 非开源_开源周中的女性
  7. win10 mysql 驱动无法使用吗_Windows10驱动无法使用是怎么回事
  8. c语言教程for,C语言菜鸟基础教程之for循环
  9. kali linux虚拟机密码,[Linux]安装kali虚拟机后忘记root密码
  10. 相干光通信系统的调制与解调