sqlserver数据库:恢复崩溃SQL Server数据库来源: 发布时间:星期六, 2009年9月5日 浏览:58次 评论:0
任何数据库系统都无法避免崩溃状况即使你使用了Clustered双机热备……仍然无法完全根除系统中单点故障何况对于大部分用户来说无法承受这样昂贵硬件投资所以在系统崩溃时候如何恢复原有宝贵数据就成为个极其重要问题了
在恢复时候最理想情况就是你数据文件和日志文件都完好无损了这样只需要sp_attach_db把数据文件附加到新数据库上即可或者在停机时候把所有数据文件(定要有master等)都copy到原有路径下也行不过般不推荐这样做法sp_attach_db比较好虽然麻烦许多
但是呢般数据库崩溃时候系统是未必能有时间把未完成事务和脏页等写入磁盘这样情况sp_attach_db就会失败那么寄期望于DBA制定了个良好灾难恢复计划吧按照你恢复计划还原最新完全备份增量备份或者事务日志备份然后如果你活动事务日志还能读得出来话恭喜你!你可以还原到崩溃前状态
般单位都是没有专职DBA如果没有可用备份更可能是最近次备份时间过于久远而导致不可接受数据损失而且你活动事务日志也处于不可用状态那就是最麻烦情况了
不幸很是般数据库崩溃都是由于存储子系统引起而这样情况是几乎不可能有可用日志用于恢复
那么就只好试下这些方案了当然是要求至少你数据文件是存在要是数据文件、日志文件和备份都没有了话别找我你可以到楼顶上去唱“神啊救救我吧”
首先你可以试下sp_attach_single_file_db试着恢复下你数据文件虽然能恢复可能性不大不过假如这个数据库刚好执行了个checkpo话还是有可能成功
如果你没有好到有摸彩票手气最重要数据库没有像你期盼那样attach上去不要气馁还是有别方案
我们可以试着重新建立个log先把数据库设置为emergency modesysdatabasesstatus为32768 就表示数据库处于此状态
不过系统表是不能随便改设置下先
0
相关文章
读者评论发表评论 |