mdf和ldf是什么文件

时间:2022-06-19 00:02:38

在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.mdf'',  @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 '数据库名'