Geen van beide
Als u resultaatresultatensets onder uw eigen controle wilt cachen, dan kunt u geen tijdelijke tabellen gebruiken, van welke aard dan ook. Je moet gewone gebruikerstabellen gebruiken, opgeslagen in tempdb of zelfs je eigen cachedatabase met resultatensets.
Tijdelijke tabellen, bot #local en ##shared hebben een levensduur die wordt bepaald door de verbinding(en). Als uw applicatie de verbinding verbreekt, wordt de tijdelijke tabel verwijderd en dit werkt niet goed met wat u beschrijft.
Het echte moeilijke probleem zal zijn om deze gecachte resultatensets onder gelijktijdige runs te vullen zonder dingen door elkaar te halen (eind met resultatensets die dubbele items bevatten van gelijktijdige rapportruns waarvan beide dachten dat het de 'eerste' uitvoering was).
Even terzijde:SQL Server Reporting Services doet dit al out-of-the-box. U kunt datasets cachen en delen, u kunt rapporten cachen en delen, het werkt al en is voor u getest.