日志记录了对数据库的操作,如果前端程序频繁操作数据库,会使数据库日志越来越大。日志过大会影响系统运行,甚至造成前端程序崩溃。应该定期压缩清理,可以在代理中添加一个作业,因为有时如果日志被占用,清理会失败,建议一周清理3次,以保证至少有1次清理成功。
下面的作业代码将日志压缩至20M:
USE [master]
GO
ALTER DATABASE recl SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE recl SET RECOVERY SIMPLE
GO
USE recl
GO
DBCC SHRINKFILE (N'recl_log' , 20,TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE recl SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE recl SET RECOVERY FULL
GO
其中recl是数据库名称,recl_log是日志名称。日志名称可以用下面代码来查看:
--查询指定数据库的日志文件名称
USE recl_yd
GO
SELECT name FROM SYS.database_files WHERE type_desc='LOG'
|