SQL Server 日志清理
作者:mmseoamin日期:2023-12-19

因为数据量较大,对数据库表操作比较多,日志的模式,又是完全模式,所以会产生较大的日志文件,那么怎么清理呢

下面给大家介绍3种方式:

1、执⾏SQL命令

先查询日志中文件名和大小

USE 数据库名
GO
SELECT file_id, name,size,* FROM sys.database_files;

可以看到其中name字段为数据库日志名称"数据库日志名称",size是日志大小。接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下:

USE [master]
GO
ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE --简单模式
GO
USE [数据库名称] ----指定需要清除⽇志的数据库名称
GO
DBCC SHRINKFILE (N'数据库⽇志名称' , 11, TRUNCATEONLY) ----指定需要清除⽇志的数据库名⽇志名称
1GO
ALTER DATABASE [数据库名称] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [数据库名称] SET RECOVERY FULL --还原为完全模式

2、数据库终端操作

打开数据库客户端,选择具体数据库

点击数据库,右键选择【属性】

在弹出窗⼝左侧点击【选项】,将【恢复模式】改为【简单】,点击确定保存

点击数据库,右键选择【任务】-【收缩】-【⽂件】

在弹出窗⼝中,【⽂件类型】选择【⽇志】,点击确定即可

点击数据库,右键选择【属性】

在弹出窗⼝左侧点击【选项】,将【恢复模式】恢复为【完成】,点击确定保存

3、删除⽇志⽂件

  直接删除⽇志⽂件。此种⽅式可能会遇到“当前⽇志正在被SQL Server使⽤⽆法删除”的问题,此时,需要停⽌SQL Server服务,才能进⾏删除。