SQLSERVER中修复状态为Suspect的数据库

WBOY
发布: 2016-06-07 15:51:31
原创
1106 人浏览过

前几天的Server因断电损坏了DB,DB的Status被标记为 Suspect。 这种情况少见,此时不能Detachp这个DB了,只能Backup。 后面用这些T-Script重建log文件,还是少量数据丟失。 检查DB的状态: 1: SELECT DATABASEPROPERTYEX ( 'DemoSuspect' , 'STATUS' ) AS 'St

      前几天的Server因断电损坏了DB,DB的Status被标记为Suspect。这种情况少见,此时不能Detachp这个DB了,只能Backup。

      后面用这些T-Script重建log文件,还是少量数据丟失。

      检查DB的状态:   

<span>   1:  </span><span>SELECT</span> DATABASEPROPERTYEX (<span>'DemoSuspect'</span>, <span>'STATUS'</span>) <span>AS</span> <span>'Status'</span>;
登录后复制
<span>   2:  </span><span>GO</span>
登录后复制
<span>   3:  </span> 
登录后复制
<span>   4:  </span>Status
登录后复制
<span>   5:  </span>------<span>--</span>
登录后复制
<span>   6:  </span>SUSPECT
登录后复制
   
登录后复制
   最后修复:
登录后复制

<span>   1:  </span><span>ALTER</span> <span>DATABASE</span> DemoSuspect <span>SET</span> EMERGENCY;
登录后复制
<span>   2:  </span><span>Go</span>
登录后复制
<span>   3:  </span><span>ALTER</span> <span>DATABASE</span> DemoSuspect <span>SET</span> SINGLE_USER;
登录后复制
<span>   4:  </span><span>Go</span>
登录后复制
<span>   5:  </span><span>DBCC</span> CHECKDB (DemoSuspect, REPAIR_ALLOW_DATA_LOSS) <span>WITH</span> NO_INFOMSGS, ALL_ERRORMSGS;
登录后复制
<span>   6:  </span>GO
登录后复制

  

   DemoSuspect是你的DB名称。

   还可以参加下面两篇文章:

    TechEd Demo: Creating, detaching, re-attaching, and fixing a suspect database

    CHECKDB From Every Angle: EMERGENCY mode repair - the very, very last resort

 

   希望这篇Post对您有帮助。

  

   Author: Petter Liu   http://wintersun.cnblogs.com

 

 

 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!