LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

SQL Server 收缩大日志文件操作日志

admin
2026年5月11日 10:3 本文热度 78

一、操作背景

  • 数据库名称:DNName

  • 日志文件逻辑名:DNName_Log

  • 当前日志文件过大,占用磁盘空间异常

  • 数据库恢复模式:完全模式(FULL)

  • 操作目的:安全收缩日志文件至合理大小,保留完整备份链

二、操作前检查

-- 1. 查看数据库当前恢复模式SELECT name, recovery_model_desc FROM sys.databases WHERE name = 'DNName';
-- 2. 查看日志文件当前大小(MB)SELECT     name AS [LogicalName],    size/128 AS [SizeMB],    CAST(FILEPROPERTY(name, 'SpaceUsed'AS INT)/128 AS [UsedMB],    (size/128 - CAST(FILEPROPERTY(name, 'SpaceUsed'AS INT)/128AS [FreeMB]FROM sys.database_filesWHERE type_desc = 'LOG';
-- 3. 检查日志重用等待状态(是否有原因导致无法收缩)SELECT log_reuse_wait_desc, name FROM sys.databases WHERE name = 'DNName';

三、执行收缩操作(带安全步骤)

USE [master];GO
-- 步骤1:将数据库切换到简单模式(避免日志累积)ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT;GOALTER DATABASE DNName SET RECOVERY SIMPLE;GOPRINT '数据库已切换到简单模式';
-- 步骤2:切换到目标数据库USE DNName;GO
-- 步骤3:强制收缩日志文件(TRUNCATEONLY 只释放尾部空闲空间)DBCC SHRINKFILE (N'DNName_Log'0, TRUNCATEONLY);GO
-- 可选:若想收缩到具体大小(如200MB)-- DBCC SHRINKFILE (N'DNName_Log', 200);-- GO
PRINT '日志文件收缩完成';
-- 步骤4:切回完全恢复模式USE [master];GOALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT;GOALTER DATABASE DNName SET RECOVERY FULL;GOPRINT '数据库已切回完全恢复模式';

四、操作后验证

-- 1. 确认恢复模式已恢复SELECT name, recovery_model_desc FROM sys.databases WHERE name = 'DNName';
-- 2. 查看日志文件新大小USE DNName;GOSELECT     name AS [LogicalName],    size/128 AS [SizeMB],    CAST(FILEPROPERTY(name, 'SpaceUsed'AS INT)/128 AS [UsedMB]FROM sys.database_filesWHERE type_desc = 'LOG';
-- 3. 🔔 强制做一次完整备份(非常重要!)-- BACKUP DATABASE DNName TO DISK = 'D:\Backup\DNName_Full_AfterShrink.bak';-- GO

五、操作日志记录(填写实际值)

项目
内容
操作时间
2026‑05‑06 10:30:00
数据库名称
DNName
日志逻辑名
DNName_Log
收缩前日志大小
___ GB / MB
收缩后日志大小
___ MB
收缩方式
TRUNCATEONLY / 指定大小
是否影响业务
否(极短时间影响)
收缩后完整备份
已完成 / 未完成(⚠️必须做)

六、重要提醒(写在日志末尾)

  1. 收缩后必须立即执行一次完整数据库备份,否则日志文件会从收缩点重新开始累积,且无法还原到收缩后的时间点。

  2. 不建议频繁收缩日志,会导致日志文件反复膨胀和收缩,影响性能和VLH结构。

  3. 正常运维应该通过定期日志备份来管理日志大小,而非靠收缩。

  4. 若日志始终无法收缩,检查是否有未提交事务、复制、镜像、AlwaysOn等阻塞日志截断的因素。


该文章在 2026/5/11 10:03:10 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号