SQL Server还原模式下的紧急数据库修复(一般用不到)

公司一台用友服务器最近要做升级,该服务器之前机房空间调整时遭遇了意外断电,后经供应商修复过几次数据库故障。但在测试升级的过程中仍然遇到了不少一致性故障,大多故障都可以用DBCC CHECKDB搞定,但是某数据库经升级失败后变为还原模式,无法恢复正常也无法删除。

软件平台:Windows 2008 R2 + SQL Server 2008
硬件平台:VMware @ x86_64 based Intel Processers , Z97 Chipset

遇到这种情况的时候,需要移除数据库日志并重建日志

--将数据库置于单用户模式
Use master
go
sp_dboption 'UFMeta_010', single, true;
--将数据库置为紧急模式
ALTER DATABASE UFMeta_010 SET EMERGENCY

接着,停止 SQL Server 服务,删除数据库对应的日志文件,再启动 SQL Server 服务

--重建日志
alter database UFMeta_010 Rebuild Log on (name=UFMeta_010_LOG,filename='D:\ZT\WIN-GGTDGE8S7Q8\ZT010\2017\UFMeta.ldf')
--数据库修复
DBCC CHECKDB ('UFMeta_010', repair_allow_data_loss);
--解除数据库的紧急模式
Alter Database UFMeta_010 set online
--解除数据库的单用户模式
Use master
go
sp_dboption 'UFMeta_010', single, false;

 


  请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。

本文链接地址: SQL Server还原模式下的紧急数据库修复(一般用不到)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*