数据库文件损坏的恢复方法

   说明如下:SQL Server 2000文件损坏的恢复

  1、建一个测试数据库test(数据库类型为完全)。

  2、建一个表,插入点记录。

  create table a(c1 varchar(2)) go insert into a values('aa') go insert into a values('bb') go

  3、作完全备份,到文件test_1.bak。

  4、在作一点修改。

  insert into a values('cc') go create table b(c1 int) go insert into b values(1) go insert into b values(2) go

  5、shutdown 数据库服务器。

  SQL Server 2000文件损坏的恢复6、用ultraedit编辑数据库文件test_data.mdf,随便修改点字节内容,相当于数据库遭到致命的损坏。

  7、启动数据库,并且运行企业管理器,点开数据库,看到test变成灰色,而且显示置疑。

  8、运行isql -SLocalhost -Usa -P。

  1> backup log test TO DISK=' D:Program FilesMicrosoft SQL ServerMSSQLBACKUP est_2.bak' WITH NO_TRUNCATE 2>go

  已处理2页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。

  BACKUP LOG 操作成功地处理了 2 页,花费了 0.111 秒(0.087 MB/秒)。

  SQL Server 2000文件损坏的恢复9、进行恢复最老的完全备份。

  1> RESTORE DATABASE test FROM DISK=' D:Program FilesMicrosoft SQL ServerMSSQL BACKUP est_1.bak' WITH NORECOVERY 2> go

  已处理96页,这些页属于数据库 'test' 的文件 'TEST_Data'(位于文件 1 上)。已处理1页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。

  RESTORE DATABASE 操作成功地处理了 97 页,花费了 0.107 秒(7.368 MB/秒)。

  10、恢复最近的日志。

  1> RESTORE LOG test FROM DISK=' D:Program FilesMicrosoft SQL ServerMSSQLBACKU P est_2.bak' WITH RECOVERY 2> go

  已处理 2 页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。

  RESTORE LOG 操作成功地处理了 2 页,花费了 0.056 秒(0.173 MB/秒)。

  数据已经完全恢复了,可以使用了。

  select * from a go

  总结,DBA应该有一个完善的数据库备份计划。本例中,如果没有一个完全备份的话,数据库的恢复就不可能。

时间: 2024-10-30 14:15:55

数据库文件损坏的恢复方法的相关文章

[HOWTO]SQL Server2000数据库文件损坏的时候如何恢复

server|恢复|数据|数据库 数据库文件损坏的时候如何恢复 欢迎大家同我交流:小白  enhydra_boy@tom.com 欢迎转载,请保留本声明,谢谢! SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,我们该怎么办.以下是笔者以前的笔记.仅适用于非master,msdb的数据库. 说明如下: 1 建一个测试数据库test(数据库类型为完全)2 建一个表,插入点记录  create table a(c1 varchar(2))  go  insert in

MySQL数据库的root口令恢复方法总结

MySQL数据库的root口令恢复方法总结 方法一 1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的: 2. 重命名自己的mysql的data目录下的mysql文件夹为oldmysql: 3. 将源码包中data目录下的mysql目录复制到你的mysql的data目录下: 4. 重新启动mysql,现在mysql的授权关系同全新安装的一样,空密码登陆,然后自行调整授权: 5. 打开oldmysql这个库检查到底出现了什么问题 : 6. 如果有备份对系统中原有的数据库进行完

所有控制文件损坏的恢复--resetlogs方式

        此方式和 所有控制文件损坏的恢复--noresetlogs方式恢复时的前五个步骤是一样的. 1)先备份控制文件            SQL> alter database backup controlfile to 'f:\lib\control.ctl' reuse;数据库已更改.2)生成跟踪文件. SQL> alter database backup controlfile to trace;数据库已更改.SQL> @f:\sql\gettrace.sql---一个

Win7系统RM视频文件损坏的解决方法

  大家现在观看的网络视频基本上都是以RM格式或RMVB格式存在,我们的win7系统电脑在使用的过程中有可能会遇到视频文件被损坏的情况,那么出现这样的情况大家的视频文件就无法观看,一些不知道如何解决的朋友就会比较着急,那么遇到这样的情况该怎么办呢,小编马上给大家说说这个解决方法吧! Win7系统RM视频文件损坏的解决方法如下: 1.要是大家在播放文件的时候被卡主,那么就可能是我们的RM视频被损坏了,大家直接跳过损坏的部分就可以了. 解决方法:大家可以去下载软件"rmfixit"对我们的

【中亦安图】关于数据库文件损坏风险的提醒(3)

  第一章 技术人生系列 · 我和数据中心的故事(第三期)-中亦科技关于数据库文件损坏风险的提醒 中亦安图 | 2016-01-19 21:38 前言 小y最近处理了几起Oracle数据库文件损坏的case,因为某些Bug风险较大,因此不敢有丝毫怠慢,赶紧拿出来分享!希望能够帮助到有需要的朋友!风险提示! 如上图所示,Linux 5/6上的一个已知缺陷,在某些触发条件下,将导致Oracle数据文件出现内容全是0的的坏块.该操作系统上的缺陷,除了会导致Oracle数据库数据文件损坏外,还会导致包括

Oracle数据库数据文件损坏如何恢复

数据文件有时候因为某种原因会导致损坏而导致无法启动数据库,那如何恢复呢? 下面是一次模拟实验,如下 1. 首先创建一个表空间TEST,在创建一个表test在表空间test上 SQL> create tablespace test datafile '/u01/app/oracle/oradata/lhz/test01.dbf' size 10M; SQL>  create table test as  select * from dba_objects; Table created SQL&g

SQL Server2000数据库文件损坏时如何恢复

SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,我们该怎么办.以下是笔者以前的笔记.仅适用于非master,msdb的数据库.说明如下:1 建一个测试数据库test(数据库类型为完全)2 建一个表,插入点记录 create table a(c1 varchar(2)) go insert into a values('aa') go insert into a values('bb') go3 作完全备份,到文件test_1.bak4 在作一点修改 insert

单个控制文件损坏的恢复

        损坏单个控制文件是比较容易恢复的,因为数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜像,只要拷贝一个好的控制文件替换坏的控制文件就可以.实验如下: 1) 查看系统的控制文件 SQL> select name from v$controlfile;NAME                                                                            ---------------------------------

Access数据库被损坏的修复方法

Access数据库被损坏主要分为以下几种情况:1.严重损坏:2.轻度损坏:3.有些表被损坏或有些表的部分记录被损坏.下面就分情况介绍解决办法. Access数据库被损坏主要分为以下几种情况:1.严重损坏:2.轻度损坏:3.有些表被损坏或有些表的部分记录被损坏.下面就分情况介绍解决办法. 1.使用Access97打不开数据库.系统提示"不可识别的数据库格式"或"不是该表的索引"等信息,这样的数据库都是损坏比较严重的.损害严重的数据库一般来说都是无法修复的,只有恢复备份