SQLServer日志过大导致还原失败的解决方案


背景:可能项目运行过久或其他原因(待查)导致LDF日志文件达到了254GB,无法正常还原数据库。

解决方案:
1).

RESTORE DATABASE MainData
FROM DISK='D:\MainData\MainData_backup_2018_10_16_180012_8601285.bak'
WITH MOVE 'MainData' TO 'D:\MSSQL\MainData.mdf'
,NO_LOG 


2). 
第一步做完後,将会出现一个(Restoring)的数据库
接着再重建一个新的DB, 比如 baktest_nolog
停掉SQL服务

3). 
将第1步生成的mdf 文件 盖掉 第二步产生的 mdf 文件
启动SQL服务

4).执行以下代码

ALTER DATABASE MainData_Nolog SET EMERGENCY
GO
ALTER DATABASE MainData_Nolog SET SINGLE_USER
GO

-- 重建log
DBCC CHECKDB(MainData_Nolog,'REPAIR_ALLOW_DATA_LOSS')
GO

ALTER DATABASE MainData_Nolog SET MULTI_USER
GO
ALTER DATABASE MainData_Nolog SET ONLINE
GO

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM