首页 > 其他 > 详细

CLOUD清理临时表空间

时间:2019-03-26 10:12:51      阅读:113      评论:0      收藏:0      [点我收藏+]

--查找空间名、物理空间路径

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID(‘tempdb‘);

 


可以执行以下脚本批量执行
---临时表数量查询
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 );
临时表删除后收缩账套以释放空间。

CLOUD清理临时表空间

原文:https://www.cnblogs.com/RogerLu/p/10598003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!