首页 > 代码库 > 批量收缩数据库日志文件
批量收缩数据库日志文件
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。