.mdf和.ldf是什么文件

时间:2021-05-30 00:03:03

在MS SQL Server7/2000中摒弃了以前版本中的设备对象,一个数据库文件包含两个文件:.mdf和.ldf。在系统瘫痪之前把这两个文件从SQL Server的安装目录的data子目录里拷贝出来(一般为D:\MSSQL\DATA),重新安装完成系统之后,再将这两个文件拷贝到SQL Server安装目录的data子目录里面,然后进行如下操作就可以恢复你的数据库了。
  恢复时有两种方式可供选择: 
1、调用系统存储过程SP_ATTACH_DB 
  举一个例子,需要备份和恢复一个名为student的数据库。先打开SQL Server Service Manager,关掉SQL Server服务,把需要备份的student数据库复制到其他的地方(可以是自己硬盘的其它盘,也可通过局域网复制到他人的PC上),包含有两个文件student.mdf和student.ldf。某些时间以后,系统数据库瘫痪,需要进行恢复。先重新安装系统,把student.mdf和student.ldf这两个文件拷贝到SQL Server安装目录的data子目录里面,再在MS Query Analyzer中运行如下命令:
  exec sp_attach_db @dbname=N'student',
@filename1=N'd:\MSSQL\Data\student_Data.md',
@filename2=N'd:\MSSQL\Data\student_Log.ldf'
第一行命令表示要恢复的数据库名称,可以是原来的名称student,也可以另外起一名称,但一定要保证唯一。 第二、三行命令表示数据库文件的物理名称,也就是说你拷贝过来的数据库文件student.mdf和student.ldf的实际位置。
2、调用系统存储过程SP_ATTACH_SINGLE_FILE_DB 
如果日志文件.ldf丢失,可以采用这个命令。还以上面的student数据库为例,在MS Query Analyzer中运行如下命令:
  EXEC sp_detach_db @dbname=′student′ 
  EXEC sp_attach_single_file_db @dbname=′student′, 
  @physname=′d:\MSSQL\Data\student_Data.mdf′
调用这个存储过程不必指定日志文件,它会自动生成日志文件。注意以上恢复拷贝的数据库的方法一定要保证重新安装后的SQL的字符集和排序方式同以前的系统完全相同,否则将不能成功

================

附加数据库: 

企业管理器 
--右键"数据库" 
--所有任务 
--附加数据库 
--选择你的.mdf文件名 
--确定 
--如果提示没有.ldf文件,是否创建,选择"是" 


查询分析器中的方法: 
--有数据文件及日志文件的情况 
sp_attach_db '数据库名' 
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件 
,'日志文件名(*.ldf注意要带目录)'--后面可以是用,分隔的该数据库的多个日志文件 

--如果只有数据文件的情况 
sp_attach_single_file_db '数据库名' 
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件

===

exec     sp_attach_db    'DB_Name','C:\Program Files\Microsoft SQL Server\MSSQL\Data\DB_Name.MDF','C:\Program Files\Microsoft SQL Server\MSSQL\Data\DB_Name.LDF'  

(转自:http://apps.hi.baidu.com/share/detail/119846)