场景:只有Test.mdf文件,日志文件被删除了,现需要恢复数据库。
步骤:
1.建立同名数据库Test.
2.停止数据库服务,将旧的数据库文件test.mdf覆盖到新创建的数据库文件上
3.启动数据库服务,这时候数据库是打不开的
4.在master库中运行 ,如下语句便可。
-- 1.置为紧急状态
alter database test set emergency
-- 2.恢复
declare @databasename varchar(255)
set @databasename='test'
exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态