<返回更多

记一次SQL Server数据库正在恢复故障

2023-04-04  今日头条  自若晚风Jr
加入收藏

前两天一大早就收到磁盘被占用满了,应用无法正常使用。

 


 

登录服务器查看到是因为事务日志导致磁盘爆满

 

找到原因开始清理事务日志,执行了下面语句结果没有生效日志文件还是没有缩小,我就重启了SQL服务想着重启后来执行清理SQL,结果就搞出了大事数据库显示在恢复中。

USE 数据库名
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE --简单模式
GO
USE 数据库名
GO
DBCC SHRINKFILE (N'数据库逻辑文件名称_log' , 11, TRUNCATEONLY)
GO
USE 数据库名
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL --还原为完全模式
GO

这个时候是表面镇静,内心慌的一批MD要是数据库坏了就麻烦了。

当数据库显示在恢复中时不要操作等待数据库恢复正常,恢复过程时间较长。

但我的情况在数据库恢复正常后还是不能使用。我就使用终极绝招了附加数据库操作。

附加数据库时间取决于你的数据库大小,我的数据库有1T的数据库等一个半小时左右。

1.停用SQL Server服务
2.将数据库的.mdf和.ldf文件更名
3.启用SQL Server服务
4.右键删除数据库
5.将更名的.mdf和.ldf文件名称改回原来的数据库文件名。
6.在管理工具中重新附加数据库,附加成功后故障修复。

数据库附加成功后,最后再执行事务日志清理任务。

到此数据库就恢复正常了。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>