O ponto das tabelas temporárias é que elas são... temporárias. Assim que eles saem do escopo
- #temp criar no proc armazenado :saída do proc armazenado
- #temp criado na sessão:desconexão da sessão
- ##temp :sessão que a criou desconecta
A consulta desaparece. Se você achar que precisa remover manualmente as tabelas temporárias, precisará rever como as está usando.
Para os globais, isso gerará e executará a instrução para descartar todos.
declare @sql nvarchar(max)
select @sql = isnull(@sql+';', '') + 'drop table ' + quotename(name)
from tempdb..sysobjects
where name like '##%'
exec (@sql)
No entanto, é uma má ideia descartar as tabelas temporárias [globais] de outras sessões.
Para o local (para esta sessão ) tabelas temporárias, basta desconectar e reconectar novamente.