最近生产数据库所在硬盘空间有些紧张,发现数据库的ldf日志文件太大了。从网上找了一些解决方案,但需要分离数据库。
最终找到如下解决方案,无需分离数据库
USE[master]
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE --简单模式
GO
USE 数据库名
GO
DBCC SHRINKFILE (N'数据库名_log' , 2, TRUNCATEONLY) --设置压缩后的日志大小为2M,可以自行指定
GO
USE[master]
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库名 SET RECOVERY FULL --还原为完全模式
GO
运行以上代码即可,不需要分离数据库
PS:数据库名_log通常情况是对的,但有些情况,比如:还原数据库时修改过文件名,这时需要从这里查看名字:数据库 -> 属性 -> 文件 -> 逻辑名称