> 数据库 > SQL Server 2008 >

SQL Server2008定期清理日志

日志记录了对数据库的操作,如果前端程序频繁操作数据库,会使数据库日志越来越大。日志过大会影响系统运行,甚至造成前端程序崩溃。应该定期压缩清理,可以在代理中添加一个作业,因为有时如果日志被占用,清理会失败,建议一周清理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' 
 
(责任编辑:IT)