SQL Server缩小日志文件.ldf的方法(适用于开发环境)

SQL Server缩小日志文件.ldf的方法(适用于开发环境)

核心概念 :为什么日志文件会变大?

首先,理解原因至关重要。事务日志文件在以下情况下会增长:

  1. 大量操作:执行了大批量插入、更新或删除操作(例如,数据导入、批量清理)。
  2. 长时间运行的事务:有一个事务开始后一直没有提交,SQL Server 为了保证事务的原子性和回滚能力,必须保留所有相关的日志记录,直到事务结束。
  3. 复制、镜像、Always On 可用性组:这些高可用性和灾难恢复技术依赖于事务日志,如果日志传送或应用延迟,主数据库的日志就无法截断。
  4. 恢复模式:
    简单恢复模式:事务日志会在检查点之后自动截断,空间会被重用,通常不会无限增长。
    完整恢复模式:事务日志只有在执行日志备份后才会被截断。如果不做日志备份,日志就会一直增长。

处理方法:切换至简单恢复模式(最常用)

sql 复制代码
-- 1. 将恢复模式设置为简单
ALTER DATABASE [YourDatabaseName] SET RECOVERY SIMPLE WITH NO_WAIT;

-- 2. 执行检查点,强制截断日志
CHECKPOINT;

-- 3. 收缩日志文件到 manageable 的大小 (例如 512MB)
USE [YourDatabaseName];
DBCC SHRINKFILE (YourLogFileLogicalName, 512); -- 替换为你的日志逻辑名

-- 4. (重要!) 切换回完整恢复模式
ALTER DATABASE [YourDatabaseName] SET RECOVERY FULL;
相关推荐
极限实验室6 小时前
APM(一):Skywalking 与 Easyearch 集成
数据库·云原生
饕餮争锋6 小时前
SQL条件中WHERE 1=1 的功能
数据库·sql
玄斎7 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
编织幻境的妖7 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
编程小Y7 小时前
MySQL 与 MCP 集成全解析(核心原理 + 实战步骤 + 应用场景)
数据库·mysql·adb
零度@8 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
Miss_Chenzr8 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
lvbinemail8 小时前
Grafana模板自动复制图表
数据库·mysql·zabbix·grafana·监控
Miss_Chenzr8 小时前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
小虾米vivian8 小时前
dmetl5 运行失败,提示违反协议?
数据库·达梦数据库