SQL Server数据库没有LDF 的恢复

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,
但是会出现类似下面的提示信息
设备激活错误。物理文件名 E:\Microsoft SQL Server\Data\iBusinessWork_Log.LDF’ 可能有误。
已创建名为 ‘E:\Microsoft SQL Server\Data\iBusinessWork_log.LDF’ 的新日志文件。
但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息
服务器: 消息 1813,级别 16,状态 2,行 1
未能打开新数据库 ‘test’。CREATE DATABASE 将终止。
设备激活错误。物理文件名 E:\Microsoft SQL Server\Data\iBusinessWork_log.LDF’ 可能有误。

怎么办呢?别着急,下面我们举例说明恢复办法。
A.我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。可以在SQL Server Enterprise Manager里面建立。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。
D.启动数据库服务器。此时会看到数据库iBusinessWork的状态为“置疑”。这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go

F.设置iBusinessWork为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID(‘iBusinessWork’)
关闭打开企业管理器,此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表

G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log(‘iBusinessWork’,‘E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf’)
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了iBusinessWork库的系统表,那么退出SQL Server Enterprise Manager就可以了。(关闭企业管理器,如果别的机器从网络访问数据库,也把网络关闭)
正确执行完成的提示应该类似于:
警告: 数据库 ‘iBusinessWork’ 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

H.验证数据库一致性(可省略)
dbcc checkdb(‘iBusinessWork’)
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'iBusinessWork 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

I.设置数据库为正常状态
sp_dboption ‘iBusinessWork’,‘dbo use only’,‘false’
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
sp_configure ‘allow updates’,0
go
reconfigure with override
go

SQL Server数据库没有LDF 的恢复相关推荐

  1. Sql Server数据库的备份和恢复措施

    Sql   Server数据库的备份和恢复措施 Sql   Server数据库的备份和恢复措施 一.备份数据库 1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft   SQL   S ...

  2. [转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程

    Sql server的帮助文档地址,在IE里面直接输入就行 mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Boo ...

  3. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...

    SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式 这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需 ...

  4. SQL Server数据库的三种恢复模式

    SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式. sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何 ...

  5. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下 如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 ...

  6. SQL Server 数据库之备份和恢复数据库

    备份和恢复数据库 1. 概述 2. 备份类型 3. 恢复模式 3.1 简单恢复模式 3.2 完全恢复模式和大容量日志恢复模式 4. 备份数据库 5. 恢复数据库 1. 概述 在一些对数据可靠性要求很高 ...

  7. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  8. 【转载】在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库

    在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库 SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Mic ...

  9. 【数据库数据恢复】SQL SERVER数据库MDF (NDF)或LDF损坏怎么恢复数据?

    SQL SERVER数据库故障类型: MDF(NDF)或LDF损坏. SQL SERVER故障原因: 1.数据库正在操作过程中,机器突然断电: 2.人为误操作. SQL SERVER故障表现: 1.数 ...

最新文章

  1. 为了拿捏 Redis 数据结构,我画了 40 张图
  2. BZOJ 3597 SCOI2014 方伯伯送椰子 网络流分析+SPFA
  3. 时间轮算法解析(Netty HashedWheelTimer源码解读)
  4. 如何解开机器学习的面纱?
  5. maven项目不编译xml文件
  6. (4)建立一个标准尺寸的平面,并对其进行着色贴图、拉伸一定的厚度
  7. 安卓WindowManager注入事件如何跳出进程间安全限制
  8. 计算机科学与技术导论报告
  9. 必备24个宝藏工具,赶紧收藏,在家做自媒体8天收益4100
  10. html 超链接下载文件问题 如何修改文件名称
  11. 计算机光盘无法格式化,怎么格式化光盘啊??求解!!
  12. html图片的自动轮播js,js实现轮播图效果 纯js实现图片自动切换
  13. 外包公司是做什么的?
  14. iGrimaceV8 V8在线威锋源apt.so/tuzhurenv8手机直接下载安装教程图:
  15. 软件测试中的正交缺陷分析总结,正交缺陷分类(ODC)流程简介及应用经验分享(上)...
  16. Lidar Object detection
  17. 银河麒麟系统使用方法
  18. 深度学习笔记其三:多层感知机和PYTORCH
  19. 【王者荣耀】全英雄无水印皮肤下载器
  20. 怎样用 16.7 个小时做 40 小时的工作

热门文章

  1. 福州24小时图文打印店在哪里?
  2. 在PictureBox加载图片时,显示等待,加载完毕后再显示真正的图片
  3. c++代码实现图的BFS遍历
  4. 快易计算机,中老年人学电脑快易懂--计算机上网(附光盘)
  5. 为构建社交关系链手淘都做了啥?
  6. 讯琥科技精彩亮相2021 MWC 上海:构建集成区块链技术的下一代移动网络
  7. php编写圆的周长,【 应用拓展 在屏幕上显示提示信息,输入圆的半径值,编程计算圆的周长、面积,并打印输出。 (10.0...
  8. DocuWare 文档管理软件在医疗保健行业的应用
  9. 如何警惕网络钓鱼新花样—“刷钻、刷信用”
  10. Ubuntu-使用惠普打印机