There are advantages and disadvantages of using either options, however in my opinion the advantages of permanent work tables outweigh the advantages of # tables for ETL but # tables win for TP systems
- permanent work tables are available for debugging
- permanent tables can be conditionally created – whereas temporary tables can’t
however,
- # tables are automatically cleaned up whereas you have to manually either recreate or truncate work tables
- # tables always live in tempdb (although you can also create permanent work tables there as well)
- # tables are unique to the session so never any risk of contention