ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 压缩SQL SERVER日志代码

压缩SQL SERVER日志代码

原创 Linux操作系统 作者:iSQlServer 时间:2009-02-04 15:59:24 0 删除 编辑
DECLARE @name VARCHAR(25)  
DECLARE @SQL VARCHAR(1000)  
DECLARE @logid INT  
  
DECLARE sysdatabase_name CURSOR FOR SELECT  name FROM master.dbo.sysdatabases  
  
OPEN sysdatabase_name  
  
  
FETCH NEXT FROM sysdatabase_name   INTO   @name  
  
WHILE @@FETCH_STATUS = 0  
BEGIN  
  
   IF ( @name NOT IN ('xxx')) --不需要进行日志收缩的数据库名  
   BEGIN  
     SET @SQL =' DECLARE @logid INT  
                 USE   ' + @name+'  
                 SELECT @logid = fileid FROM sysfiles WHERE RIGHT(rtrim(filename),3) = ''ldf''  
  
                 BACKUP LOG ' + @name+' WITH NO_LOG  
                 DBCC SHRINKFILE (@logid) '  
  
     EXEC(@SQL)  
  
   END  
  
   FETCH NEXT FROM sysdatabase_name   INTO   @name  
  
END  
  
CLOSE sysdatabase_name  
DEALLOCATE sysdatabase_name 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-545240/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2100881