位置: 编程技术 - 正文

教你轻松恢复/修复SQL Server的MDF文件(那怎么才能恢复)

发布时间:2024-02-01

首先:如果备份的数据库有两个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了。

或者在查询分析器中输入:

SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您 能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)。

1.正常的备份、恢复方式0

正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。

卸下数据库的命令:Sp_detach_db 数据库名

使用此方法可以正确恢复SQL Sever7.0和SQL Server 的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。

例子:

假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面我们讨论一下如何备份、恢复该数据库。

2.只有mdf文件的恢复技术

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。

如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息:

设备激活错误。

但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误信息:

怎么办呢?别着急,下面我们举例说明恢复办法。

A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。

B.停掉数据库服务器。

C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

D.启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。

E.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

F.设置test为紧急修复模式

此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表

G.下面执行真正的恢复操作,重建数据库日志文件:

执行过程中,如果遇到下列提示信息:

服务器: 消息 ,级别 ,状态 1,行 1

未能排它地锁定数据库以执行该操作。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。

正确执行完成的提示应该类似于:

警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

H.验证数据库一致性(可省略)

dbcc checkdb('test')

一般执行结果如下:

CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test' 中)。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

I.设置数据库为正常状态

如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。

推荐整理分享教你轻松恢复/修复SQL Server的MDF文件(那怎么才能恢复),希望有所帮助,仅作参考,欢迎阅读内容。

教你轻松恢复/修复SQL Server的MDF文件(那怎么才能恢复)

文章相关热门搜索词:应该怎样恢复,怎么恢复,怎么恢复,你知道如何恢复,怎么恢复,怎么恢复,那怎么才能恢复,要怎样恢复,内容如对您有帮助,希望把文章链接给更多的朋友!

MsSQL数据导入到Mongo的默认编码问题(正确导入Mongo的方法) 先说下我操作的步骤。1.从sql的managementstudio查询5万条数据,使用右键导出为csv2.由于默认导出没有带列名,手工编辑后增加了列名3.使用mongoimport导入

2分法分页存储过程脚本实例 需要说明的是:这个存储过程参数比较多,我再实际使用中又在外面单独写了一个类,页面调用直接调用封装的类,方法有很多,主要是思路,大家可

sql实现split函数的脚本 --创建一个函数,函数中有两个参数CreateFUNCTION[dbo].[SplitToTable](@SplitStringnvarchar(max),--输入的字符串@Separatornvarchar()=''--分割条件)--返回的数据为一个表RET

标签: 那怎么才能恢复

本文链接地址:https://www.jiuchutong.com/biancheng/320357.html 转载请保留说明!

上一篇:教你轻松学会SQL Server记录轮班的技巧(sql初学者视频教程)

下一篇:MsSQL数据导入到Mongo的默认编码问题(正确导入Mongo的方法)(sqlserver数据导入mysql)

  • 旅游住宿有什么问题
  • 公司现金账户归谁管
  • 一个月没有账务往来,现金日记账如何登记?
  • 专用发票和普通票有区别吗
  • 收回的伙食费计什么科目
  • 电子发票冲红是怎么回事
  • 纳税申报现金流量表报错了可以重新申报吗
  • 新设备试运行时间
  • 投资公司的投资人叫什么
  • 基本养老保险覆盖人数
  • 国家知识产权局商标注册
  • 减免所得税怎么算税率
  • 有产权车位转让需要什么手续和费用
  • 个税申报汇总表怎么填写
  • 公司作账都按不含税价吗
  • 专票什么公司才能开
  • 小企业流动资产一般是多少
  • 普通发票也属于增值税发票吗
  • 自产自用设备税务处理
  • 已经认证抵扣的发票需要冲红
  • 债券分期还本利息怎么算
  • 去年收入少做了怎么调账
  • 成本加成定价法包括()
  • 本年收益在借方还结转吗
  • 代理公司可以开服务费发票吗
  • 右键新建菜单中没有文本文档怎么办
  • php cgi配置
  • python中函数的可变参数有哪几种?各有什么特点?
  • u盘无内容
  • 高新企业研发费用比例
  • 月末增值税计算公式
  • powerremind.exe
  • php zmq
  • 售后回购方式销售商品如何确认收入
  • 悬崖雕塑
  • thinkphp获取数据库数据
  • php读取文件
  • chattr i
  • utermux命令
  • 完美解决win10间歇性掉线
  • 用友u8删除凭证的步骤
  • 用python写
  • 增值税进项税加计抵减
  • 工资计提未发放,调增还是调减
  • wordpress文章发布不显示作者
  • 服务费的开票项目是什么
  • 企业基金分红具备的条件
  • 房屋租赁费需要分摊吗
  • 职工工伤住院期间的各项费用由谁负责
  • 无形资产如何计提减值
  • 税局代开的专票能作废或红冲吗?
  • 应付利息核算的会计分录
  • 进出口总额用什么字母表示
  • 税务稽查其他应付款
  • 什么是定额发票图片
  • 建筑业当月有收入,没成本怎样办
  • 出口为什么没有增值税
  • 周转金怎么计算
  • 制造费用月末需要结转吗
  • 被征用的不动产或者动产使用后应当怎样
  • 财政性银行的资金来源是什么
  • sql的理解
  • 32位win7系统多大?
  • 怎么快速
  • mini programes
  • win8.1开机进入桌面
  • windows8应用商店在哪
  • ExtJS4给Combobox设置列表中的默认值示例
  • Cocos2d唯一死敌的崛起,OGEngine来了
  • js堆栈和队列
  • 枚举目录时出现错误
  • 全部删除文件快捷键
  • easyui原理
  • vue分页组件page
  • js中的
  • python smtpd
  • javascript教程完整版
  • 冲红和红冲的区别
  • 代发工资法律依据
  • 汽车公司户转个人户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号