站长资源数据库

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

整理:jimmy2024/11/19浏览2
简介说明:收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。--将“恢复模式”设置为“简单”ALTER DATABASE xszzxt_test SET RECOVERY SIMPLE GO--收缩日志文件大小到10MDBCC SHRINKFILE (N'xszzxt_t

说明:

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

--将“恢复模式”设置为“简单”
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执行:

DBCC SHRINKFILE('Back_up_log',1)

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

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

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

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