/**//*************************************************************/ /**//** 功能:清除指定数据库的LOG日志以节约磁盘空间 **/ /**//** 参数说明:@Dname为指定的数据库名称, 传''则表示全部 **/ /**//** 日期:20080312 **/ /**//** 创建:ChengJie **/ /**//*************************************************************/ IFEXISTS (SELECT*FROM dbo.sysobjects WHERE id =object_id(N'[dbo].[ClrLog]') andOBJECTPROPERTY(id, N'IsProcedure') =1) DROPPROCEDURE[dbo].ClrLog GO CREATEPROCEDURE ClrLog @Dnamevarchar(50) AS DECLARE @namevarchar(50) BEGIN IF (@Dname='') BEGIN DECLARE DataName CURSORFOR SELECT name FROM sysdatabases WHERE name notin ('master', 'model', 'msdb', 'tempdb') OPEN DataName FETCHNEXTFROM DataName INTO@name WHILE (@@FETCH_STATUS=0) BEGIN BACKUPLOG@nameWITH truncate_only DBCC shrinkdatabase (@name) FETCHNEXTFROM DataName INTO@name END CLOSE DataName DEALLOCATE DataName END ELSE BEGIN IFEXISTS (SELECT name FROM sysdatabases WHERE name notin ('master', 'model', 'msdb', 'tempdb') AND name=@Dname) BEGIN BACKUPLOG@DnameWITH truncate_only DBCC shrinkdatabase (@Dname) END END END GO EXEC ClrLog ''