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

时间: 2024-09-20 01:10:56

SQL Server2000数据库文件损坏时如何恢复的相关文章

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

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

SQL SERVER2000数据库备份和恢复存储过程(加强版本)

server|备份|存储过程|恢复|数据|数据库 SQL SERVER2000数据库备份和恢复存储过程(加强版本) 我自己写的2个过程和一个函数,用于SQL SERVER2000数据库备份和恢复拿出来和大家交流一下,过程和函数的详细说明在代码中谢谢 /*备份数据库的过程*/if exists( select * from sysobjects  where name='pr_backup_db' and xtype='p'          )begin drop proc pr_backup_

数据库日志文件丢失时的恢复步骤

恢复|数据|数据库 The information in this article applies to: - Microsoft SQL Server 7.0,2000      数据库日志文件丢失时的恢复步骤Revision History:Version Date Creator Description 1.0.0.1 2003-3-25 郑昀 草稿        Implementation Scope:本文是用于向Microsoft SQL Server维护人员描述我误删除了数据库的事

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

  说明如下: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) g

人人都是 DBA(V)SQL Server 数据库文件

原文:人人都是 DBA(V)SQL Server 数据库文件 SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname(owner_sid) AS [owner] ,create_date ,user_access_desc ,state_desc FROM sys.databases WHERE database_id <= 4; master mas

VS2008连接SQL Server数据库文件出错的解决方案

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express )用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:"与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,--"英文版为"Connections to SQL Server Files (*.

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

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

艾伟_转载:VS2008连接SQL Server数据库文件出错的解决方案

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express ) 用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:"与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,--" 英文版为"Connections to SQL Server Files (

Asp.net如何连接SQL Server2000数据库

asp.net|server|数据|数据库 大家好,以下是有关ASP.net连接SQL Server2000数据库的例程,      在这里和大家分享一下:           Asp.net连接SQL Server2000数据库例程详解:      <%@ Import Namespace="System.Data" %>      <%@ Import NameSpace="System.Data.SqlClient" %>      &