删除临时表

在生产系统中随着业务的运行,临时表可能因为各种原因没有及时被清理掉,怎么办呢?先查询下临时表占磁盘的大小,根据情况进行删除,但是最好不要在生产系统大家都在使用的时候删除临时表
查询占用大小:

--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

猜你喜欢

转载自blog.51cto.com/yataigp/2478729
今日推荐