Recovery Pending
在通过.mdf 和.ldf 文件直接挂在的时候出现Recovery Pending的错误
错误原因:
- 数据库在关闭的时候由于至少存在一个未提交的事务导致活动事务日志文件被删除
- 日志文件在移动过程中损坏
- 由于磁盘剩余空间问题导致在还原初始化时失败
解决方案:
方案 1:将数据库标记为紧急模式后强制修复
紧急模式下数据库变为只读数据,关闭日志,并且只允许管理员使用,本质上使不可访问的数据库online
alter Database [DBName] set EMERGENCY;
go
ALTER DATABASE [DBName] set single_user;
go
DBCC CHECKED([DBName],REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
go
ALTER DATABASE [DBName] set multi_user
go
方案2:将数据库标记为紧急模式后重新挂载
ALTER DATABASE [DBName] set EMERGENCY;
ALTER DATABASE [DBName] set multi_user
EXEC sp_detach_Db '[DBName]'
EXEC sp_attach_single_file_db @DBName='[DBName]',@physname=N'path'