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

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

相关推荐
iAm_Ike6 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt6 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
tongluowan0077 小时前
MySQL中列数量及长度
数据库·mysql
-liming-7 小时前
单片机设计_串口调试工具
数据库·单片机·mongodb
鹿角片ljp8 小时前
从告警检测到智能研判:SQL 注入研判模型的设计与实践
数据库·sql
小新同学^O^9 小时前
简单学习 --> Spring事务
数据库·学习·spring
前进的李工9 小时前
MySQL慢查询日志优化实战
数据库·mysql·性能优化
KaMeidebaby9 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
ECT-OS-JiuHuaShan9 小时前
彻底定理化:从量子纠缠到量子代谢
数据库·人工智能·学习·算法·生活·量子计算