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 Server2000数据库文件损坏时如何恢复,SQL Server2000数据库文件损坏时如何恢复
在SQL Server 2000中,数据库是任何企业数据的核心,因此当数据库文件(如.mdf和.ldf)遭受损坏时,恢复这些文件至关重要。本文将深入探讨如何在SQL Server 2000中应对数据库文件损坏的问题,并提供可能的解决方案。...
### SQLSERVER无数据库日志文件恢复数据库方法 在SQL Server环境中,当遇到丢失数据库日志文件(.ldf)的情况时,数据恢复成为一个极其敏感且技术性较强的问题。本篇文章将详细阐述两种实用的方法来应对这种情况,...
恢复SQL Server 2000数据库文件的方法通常包括完整备份恢复、差异备份恢复和事务日志备份恢复。以下是对这些方法的详细介绍: 1. 完整备份恢复:这是最基本的恢复模式,它涉及先执行完整数据库备份,然后在数据丢失...
### SQL Server 2005 创建的数据库文件迁移到 SQL Server 2000 在IT行业中,数据库迁移是一项常见的任务,特别是在不同版本之间进行迁移时。本文将详细阐述如何将SQL Server 2005创建的数据库文件迁移到较早版本的...
本文将深入探讨“Sqlserver2005数据库还原备份工具”以及相关的知识点。 首先,我们关注的是“备份”。在SQL Server 2005中,备份是预防数据丢失的关键步骤。备份操作可以创建数据库的完整副本,以便在系统故障、...
Run DBCC CHECKTABLE on sysindexes.” 这一错误通常意味着在尝试附加的数据库文件中存在一些不兼容或损坏的数据结构,导致SQL Server 2000无法正确识别和加载这些数据。下面将详细介绍如何解决这一问题。 #### ...
标题“计算机等考三级数据库辅导:SqlServer日志文件损坏时恢复数据的方法”表明这篇文章的主题是关于SqlServer数据库日志文件损坏时的数据恢复方法。 描述解释 描述“计算机等考三级数据库辅导:SqlServer日志...
当SQL Server 2000出现无法启动的情况时,问题可能源自这些文件的损坏或缺失。 针对SQL Server 2000无法启动的问题,一种常见的解决方法是覆盖原有的Binn文件夹。这通常意味着你需要从一个正常运行的SQL Server ...
### SQLServer2000至MySQL5数据库迁移详解 #### 一、迁移背景与目标 在信息技术快速发展的今天,企业可能会因为各种原因需要将现有的SQL Server 2000数据库迁移到MySQL 5环境中。这样的迁移不仅可以降低维护成本,...
在SQL Server 2000中,当数据库的日志文件丢失或者损坏时,恢复数据库的过程变得复杂。然而,根据给出的步骤,我们可以看到一个没有日志文件时的应急恢复策略。以下是对这些步骤的详细解释: 1. **开启数据库**:...
当SQL Server 2000中的日志文件(.ldf)出现损坏或丢失时,数据库可能会被标记为置疑状态。本文旨在详细介绍如何解决由于日志文件丢失而导致的SQL Server 2000数据库置疑问题。 #### 问题概述 当SQL Server 2000的...
在这篇文章中,我们将介绍如何修复SQL Server 2000数据库的MDF文件损坏,解决ldf文件损坏但mdf文件仍然存在的情况。 首先,让我们了解一下 SQL Server 2000 的文件结构。SQL Server 2000 的数据库文件主要由两个...
5. **备份与恢复**:讨论如何备份数据库以防止数据丢失,以及在数据损坏时如何恢复。 6. **性能优化**:讲解如何通过查询优化器提升查询效率,使用索引和分区策略提高数据库性能。 7. **事务处理与并发控制**:...
SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...
SQL Server 数据库可疑可能是由于多种原因引起的,例如磁盘空间不足、数据库文件损坏、日志文件损坏、数据库配置错误等。当数据库出现可疑时,数据库管理员需要快速地诊断和解决问题,以免影响业务运作。 解决 SQL ...
- **如果Msdb数据库损坏**:Msdb数据库的损坏不会影响SQL Server的正常运行,但会影响备份和恢复操作。在这种情况下,可以按照常规的用户数据库备份和恢复流程来处理。 - **Tempdb数据库**:Tempdb数据库在每次SQL ...
在SQL Server 2000中,当遇到“数据库置疑”和“823错误”的情况时,这通常意味着数据库文件受到了损坏,导致数据库无法正常读写。823错误是一个严重的I/O错误,表明在尝试访问数据库文件时发生了硬件或者操作系统...