SQL Server定时收缩数据库日志为指定大小的示例代码


    目录
  • 一、编写SQL脚本
  • 二、创建定时任务

    一、编写SQL脚本
    SQL Server提供了DBCC SHRINKFILE 命令来清理事务日志文件,该命令可以缩小指定文件的大小,并释放磁盘空间。
    以下是清理事务日志的示例代码【其中database、logName、size需要自己手动指定】:
    
-- 将日志文件收缩到指定的目标大小(database:数据库名,logName:日志文件名【默认 数据库名_log】、size:需要缩小的大小)
USE database;
GO
-- 通过将数据库恢复模型更改为SIMPLE来截断日志.
ALTER DATABASE database
SET RECOVERY SIMPLE;
GO
-- 将截断的日志文件缩小到size MB
DBCC SHRINKFILE (logName, size);
GO
-- 重置数据库恢复模型
ALTER DATABASE database
SET RECOVERY FULL;
GO

    二、创建定时任务
    在SQL Server中设置自动化作业,以便自动执行特定的SQL
    步骤如下:
    1.在SQL Server Management Studio中,找到SQL Server 代理
    
    2.右击SQL Server 代理下作业文件夹,点击新建作业,左侧选择页点击常规,写上名称
    
    3.左侧选择页点击步骤,再执行如图操作
    
    4.左侧选择页点击计划,再执行如图操作
    
    5.最后回到新建作业,点击右下角的确定
    
    效果: