文档介绍:SQLServer的文件恢复技术
连接数据库的命令:
Sp_attach_db或者sp_attach_single_file_db s_attach_db [***@dbname =] ′dbname′, [***@fdb或者sp_attach_single_file_db可以恢复数据库,但是会消失类似下面的提示信息:
设备激活错误。物理文件名 ’C:\Program Files\Microsoft SQL Server\MSSQL\data\’可能有误。
已创立名为’C:\Program Files\Microsoft SQL Server\MSSQL\Data\’的新日志文件。
但是,假如您的数据库文件是从其他计算机上复制过来的,那么很不幸,或许上述方法就行不通了。你或许会得到类似下面的错误信息:
效劳器: 消息 1813,级别 16,状态 2,行 1
未能翻开新数据库 ’test’。CREATE DATABASE 将终止。
设备激活错误。物理文件名 ’d:\’ 可能有误。
应当怎么办呢?下面我们举例说明恢复方法。
A、我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。
B、停掉数据库效劳器。
C、,。
D、启动数据库效劳器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进展任何操作。
E、设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库效劳器,按右键,选择“属性”,在“效劳器设置”页面中将“允许对系统名目直接修改”一项选中。也可以使用如下语句来实现。
use master go sp_configure ’allow updates’,1 go reconfigure with override go
F、设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID(’test’)
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。
G、下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log(’test’,’C:\Program Files