sqlserver 实现收缩数据库日志操作

时间:2021-12-06 07:33:51

说明:

收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。

?
1
2
3
4
5
6
7
8
9
10
11
--将“恢复模式”设置为“简单”
ALTER DATABASE xszzxt_test SET RECOVERY SIMPLE
GO
--收缩日志文件大小到10M
DBCC SHRINKFILE (N'xszzxt_test_log' , 10, TRUNCATEONLY)
GO
--将“恢复模式”设置为“完整”
ALTER DATABASE xszzxt_test SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE xszzxt_test SET RECOVERY FULL
GO

补充:SQL Server收缩数据库日志文件失败的解决办法

由于数据库日志文件过大导致磁盘不够用,我们采取的解决办法是收缩数据库日志文件,但是有时候执行收缩操作的时候不成功也不报错,这就头疼了:

先看下,如何做收缩操作的吧:

sqlserver 实现收缩数据库日志操作

将文件收缩到最小:

sqlserver 实现收缩数据库日志操作

也可以写SQL执行:

?
1
DBCC SHRINKFILE('Back_up_log',1)

如果执行完以上操作发现数据库日志文件的大小依旧没变,那么试试如下操作之后再试试收缩操作呢

sqlserver 实现收缩数据库日志操作

这个操作就是把恢复模式改成“简单”,我之前是“完整”,没有完成收缩操作,改成简单之后收缩操作完成了~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/luming666/article/details/109597699