SQL Server手动清理日志文件或新建作业定期自动清理日志文件

最近一个程序出了问题,新数据插不进数据库,但并无报错,经检查发现是数据库服务器中数据库日志文件过大占满内存所致,所以手动清理了一下日志文件,并新建了一个清理作业,以后每个月自动清理日志文件:

清理日志文件SQL语句:

USE [master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE   --简单模式
    GO
    USE 数据库名称
    GO
    DBCC SHRINKFILE (N'数据库日志文件逻辑名称' , 2, TRUNCATEONLY)  --设置压缩后的日志大小为2M,可以自行指定;数据库日志文件逻辑名称为数据库属性中的逻辑名称,通常是数据库名称_log
    GO
    USE [master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL  --还原为完全模式
    GO

新建作业自动清理:

1.展开SQL Server 代理,右键新建作业

2.填写作业名称,所有者和类别一般直接默认就行

3.点击左侧步骤选项卡,点击新建按钮新建步骤

填写步骤名称,类型默认T-SQL,选择需要清理日志文件的数据库,将数据库日志清理语句粘贴到命令输入框

如果需要清理多个数据库的日志文件,重复新建多个步骤即可

4.点击左侧计划选项卡,点击新建按钮新建计划

填写计划名称,设置执行频率

全部确定提交后,作业就开始生效了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章