压缩SQL SERVER日志代码

 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 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值