数据库的ldf文件丢失或损坏,则数据库加载失败, 查看SQL Server Management->SQL Server Logs, 可以看到加载ldf失败。
1.查看数据库状态
select * from sys.databases
可以看到对应的数据库的state_desc为Recovery
在后面的步骤中可以随时查看数据库状态
2. 允许数据库更新
Sp_configure 'allow updates',1
go
Reconfigure with override
GO
好像这步不做,也可以通过。
3.将数据库脱机
alter database Test set offline
go
4.将数据库设为紧急状况
alter database Test set emergency
go
5.设置单用户模式
alter database Test set single_User
go
6. 使用DBCC恢复log
DBCC checkdb('Test', REPAIR_ALLOW_DATA_LOSS) with NO_INFOMSGS
dbcc checkdb('Test', REPAIR_REBUILD)
7.到这步应该是可以了,下面就是将数据库回复到正常状态
exec sp_resetstatus 'Test'
exec sp_dboption 'Test',N'single','false'
alter database Test set online
go
Sp_configure 'allow updates', 0
go
Reconfigure with override
GO
至此数据库应该恢复完毕.