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

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

相关推荐
zlwool6 小时前
图纸管理选型避坑指南
数据库·erp·设备erp·非标机械
小灰灰搞电子8 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
软件聚导航9 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
学习星球10 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
GoppViper11 小时前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
2601_9621741711 小时前
Redis 简介
数据库·redis·wpf
夜雪一千11 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
Highcharts.js12 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
翼龙云_cloud12 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
进阶的小木桩13 小时前
mysql 安装问题解决方案记录
数据库·mysql