下载此文档

数据库重建日志.ppt


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
重建日志 ---恢复数据库的最后希望
问题来源:泉州分公司
U8产品支持部15号工程师
2003年09月23日
问题现象
该数据库版本为SQLSERVER2000,数据库日志文件已经被删除,只
剩下MDF文件。用数据库附加命令无法附加。
而且用户已经没有其他的可用备份,如果无法恢复这个数据库,将会
给客户带来严重的损失!!!
现在,只有寄希望与重建数据库日志来恢复了!
解决方法
首先建立一个数据库,与需要恢复的数据库同名,此例为
UFDATA_001_2003。
此处需要特别注意的是,数据库一定要同名,文件组也要相同(不过
U8软件建立数据库的时候不会改文件组,默认的是PRIMARY文件组),
文件名也要相同,
(此处建议MDF文件同名,LDF文件不同名,稍后会介绍原因);
解决方法
数据库建立好了,停止数据库服务,然后用需要恢复的MDF文件覆
盖刚建立的数据库文件,此时启动数据库服务,进入企业管理器中查看,
该数据库被设置为置疑(suspect)状态;在这个状态下数据库是不可用
的,见下图:
解决方法
首先我们要将该数据库的状态改变,改变为紧急状态。
进入查询分析器,对应MASTER数据库,执行如下语句:
sp_configure 'allow', 1
--修改系统数据库为可以修改,只有这样数据库的系统表才能修改
reconfigure with override
update sysdatabases set status = 32768
where name = 'UFDATA_001_2003'
--将该数据库状态设置为紧急状态(32768)
此时在企业管理器中刷新后可见如下图:
解决方法
关键的一步到了,让我们来给数据库重建日志文件把!
首先,停止数据服务,把原来的LDF文件改名(不能删除),然后再
启动数据库服务,进入查询分析器MASTER库下执行下列语句:
REBUILD_LOG ('UFDTA_001_2003', 'E:\UFSOFT850\ZT001\' )
--重建日志文件(改为与U8默认的日志文件同名,参见步骤1)
restore database UFDATA_001_2003 WITH RECOVERY
GO
解决方法
执行上述语句后,80%会返回如下的消息:
警告: 数据库‘UFDATA_001_2003’的日志已重建。已失去事务的一
致性。应运行 CHECKDB 以验证物理一致性。将必须重置数据库
选项,并且可能需要删除多余的日志文件。
执行完毕。如果 输出了错误信息,请与系统管理员联
系。RESTORE DATABASE 操作成功地处理了 0 页,花费了 秒
( MB/秒)。
如果返回的是上述信息,说明数据库已经默认了你新建的日志文件,
要是数据库不认,那么您也不用往下看了,您只能在覆盖MDF文件后把数据库的状态改为可用,然后输出其中的表了。
解决方法
此时该数据库的状态应该是处于DBO ONLY的状态,如下图:
您可以看见,现在里面的表都是可用的了,但是我们还需要把他的
状态改为正常的状态才可以。
解决方法
在查询分析器中执行如下语句:
update sysdatabases set status = 4194316 where name = 'UFDATA_001_2003'
--修改为正常状态;
千万别忘记,前面我们修改了数据库让他的系统表可以修改,现在
一定要修改回来,否则客户无意中修改了系统数据库,那麻烦可就是大
了!!!
--修改系统数据库状态为不可写:
sp_configure 'allow', 0
reconfigure with override
GO
解决方法
似乎恢复完成了,但是为了确保日后的使用没有问题,我们需要检查
一下数据库是否还有问题,:
CHECKDB ('UFDATA_001_2003')
如果没有返回错误提示,那么您可以放心的使用了,如果有错误提
示,来修复,不过,其中由于修复而丢失的数据是
没有办法的了,修复的语句见下页,该语句需要反复的执行,直到没有
任何错误提示为止!!

数据库重建日志 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小98 KB
  • 时间2018-08-16