mysql 收缩日志_批量收缩数据库日志文件

declare @sql nvarchar(max),@paramDef nvarchar(100)declare dbname scroll cursor for select name,recovery_model from sys.databases where database_id7open dbnamedeclare @dbname varchar(50),@recovery_model int,@db_log_file varchar(100)set @dbn

declare @sql nvarchar(max),@paramDef nvarchar(100)

declare dbname scroll cursor for

select name,recovery_model from sys.databases where database_id>7

open dbname

declare @dbname varchar(50),@recovery_model int,@db_log_file varchar(100)

set @dbname=''

fetch first from dbname into @dbname,@recovery_model

while @@FETCH_STATUS=0

begin

--alter recovery model

if (@recovery_model<>3)

begin

set @sql=N' alter database '+@dbname+' set RECOVERY SIMPLE '

print 'Recovery :'+@sql

exec sp_executesql @sql

end

--get log file of database

set @sql=N'select @log_file=name from '+@dbname+'.sys.database_files where type=1'

set @paramDef= N'@log_file varchar(100) OUTPUT '

exec sp_executesql @sql,@paramDef,@log_file=@db_log_file output

print @db_log_file

--shrink file

set @sql= N'USE ['+@dbname+'] DBCC SHRINKFILE ('+@db_log_file+')'

exec sp_executesql @sql

fetch next from dbname into @dbname,@recovery_model

end

close dbname

deallocate dbname

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值