您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页批量收缩数据库日志文件

批量收缩数据库日志文件

来源:爱玩科技网


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

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务