设为首页 加入收藏

TOP

批量收缩数据库日志文件
2015-07-24 11:35:23 来源: 作者: 【 】 浏览:4
Tags:批量 收缩 数据库日志 文件
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
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORA-00257archivererror.错误的处.. 下一篇JDBC使用步骤

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)
·Linux source 命令 - (2025-12-24 19:50:34)
·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)