在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 '數據庫名'