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 代理,右键新建作业

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第1张图片

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

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第2张图片

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

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第3张图片

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

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第4张图片

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

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

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第5张图片

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

SQL Server手动清理日志文件或新建作业定期自动清理日志文件_第6张图片

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

你可能感兴趣的:(SQL,SQL)