根据.mdf、.ndf和.ldf文件恢复数据库数据

 

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

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

类型缩写中文意思
mdfprimary data file主要数据文件
ndfsecondary data files次要数据文件
ldfLog 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 cst
    ON (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管理工具,右键你要压缩的数据库 -> 任务 -> 分离 -> 勾选删除连接、更新统计信息的框框->点击确定即可

 

 

           

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值