关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server日志文件在丢失的情况下的恢复

    SQL Server日志文件在丢失的情况下的恢复

    2010-06-30 10:55:00 出处:ITJS
    分享

    以下的文章主要介绍的是SQL Server日志文件在丢失的情况下正确恢复方法,下面的文章就是对SQL Server日志文件丢失的正确恢复的实际操作方案的具体介绍,希望会给你带来一些帮助在此学习方面。

    一、 概述

    在应用系统中,数据库往往是最核心的部分,一旦数据库毁坏或损坏,将会带来巨大的损失,所以数据库的管理越来越重要。我们在做数据库管理与维护工作中,不可避免会出现各种各样的错误,本文针对数据库的日志文件丢失时如何利用MDF文件恢复数据库的方法进行了研究。

    二、 数据库的恢复

    当数据库的主数据MDF文件完好无损时,在丢失了LDF文件的情况下,如何利用MDF文件恢复数据库?我们把SQL Server日志文件分为两类:一类是无活动事务的日志,另一类是含活动事务的日志,根据不同的日志,采取不同的方法来恢复数据库。

    1. 无活动事务的日志恢复

    无活动事务的日志丢失时,我们很容易利用MDF文件直接恢复数据库,具体方法如下:

    ①.分离被质疑的数据库,可用企业管理器中的"分离数据库工具",或者用存储过程sp_detach_db分离数据库;

    ②利用MDF文件附加数据库生成新的日志文件,可用企业管理器中的"附加数据库"的工具,或者用存储过程sp_attach_single_file_db附加数据库。

    假如数据库的日志文件中含有活动事务,利用此方法就不能恢复数据库。

    2. 含活动事务的日志恢复

    含有活动事务的日志丢失时,利用上述方法就会出现"数据库和SQL Server日志文件不符合,不能附加数据库"。对于这种情况下,我们采用如下方法:

    ①新建同名数据库AAA,并设它为紧急模式

    停止SQL Server服务器;

    把数据库主数据MDF文件移走;

    启SQL Server服务器,新建一个同名的数据库AAA;

    停止SQL Server服务器,把移走的MDF文件再覆盖回来;

    启动SQL Server服务器,把AAA设为紧急模式,不过默认情况下,系统表是不能随便修改的,必须首先设置一下使其能被修改,运行以下语句即可:

    Use Master  Go  sp_configure ’allow updates’,1  reconfigure with override  Go 

    接着运行以下语句,把AAA数据库设为紧急模式,即把Sysdatabases表中AAA数据库的status属性设为’37268’,就表示把AAA数据库处于紧急模式。

    update sysdatabases set status=32768 where hame=’AAA’ 

    假如没有报告什么错误,就可以进行以下操作。

    ②设置数据库AAA为单用户模式,并检查数据库

    重启SQL Server服务器;

    把数据库AAA设为单用户模式

    Sp_dboption ’AAA’, ’single user’, ’true’ 

    运行以下语句,检查数据库AAA

    DBCC CHECKDB(’AAA’)

    假如没有什么大的问题就可以把数据库的状态改回去。

    ③还原数据库的状态

    运行以下语句,就可以把数据库的状态还原:

    update sysdatabases set status=28 where name=’AAA’  sp_configure ’allow updates’,0  reconfigure with override  Go 

    假如没有什么大的问题,刷新一下数据库,数据库AAA又会出现在你面前,但目前恢复工作还没有做完,此时的数据库仍不能工作,还要进行下面的处理,才能真正恢复。

    ④利用DTS的导入导出向导,把数据库AAA导入到一个新建数据库BBB中

    新建一个数据库BBB;

    右击BBB,选择IMPORT功能,打开导入向导;

    目标源选择"在SQL Server数据库之间复制对象和数据库",这样可以把表结构,数据视图和存储过程导入到BBB中

    再用此功能把BBB库替换成原来的AAA库即可。

    到此为止,数据库AAA就完全恢复。

    三、 小结

    日志文件丢失是一件非常危险的事情,很有可能你的数据库彻底毁坏。SQL Server数据库的恢复都是靠SQL Server日志文件来完成,所以无论如何都要保证日志文件的存在,它至关重要。为了使我们的数据库万无一失,最好采用多种备份方式相结合,所以大家要从心里重视数据库的管理与维护工作。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。