刪除臨時表

在生產系統中隨着業務的運行,臨時表可能因爲各種原因沒有及時被清理掉,怎麼辦呢?先查詢下臨時表佔磁盤的大小,根據情況進行刪除,但是最好不要在生產系統大家都在使用的時候刪除臨時表
查詢佔用大小:

--select cast(sum(a.total_pages)*8/1024 as varchar)+' MB' total
-- from sys.partitions p join sys.allocation_units a on p.partition_id = a.container_id
-- join sys.tables it on p.object_id = it.object_id
-- where it.name like 'TMP%');

刪除臨時表:
--declare @sql as varchar(max)
--set @sql=''
--select @sql=@sql+'drop table '+name+';' from sys.tables u
--join T_BAS_TEMPORARYTABLENAME v on u.name=v.FTABLENAME and
--( v.FPROCESSTYPE=1 or v.FCREATEDATE<GETDATE()-1);br/>--exec(@sql);
--delete u from T_BAS_TEMPORARYTABLENAME u where
--not exists(select 1 from sys.tables where u.ftablename=name

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章