SQL日志太大?教你一键清理

数据库 其他数据库
原来数据仓库中,每天的定时任务需要从其他系统里面抽取数据过来,导致数据文件和日志文件的磁盘空间都增长的飞快。

最近数据仓库时不时爆磁盘空间不足,导致定时任务执行失败,这可了得,要知道定时任务执行的可是每天的业务数据。

仔细检查,发现是日志文件爆满,这是咋回事呢?

原来数据仓库中,每天的定时任务需要从其他系统里面抽取数据过来,导致数据文件和日志文件的磁盘空间都增长的飞快。

数据不能清理,但是日志文件是可以清理的,说干就干。

测试环境

SQL Server 2017

操作步骤

1. 将恢复模式改成“简单”右键要清理的数据库名 - 属性,切换到选项,将恢复模式修改为简单,如下图1,然后点确定。

图片

图1

2、收缩日志

还是右键要清理的数据库名—任务—收缩—文件,按如图2进行设置,设置完后点确定即可

图片

图2

这样日志就收缩到1M了,是不是很简单?

但是如果遇到了需要经常清理日志怎么办?难道每次都要来这样设置一遍吗?就没有什么办法让它自动完成?

答案肯定是有的!下面才是真正的一键清理。

这里我们要浓重介绍SQL Server的代理功能了

SQL Server 代理

SQL Server代理功能主要是用来完成一些定时任务的,说白了就是你写好命令,配置好执行的频率和时间,它就可以按时执行你写好的命令。

下面我们将图1和图2中的操作使用命令的形式做一个定时任务。

1、新建作业

如下图3,我们右键作业—新建作业即可开始新建一个作业了

图片

图3

2、命名作业

给你的作业命名,这个可以随便起,能识别就行

图片

3、新建步骤

点击左侧的菜单栏,选择步骤—右侧底部点击新建...—在弹出的窗口中做如下配置:

图片

如果你的数据库名跟我的不一样,可以套用下面的命令:

USE [master]
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
GO
--将数据库设置为简单模式
ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE
GO
USE 要清理的数据库名称
GO
--将数据库的日志收缩为2M
DBCC SHRINKFILE (N'要清理的数据库名称_log' , 2, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL WITH NO_WAIT
GO
--将数据库恢复为完整模式
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL  
GO

(提示:可以左右滑动代码)

然后点确定即可。

4、新建计划

回到新建作业窗口,点击左侧菜单里的计划—点击右边底部的新建...—在弹出的窗口中做如下配置:

图片

上面的作业计划就是你要执行上面命令的频率和具体日期和时间,上面我们设置的是每隔1周,在星期日的上午1点执行该命令。

这样一个定时清理日志的任务就完成了。

建好后会存在你的作业里面

图片

你也可以随时手动执行上面的作用,只需要右键作业名——作业开始步骤...,然后就开始执行了,如下图:

图片

这是已经执行完成的界面。

如果下次需要清理了,一键搞定。

责任编辑:武晓燕 来源: SQL数据库开发
相关推荐

2021-02-01 12:24:40

Python日志Expect

2021-05-06 07:56:22

电脑C盘系统垃圾软件

2011-01-10 17:54:54

360黑屏木马

2017-06-09 11:11:55

互联网

2015-02-09 15:25:52

换肤

2012-01-16 16:36:32

复合一体机常见问题

2015-11-03 15:29:49

ONOS开放网络操作系统SDN

2021-10-14 14:55:36

微信深度清理腾讯

2021-03-01 12:37:10

Shell脚本端口

2020-04-13 07:30:18

Windows 10Windows操作系统

2021-10-15 22:24:25

微信功能存储

2023-06-15 10:00:00

Jenkins任务操作

2022-03-28 06:58:35

微信通讯录删除的好友

2021-02-16 08:28:33

微软WindowsWindows 10

2011-09-01 10:46:56

SQL Server 快速清理日志文件

2011-11-21 15:04:30

2022-04-07 13:56:13

前端一键换肤

2021-04-23 10:38:52

Spring BootSpringMVC源码

2021-12-02 07:50:29

分支服务git worktre

2020-11-24 11:00:24

前端
点赞
收藏

51CTO技术栈公众号