增强版数据库损坏和置疑的修复方法_第1页
增强版数据库损坏和置疑的修复方法_第2页
增强版数据库损坏和置疑的修复方法_第3页
增强版数据库损坏和置疑的修复方法_第4页
增强版数据库损坏和置疑的修复方法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专题:数据库损坏和置疑的修复方法目录数据库损坏和置疑的发i生原因2数据库是否损坏的判断方法2数据库损坏的常规修复处理方法(SQL 语句)2数据库损坏使用工具修复的方法4数据库置疑的处理方法5数据库损坏和置疑的发生原因Sql Server 数据库本身依赖于操作系统、文件读写等环境,数据库经常因为操作系统、异常关机、异常终止退出或者 SQL Server 数据库本身的机制问题均会导致数据库无故损坏,其中数据库损坏的主要原因如下:1.事务日志问题。比如事务日志文件丢失;事务日志文件在操作过程中被误删;事务日志文件被损坏以及事务日志文件过大,导致硬盘的空间等。2.意外掉电或异常强制关机,造成数据文件损

2、坏,主要数据库正在被读写过程中异常关机。数据库的表被破坏或索引等被破坏,或者数据库的其他对象被破坏或丢失等。删除了数据文件,或者更改了它的名字。硬盘损坏,造成数据和日志文件读写错误。3.4.5.6.7.或者其他人为破坏。其他文件读写、等原因。数据库是否损坏的判断方法-检查指定数据库中的所有对象的分配和结构完整性的 SQl 语句,其中database_name 指代数据库名称DBCC CHECKDB ( database_name)执行该数据库检查的结果若返回“CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 KgtMis2008DB 中)。”则说明数据库正常无损坏,否则说明

3、数据库损坏。数据库损坏的常规修复处理方法(SQL 语句)-此处以 2000 增强版门店为例,如果是其他数据库,请将对应的KgtMis2008替换为相应的数据库名称-1、第一步,请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,USE masterGo -2、第二步-单用户模式EXEC sp_dboption KgtMis2008, single user, TRUEgo-3、数据库修复DBCC CHECKDB (KgtMis2008,repair_rebuild)Go-再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;-否则意味着还需要更高级别的修复;尝试将上面修复语

4、句的repair_rebuild换为repair_allow_data_loss再试,之后再次检查数据库。DBCC CHECKDB(KgtMis2008)-如果还有错误未修复,说明 SQL 修复失败,请尝试其他方法-4、退出前请一定要执行以下语句返回到多用户模式EXEC sp_dboption KgtMis2008, single user,FALSEGo/*注释:DBCC CHECKDBDBCC CHECKDB 对索引视图执行物理一致性检查。只用于向后兼容的 NOINDEX 选项也适用于索引视图上的任何辅助索引。DBCC CHECKDB 是最安全的修复语句,因为它对最多的可能出现的各种错误进

5、行标识和修复。如果只数据库中有分配错误,请执行带修复选项的 DBCC CHECKALLOC 以对这些错误进行修复。然而,若要确保正确修复所有错误(包括分配错误),请执行带修复选项的 DBCCCHECKDB,而不要执行带修复选项的 DBCC CHECKALLOC。注释:部分参数REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD指定 DBCC CHECKDB 修复发现的错误。给定的 database_name 必须在单用户模式下以使用修复选项,它可以是下列值之一。值描述REPAIR_ALLOW_DATA_LOSS执行由 REPAIR_REBU

6、ILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚*/数据库损坏使用工具修复的方法使用“数据库修复工具”工具进行数据库修复,该工具会生成一个新的数据库,新数据库的名称为“数据库名+当天日期”。点“修复”,查看修复过程是否有错误,如无错误,则将新生成的数据库进行备份,并还原成为原来的数据库。数据库置疑的处理方法查看中的数据库(比如 DBMain,FDBMIS,KgtMis2008)是否为状态,如果为该“(置疑)”状态,则依次使用下面的方法进行处理。步骤一:分离

7、“(置疑)”数据库:所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。REPAIR_FAST进行小的、不耗时的修复操作,如修复非 索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。REPAIR_REBUILD执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的 。步骤二:附加数据库;附加数据库的三种方法:方法 1:在企业管理器中手工操作,点击右键,选择“附加数据库”,如下图所示:其中的“D:DAT

8、AFDBMisCS.mdf”为你的数据文件在硬盘上的位置,以及相对应的数据文件名称。“附加为(A)”,其中“FDBMis”是要附加的数据库名称,这个名称必须与原来使用的数据库名称一样。方法 2:只用 mdf 文件进行数据库附加;方法 3:使用“查询分析器”执行以下进行数据库附加:sp_attach_single_file_db KgtMis2008, d:dataKgtMis2008Dat.mdf步骤三:A、新建一个空的数据库,然后停止 SQLServer 服务管理器;B、替换数据库的物理文件(比如 KgtMis2008Dat.mdf、KgtMis2008Log.ldf);C、执行下列进行修复

9、,如下图打开“查询分析器”:在“查询分析器”中输入以下,以 KgtMis2008 为例此操作可以将质疑的数据的状态修改为可查询的状态,一般在重新启动后,数据库又会成为质疑状态,所以使用“数据库修复工具”进行数据库修复。D、使用“数据库修复工具”进行数据库修复,详细操作见数据库损坏使用工具修复的方法。USE MASTER GOSP_CONFIGURE ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDE GOUPDATE SYSDATABASES SET SUS =32768 WHERE NAME= KgtMis2008Gosp_dboption KgtMis2008, single user, true GoDBCC CHECKDB(KgtMis2008)Goupdate sysdatabases set sus =28 where name=KgtMis2008Gosp_configure allow updates, 0 reconfigure with override Gosp_dbop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论