declare @sql varchar(4000)
declare sysdbname cursor for select name from master.dbo.sysdatabases
open sysdbname
fetch next from sysdbname into @dbname
while @@fetch_status=0
begin
if (@dbname not in('xxx'))--不需要进行日志收缩的数据库名
begin
set @sql=--日誌文件ID
N' declare @logid int '+
N' use '+@dbname+
N' select @logid=fileid from sysfiles where right(ltrim(rtrim(filename)),3)=''ldf'''+
--截断事务日志
N' backup log '+@dbname+' with no_log '+
--收缩指定数据文件
N' dbcc shrinkfile(@logid)'
exec(@sql)
end
fetch next from sysdbname into @dbname
end
close sysdbname
deallocate sysdbname
编辑推荐:
- SQLserver 文件收缩脚本03-02
- SQL SERVER 2008 R2 日志文件过大处理方法 (收缩及删除)03-02
- SQLSERVER2008R2 T-SQL备份脚本03-02
- SQL 备份脚本03-02
- 一条sql语句实现一维表生成二维表格03-02
- 使用 SQL的 for xml path来进行字符串拼接03-02
- 基于事务日志还原到时间点03-02
- SQL Server 2008 R2 事务与隔离级别实例讲解03-02
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
