一、.mdf、.ndf和.ldf文件是什么

在微软的SQL Server 2000 数据库有三种类型的文件:

类型 缩写 中文意思
mdf primary data file 主要数据文件
ndf secondary data files 次要数据文件
ldf Log data files 事务日志文件

1、主要数据文件:(扩展名.mdf是 primary data file 的缩写)

主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。

2、次要数据文件(扩展名.ndf是Secondary data files的缩写)

次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。

3、事务日志 (扩展名.ldf是Log data files的缩写)

事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。

二、恢复数据

  1. 把mdf文件或.ndf文件和ldf文件拷贝到数据库的默认路径C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA里也可是自定义路径(这里是自定义路径演示)
  2. 在数据库可视化工具中新建查询运行以下代码既可既可产生名为cst的数据库
  3. 刷新数据库,就出现了新的数据库cst;
USE master;
GO
CREATE DATABASE cstON (FILENAME = 'D:\Program Files\MS_SQLSERVER_DATA\cst.ndf'),(FILENAME = 'D:\Program Files\MS_SQLSERVER_DATA\cst_log.ldf')FOR ATTACH;
GO

例如:

说明:

  • 以上代码也可将.ndf文件替换为.mdf文件进行恢复。
  • 在数据恢复后恢复文件将成数据库的引用文件,数据库的操作日志及数据都会在此进行保存,切记不可删除和移动。

三、遇到的问题

  • 恢复文件后数据库状态是“只读”,不能写入

解决办法:将.mdf、.ndf和.ldf文件的权限改为完全控制,选中.ndf文件---->右击----->安全------> Authenticated Users---->编辑---->完全控制,按照同样的方法,更改日志文件。

如果不行则将数据库分离处理,然后在将.mdf、.ndf和.ldf文件的权限改为完全控制,然后重新执行上面sql语句恢复数据。

分离步骤:打开Microsoft SQL Server Management Studio管理工具,右键你要压缩的数据库 -> 任务 -> 分离 -> 勾选删除连接、更新统计信息的框框->点击确定即可

根据.mdf、.ndf和.ldf文件恢复数据库数据相关推荐

  1. 用mdf文件和ldf文件恢复数据库

    之前在网上找到用这两个文件附加数据库,结果一直拒绝访问失败,后来换了下面这个方法,居然成功了,特推荐给大家使用.(sql server 2008) 1.把mdf文件和ldf文件拷贝到数据库的默认路径C ...

  2. .mdf数据库恢复mysql_sql server 如何通过mdf文件和ldf文件恢复数据库

    欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 新建一个查询: 输入指令 USE master; GO ; CREATE DATABASE @DBNAME 在单引号中 ...

  3. Sql Server实用操作-无数据库日志文件恢复数据库两种方法

    数据库日志文件的误删或别的原因引起数据库日志的损坏 方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启s ...

  4. 没有ldf文件的数据库附加

    由于客户误操作把数据盘给格式化了,真是灾难!最后万兴的是还找到一个mdf文件. 先讲两个科普的感念:mdf和ldf问这两个是干什么的, mdf是主要数据库文件,记录了所有数据库的重要信息. ldf是记 ...

  5. mysql 二进制日志 解析c++_mysql二进制日志文件恢复数据库

    二进制日志的文件的作用 mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句.如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所 ...

  6. frm文件导入mysql5.7_使用frm,ibd文件恢复数据库文件,mysql5.7.31,centos7.5,20200813...

    使用frm,ibd文件恢复数据库文件共有3步,安装数据库,恢复表结构,恢复表数据 我实操的软件版本,mysql5.7.31,centos7.5,20200813,数据库展开597MB 一,安装数据库 ...

  7. oracle怎么恢复删除数据库数据库文件,Oracle只有数据文件恢复数据库

    Oracle只有数据文件恢复数据库 恢复前准备工作 1备份数据文件,文件路径为%ORACLE_NOME%/oradata/xxxx(xxxx为数据库实例) 2备份ORACLE安装路径下的D:\app\ ...

  8. .mallox后缀勒索病毒解密工具|勒索病毒解密恢复|mallox勒索病毒解密|mallox勒索病毒文件恢复|数据库恢复

    mallox勒索病毒概述,mallox勒索病毒解密恢复及日常防护建议 .mallox后缀勒索病毒解密工具|勒索病毒解密恢复|mallox勒索病毒解密|mallox勒索病毒文件恢复|数据库恢复 mall ...

  9. MySQL利用.ibd文件恢复数据库

    MySQL利用.ibd文件恢复数据库 1.需要在新的数据库中新建一个与原来表格表结构相同的表,字段名称相同: 2.清空新建表的表空间 alter table <表名> discard ta ...

最新文章

  1. 用json 数据生成mysql 表_根据json数据生成表格
  2. Oracle Supplemental 补全日志介绍
  3. 对象间的联动——观察者模式
  4. 几张旧照片,用傻瓜拍的,翻出来凑数 (续)
  5. Quartz任务调度
  6. kettle同步数据中文乱码问题解决
  7. C++:extern关键字
  8. TSqlConnection
  9. 武汉工程大学计算机网络真题,2017年武汉工程大学计算机科学与工程学院836计算机网络考研导师圈点必考题汇编...
  10. mysql数据库自学_MySQL数据库自学
  11. 9结构型模式之代理模式
  12. java继承与覆盖_Java-继承与覆盖【摘抄】
  13. android地图搜索功能,[Android]百度地图POI检索
  14. 怎么下载并使用向日葵远程工具
  15. keepalived配置虚拟ip无法ping通解决方法
  16. cf#644 div2 B. Boboniu Plays Chess
  17. c# 无法检索解密密钥_使用C#检索Windows产品密钥
  18. Flink 多流转换
  19. 上海浦东新区:在不动产登记、政务服务领域应用电子合同、印章
  20. IntelliJ IDEA 2018.3.3版本破解,亲测可用

热门文章

  1. Configure Database Mirroring
  2. python爬虫毕业论文大纲参考模板_毕业论文大纲(目录)模板
  3. 图像置乱之评价图像置乱度算法的选择
  4. dolphinscheduler v2.0.1 master和worker执行流程分析(一)
  5. Windows 11和Windows 2022 TLS/SSL(Schannel SSP)的加密套件
  6. hadoop配置文件workers
  7. 弘辽科技:淘宝开店后怎么建群?手机端怎么建群?
  8. 【自动驾驶】Frenet坐标系与Cartesian坐标系(二)
  9. [Ubuntu 16.04] [Memos] install jupyterlab
  10. html 图片自动滚动播放,CSS3如何实现图片滚动播放效果(附代码)_WEB前端开发...