• SQL Server routinely creates temporary "index" structures in memory or tempdb all the time, like during a hash join on large tables.

    Staging tables and temporary indexes are common in scenarios where a moderate amount of reporting is performed directly out of the OLTP database rather than from a snapshot or external data mart. This can speed up the reporting process, but of course it will also result in a lot of transaction logging.

    When I stage data for something like month end reporting purposes it's in summary form, and I generally retain it for archival purposes in case the reports need to be re-run later or leveraged for some other BI process. In that case the indexes are on the staging tables, so there is not so much reason to drop them afterward.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho