网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.SQL Server 2005数据库中表的递归.
.sql server 2000无法打开1433端口.
.SQL Server 2005 Reporting Serv.
.用存储过程几个最直接的好处.
.扩展数据库系统选项实现更高的可.
.sql2000挂起无法安装的问题.
.关于UltraLite所不提供的ASA功能.
.一种处理不规范日期数据的好方法.
.sql中的iif语句详解.
.在SQL Server数据库中实现数据的.
.通过查询分析器对比SQL语句的执行.
.详解sql server中数据库快照工作.
.自定义用于ASP Web站点的SQL 7.0.
.提数据高分页效率.
.讲解V$Datafile_Header相关字段的.
.用OPENXML函数将XML数据转为关联.
.详细讲解删除SQL Server日志的具.
.SQL Server 2000和 SQL Server 2.
.循序渐进讲解数据表的十二个设计.
.在SQL Server中获得不包含时间部.

MDF文件在SQL Server数据库中恢复技术

发表日期:2008-3-25


先把要恢复的文件置于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

上一篇:改变默认设置并且给每个文件指定位置 人气:964
下一篇:SQL2005生成SQL2000脚本的一些解决方法 人气:1807
浏览全部SQL Server的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐