在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 '数据库名'
转载于:https://www.cnblogs.com/michaelkai/archive/2013/06/14/3135060.html