• 当数据库损坏和挂起后推荐的做法(翻译)


    原文为Recommended actions for corrupt or suspect databases

     

    概述

    数据库挂起和损坏是很少见的,但是却有可能发生,主要是因为致命的硬件错误或者操作失误,如删掉日志文件

    更多信息

    下面列出的要点的前提你要有各种损坏的或挂起数据库(废话),本文受到到一些SQLSERVER MVP同仁和SQLSERVER 开发团队的帮助,

    方法

    1.确保你有备份策略,及时的从硬件错误中恢复,建议在大多数情况下备份你的数据库和日志文件

    2.如果可以的话,运行下 DBCC CHECKDB 命令,根据返回的错误号,通过在线文档和知识库确认是什么问题。DBCC命令的NO_INFOMSGS非常有用,它认DBCC只返回错误信息

    3.找找看为什么会发生?检查下事件日志,诊断下硬件,对返回的错误代码找找在线帮助文档,确保不会再次发生!如果是数据库挂起了,看数据库文件是不是正被杀毒软件使用,这时可以重启

    一下SQLSERVER,但是仍然需要检查日志文件,到底发生了什么?

    4.如果是硬件问题,确保硬件要被更换

    5.备份日志文件,确保备份计划适时执行。如果数据库挂起了,使用BACKUP命令的NO_TRUNCATE选项。此外为了额外的安全,可以备份mdf和ldf文件

    6.恢复是最适合不过的事,如果你有一些日志备份,可能就不会有任何的数据丢失。恢复到最近的一次完全备份,接下来的用日志做还原到某个时间点的,如果是SQLSERVER 2005,还能够精确的还原到某个页。

    7.如果数据库没有挂起,可以使用DBCC命令的REPAIR选项,这回导致一些数据的丢失,在依靠具体的错误,可能需要手工重建非聚集索引 ,加载或删除表中的数据。

  • 相关阅读:
    HDU_2010——水仙花数
    HDU_2000——ASCII码排序sort()
    HDU_2008——数值统计
    HDU_2005——今天是今年的第几天
    HDU_2004——成绩转换
    HDU_2002——计算求的体积
    InnoDB可重复读隔离级别的底层实现原理
    nginx s reload原理
    Redis主从复制原理总结
    HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
  • 原文地址:https://www.cnblogs.com/fly_zj/p/1773537.html
Copyright © 2020-2023  润新知