SQL Server数据库的LDF文件过大的清理方式

对于出现多个LDF文件的情况下如何进行重建LDF日志文件进行释放空间
传统方式是进行日志收缩


如果出现收缩问题,可能是有被占用,也可能是存在复制
当然还有一种罕见的情况,是两个ldf文件,第二个文件LDF文件收缩日志会不成功
那么 通过以下3个方法都不行
方法1:收缩数据库日志:使用数据库的"收缩"功能,选择日志文件,设置收缩后的大小
方法2:将数据库属性里面恢复模式更改为简单:简单模式将会保留最小的日志文件,在数据库属性,点击选项,恢复模式选择"简单"即可
方法3:直接删除或剪切日志文件,再重新生成:先将数据库分离,然后删除日志文件,再附加上去,会重新生成新的日志文件
会提示:
无法打开新数据库WTS'。CREATEDATABASE中止。 文件激活失败。物理文件名称F:DATAlwtsstandard log2.ldf可能不正确。 未重新生成日志,因为有不止一个日志文件。MicrosoftsQL Senver,错误:1813)
通过以下的SQL语句执行也是相同的提示,只有单个LDF可以用这个SQL

sql 复制代码
use master
go
EXEC sp_attach_db @dbname = N'WTS', 
   @filename1 = N'F:\DATA\wts_standard_data.mdf', 
   @filename2 = N'F:\DATA\wts_standard_data2.mdf',
   @filename3 = N'F:\DATA\wts_standard_data3.mdf'
go
USE WTS_ERAL
EXEC sp_updatestats 
go

多个LDF文件的情况用以下方式重建
切忌:原先LDF可以先重命名,重建成功后删除。
那么可以用下面这个SQL语句来重建LDF文件,哪怕原本有两个LDF问题
SQL Server 重建LDF文件

sql 复制代码
CREATE DATABASE [WTSL] ON
(FILENAME = N'F:\DATA\wts_standard_data.mdf'),
(FILENAME = N'F:\DATA\wts_standard_data2.mdf'),
(FILENAME = N'F:\DATA\wts_standard_data3.mdf')
FOR ATTACH_REBUILD_LOG;
GO

日常的LDF清理,可以参照此文章,它图文都详细https://www.cnblogs.com/subsea/p/13875925.html

博主先尝试此文章方法未果后发现以上的这个重建方法,供大家参考。

相关推荐
Wyawsl2 小时前
MySQL高可用集群
数据库·mysql
尽兴-2 小时前
MySQL 与 Elasticsearch 数据一致性保障的四大主流方案
数据库·mysql·elasticsearch
天行健,君子而铎2 小时前
政务行业高准确率、可控、符合规范的数据库审计与监测实践方案
网络·数据库·政务
墨者阳2 小时前
数据库自动化指标采集与智能评分系统实践与构想
运维·数据库·自动化
2601_949816682 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
码云数智-大飞2 小时前
数据库索引原理:B+树与哈希索引的深度对决
数据库·oracle
羊小蜜.2 小时前
Mysql 04: 子查询——5 大核心用法
数据库·mysql·算法·子查询
数据库小组11 小时前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
华科易迅11 小时前
MybatisPlus增删改查操作
android·java·数据库