账套临时表清理原创
8人赞赏了该文章
1,866次浏览
编辑于2019年08月09日 21:34:18
可以执行以下脚本批量执行 ---临时表数量查询 select COUNT(1) from sys.tables u join T_BAS_TEMPORARYTABLENAME v on u.name=v.FTABLENAME and ( v.FPROCESSTYPE=1 or v.FCREATEDATE<GETDATE()-1) --删除(一次性全部删除可能会花很长时间,建议分批删除,top 1000 表示该批删除1000个表) declare @sql as varchar(max) set @sql='' select @sql=@sql+'drop table '+name+';' from (select top 1000 name from sys.tables u join T_BAS_TEMPORARYTABLENAME v on u.name=v.FTABLENAME and ( v.FPROCESSTYPE=1 or v.FCREATEDATE<GETDATE()-1)) T; exec(@sql); delete u from T_BAS_TEMPORARYTABLENAME u where not exists(select 1 from sys.tables where u.ftablename=name ); 临时表删除后收缩账套以释放空间。 |
推荐阅读