• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
fly_zj
博客园    首页    新随笔    联系   管理    订阅  订阅

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

原文为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选项,这回导致一些数据的丢失,在依靠具体的错误,可能需要手工重建非聚集索引 ,加载或删除表中的数据。

posted @ 2010-07-08 13:39  fly_zj  阅读(1112)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3