Нито
Ако искате да кеширате набори от резултати под ваш собствен контрол, тогава не можете да използвате временни таблици от какъвто и да е вид. Трябва да използвате обикновени потребителски таблици, съхранени или в tempdb, или дори да имате собствена кеш база данни с набор от резултати.
Временните таблици, ботовете #local и ##shared имат живот, контролиран от връзката(ите). Ако вашето приложение прекъсне връзката, временната таблица се изтрива и това не работи добре с това, което описвате.
Истинският труден проблем ще бъде да се попълнят тези кеширани набори от резултати при едновременни изпълнения, без да се смесват нещата (завършете с набори от резултати, съдържащи дублиращи се елементи от едновременни изпълнения на отчети, за които и двете смятат, че са „първото“ изпълнение).
Като странична бележка SQL Server Reporting Services вече прави това извън кутията. Можете да кеширате и споделяте набори от данни, можете да кеширате и споделяте отчети, това вече работи и е тествано за вас.