选择显示字体大小

sql server日志文件丢失的恢复方法


  一、 概述

  在应用系统中,数据库往往是最核心的部分,一旦数据库毁坏或损坏,将会带来巨大的损失,所以数据库的管理越来越重要。 我们在做数据库管理与维护工作中,不可避免会出现各种各样的错误,本文针对数据库的日志文件丢失时如何利用mdf文件恢复数据库的方法进行了研究。

  二、 数据库的恢复

  当数据库的主数据mdf文件完好无损时,在丢失了ldf文件的情况下,如何利用mdf文件恢复数据库?我们把sql server的日志文件分为两类:一类是无活动事务的日志,另一类是含活动事务的日志,根据不同的日志,采取不同的方法来恢复数据库

  1. 无活动事务的日志恢复

  无活动事务的日志丢失时,我们很容易利用mdf文件直接恢复数据库,具体方法如下:

  ①.分离被质疑的数据库,可用企业管理器中的"分离数据库工具",或者用存储过程sp_detach_db分离数据库

  ②利用mdf文件附加数据库生成新的日志文件,可用企业管理器中的"附加数据库"的工具,或者用存储过程sp_attach_single_file_db附加数据库

  如果数据库的日志文件中含有活动事务,利用此方法就不能恢复数据库

  2. 含活动事务的日志恢复

  含有活动事务的日志丢失时,利用上述方法就会出现"数据库和日志文件不符合,不能附加数据库"。对于这种情况下,我们采用如下方法:

  ①新建同名数据库aaa,并设它为紧急模式

  ·停止sql server服务器

  ·把数据库主数据mdf文件移走;

  ·启sql server服务器,新建一个同名的数据库aaa;

  ·停止sql server服务器,把移走的mdf文件再覆盖回来;

  ·启动sql server服务器,把aaa设为紧急模式,不过默认情况下,系统表是不能随便修改的,必须首先设置一下使其能被修改,运行以下语句即可:

use master
go
sp_configure ’allow updates’,1
reconfigure with override
go

  接着运行以下语句,把aaa数据库设为紧急模式,即把sysdatabases表中aaa数据库的status属性设为’37268’,就表示把aaa数据库处于紧急模式

update sysdatabases set status=32768 where hame=’aaa’

  如果没有报告什么错误,就可以进行以下操作。

  ②设置数据库aaa为单用户模式,并检查数据库

  ·重启sql server服务器

  ·把数据库aaa设为单用户模式

sp_dboption ’aaa’, ’single user’, ’true’

  ·运行以下语句,检查数据库aaa

dbcc checkdb(’aaa’)

  如果没有什么大的问题就可以把数据库的状态改回去。

  ③还原数据库的状态

  运行以下语句,就可以把数据库的状态还原:

update sysdatabases set status=28 where name=’aaa’
sp_configure ’allow updates’,0
reconfigure with override
go

  如果没有什么大的问题,刷新一下数据库数据库aaa又会出现在你面前,但目前恢复工作还没有做完,此时的数据库仍不能工作,还要进行下面的处理,才能真正恢复。

  ④利用dts的导入导出向导,把数据库aaa导入到一个新建数据库bbb中

  ·新建一个数据库bbb;

  ·右击bbb,选择import功能,打开导入向导;

  ·目标源选择"在sql server数据库之间复制对象和数据库",这样可以把表结构,数据视图存储过程导入到bbb中

  ·再用此功能把bbb库替换成原来的aaa库即可。

  到此为止,数据库aaa就完全恢复。

  三、 小结

  日志文件丢失是一件非常危险的事情,很有可能你的数据库彻底毁坏。sql server数据库的恢复都是靠日志文件来完成,所以无论如何都要保证日志文件的存在,它至关重要。为了使我们的数据库万无一失,最好采用多种备份方式相结合,所以我们要从心里重视数据库的管理与维护工作。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons