admin 管理员组

文章数量: 887021


2024年2月28日发(作者:c语言strstr函数的用法)

mdf和ldf是什么文件

/tittle-tattle/2009/

在MS SQL Server7/2000中摒弃了以前版本中的设备对象,一个数据库文件包含两个文

件:.mdf和.ldf。在系统瘫痪之前把这两个文件从SQL Server的安装目录的data子目录里拷

贝出来(一般为D:MSSQLDATA),重新安装完成系统之后,再将这两个文件拷贝到

SQL Server安装目录的data子目录里面,然后进行如下操作就可以恢复你的数据库了。

恢复时有两种方式可供选择:

1、调用系统存储过程SP_ATTACH_DB

举一个例子,需要备份和恢复一个名为student的数据库。先打开SQL Server Service

Manager,关掉SQL Server服务,把需要备份的student数据库复制到其他的地方(可以是

自己硬盘的其它盘,也可通过局域网复制到他人的PC上),包含有两个文件和。某些时间以后,系统数据库瘫痪,需要进行恢复。先重新安装系统,把和这两个文件拷贝到SQL Server安装目录的data子目录里面,再在MS Query

Analyzer中运行如下命令:

exec sp_attach_db @dbname=N''student'',

@filename1=N''d:MSSQLDatastudent_'',

@filename2=N''d:MSSQLDatastudent_''

第一行命令表示要恢复的数据库名称,可以是原来的名称student,也可以另外起一名称,但一定要保证唯一。 第二、三行命令表示数据库文件的物理名称,也就是说你拷贝过来的数据库文件和的实际位置。

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:MSSQLDatastudent_′

调用这个存储过程不必指定日志文件,它会自动生成日志文件。注意以上恢复拷贝的数据库

的方法一定要保证重新安装后的SQL的字符集和排序方式同以前的系统完全相同,否则将不能成功

附加数据库:

企业管理器

--右键"数据库"

--所有任务

--附加数据库

--选择你的.mdf文件名

--确定

--如果提示没有.ldf文件,是否创建,选择"是"

查询分析器中的方法:

--有数据文件及日志文件的情况

sp_attach_db '数据库名'

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

,'日志文件名(*.ldf注意要带目录)'--后面可以是用,分隔的该数据库的多个日志文件

--如果只有数据文件的情况

sp_attach_single_file_db '数据库名'

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

exec sp_attach_db 'DB_Name','C:Program FilesMicrosoft SQL

ServerMSSQLDataDB_','C:Program FilesMicrosoft SQL

ServerMSSQLDataDB_'


本文标签: 数据库 文件 恢复 日志 系统