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') 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应该有一个完美的数据库备份打算。本例中,假如没有一个完全备份的话,数据库的规复就不行能 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |