• 对置疑数据库的恢复过程


    10月31号,在一次大量数据的操作过程中,因突然停电造成数据库文件损坏,数据库为SqlServer2000,打开企业管理器时,此库文件显示为置疑,将服务器重启后,此文件已不显示在企业管理器中,再次附加,提示出错。此时库中的数据最多的一个表有330万数据,因有图片,数据文件较大,达192G。
    首先将此库文件及日志文件改名后,在企业管理器内新建一个与损坏文件同名的库文件,并新建在同一个目录下,停止数据库服务,将新建的库文件及日志文件删除,再将原来的损坏文件名称改回,重启数据库服务,打开企业管理器,此库文件显示在企业管理器中,状态为置疑;
    在网上搜到一段对置疑数据库处理的代码,查询分析器中执行,代码如下:

    USE MASTER
    GO

    SP_CONFIGURE 
    'ALLOW UPDATES',1 
    RECONFIGURE WITH OVERRIDE
    GO

    UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    Go

    sp_dboption 
    '置疑的数据库名''single user''true'
    Go

    DBCC CHECKDB('置疑的数据库名'
    Go

    update sysdatabases set status =28 where name='置疑的数据库名'
    Go

    sp_configure 
    'allow updates'0 reconfigure with override
    Go 

    sp_dboption 
    '置疑的数据库名''single user''false'
    Go 

    感谢以上代码的写作者。
    在执行后,系统显示:未能在数据库中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。
    再想办法仍然不能通过一致性检查,重启系统后,发现库文件已经不是置疑状态,此时数据库可以查询,但不能修改及删除,只能再重建一个后将数据导入,后因磁盘空间问题未能直接导入。在网络上传输时,又因网络中断屡试未果。为了不影响整个系统的运行(系统为近实时运行的系统),最终只能备份了最近一段时间的数据,将原来文件删除,再重建了一个。只是可惜了那300多万的数据。
  • 相关阅读:
    STL算法概述
    pentaho DI Tutorial (spoon)
    pentaho DIGet Started (spoon)
    Apache Tomcat 7学习笔记(一) 介绍tomcat7
    蜻蜓resin3.1配置文件中文注释
    CentOS防火墙开启、关闭以及开放指定端口
    CentOS5.6蜻蜓resin服务器的搭建
    (总结)RHEL/CentOS 5.x使用第三方软件库(EPEL与RPMForge、RPMFusion软件库)
    用yum安装lamp环境
    蜻蜓resin服务器虚拟目录的设置
  • 原文地址:https://www.cnblogs.com/wjhx/p/949099.html
Copyright © 2020-2023  润新知