SQL Server2000数据库文件损坏时如何恢复(转载)

原创 2004年07月16日 19:28:00

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')
  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 数据库服务器
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/秒)。

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应该有一个完善的数据库备份计划。本例中,如果没有一个完全备份的话,数据库的恢复就不可能

SQL数据库损坏怎么办?教你数据恢复应急方案

最近一段时间,济南同岳科技接到很多客户咨询SQL数据库损坏,附加数据库报错的一些问题,在这里整理一下SQLSEVER数据库常见的一些故障现象及注意事项。       目前各大中小型企业使用SQLSE...
  • tongyuekeji123
  • tongyuekeji123
  • 2016年03月21日 14:47
  • 3217

SQL数据库损坏,报错,原因及注意事项

同岳科技最近一段时间接到很多客户咨询SQL数据库损坏,附加数据库报错的一些问题,在这里整理一下SQLSEVER数据库常见的一些故障现象及注意事项。   目前中小型企业使用SQLSEVER应用的非...
  • tongyuekeji123
  • tongyuekeji123
  • 2016年03月18日 09:53
  • 1468

修复 SQLite 数据库文件

目 录 第1章 说明    1 1 下载SQLite Tools    1 2 运行    2   第1章 说明 笔者编写的一个...
  • Hanford
  • Hanford
  • 2016年12月01日 17:29
  • 717

sql server 2000里ldf损坏,只有mdf的恢复

最近遇到了一个sql server 2000文件,ldf损坏了,但mdf还在,于是想办法恢复之,网上找到了些方法,现小结之 1) 先及时把原来的数据库文件(如test.mdf)备份到其他地方2) 停掉...
  • cmzsteven
  • cmzsteven
  • 2015年10月11日 16:59
  • 516

讨论SQLite数据库损坏与修复

朋友和我反馈SQLite数据库发生损坏有没有办法恢复。当数据库在使用时不小心用了新的文件覆盖数据库,导致了SQLite数据库出现了损坏。所以,文章这里整理SQLite数据库出现损坏的所有情况,讨论文件...
  • cwqcwk1
  • cwqcwk1
  • 2015年05月06日 22:23
  • 7172

恢复实战:用完整的数据库文件恢复数据库

win7系统中的oracle数据库可能会出现一些莫名的问题,最终数据库和监听服务都无法启动,但是数据文件是完好无损的。此时如何快速恢复数据库?最近刚碰到这样的事情,正好实战一把。   先看一下我的数据...
  • qq_25265293
  • qq_25265293
  • 2015年11月23日 16:50
  • 459

图片损坏怎么恢复

我在网上邻居打开同一个工作组的照片,然后死机了。等我再打开的时候那个照片已经损坏了,显示的是TMP文件,用ACDSEE和WINDERS图片查看器都打不开,PHOTOSHOP也没用。这个时候我们该怎么办...
  • u013958878
  • u013958878
  • 2014年05月08日 16:27
  • 1574

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

一、故障描述   打开oracle数据库报错 “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。经检测数据库文件发现sysaux01.dbf有坏块,sysaux01.dbf...
  • beiya123
  • beiya123
  • 2017年01月05日 14:59
  • 233

如何将Access数据库文件(.mdb)导入sql server2000

利用自带的企业管理器导入。。 1,打开”控制面板“下”管理工具“中的”数据库源“; 2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access (*...
  • ccx_john
  • ccx_john
  • 2013年11月19日 10:37
  • 1098

SQL SERVER 2008 数据库文件恢复方法

 方法1:***成功案例*** --把备份的数据库数据文件(*.mdf)和日志文件(*.ldf)都拷贝到服务器的一个目录下,然后打开SL Server uery (查询分析器)进行操作。 -...
  • u013597888
  • u013597888
  • 2015年08月02日 10:00
  • 1765
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server2000数据库文件损坏时如何恢复(转载)
举报原因:
原因补充:

(最多只允许输入30个字)