Aucun
Si vous souhaitez mettre en cache des ensembles de résultats de résultats sous votre propre contrôle, vous ne pouvez pas utiliser de tables temporaires, quelles qu'elles soient. Vous devez utiliser des tables utilisateur ordinaires, stockées dans tempdb ou même avoir votre propre base de données de cache d'ensemble de résultats.
Les tables temporaires, bot #local et ##shared ont une durée de vie contrôlée par la ou les connexion(s). Si votre application se déconnecte, la table temporaire est supprimée, et cela ne fonctionne pas bien avec ce que vous décrivez.
Le vrai problème difficile sera de remplir ces ensembles de résultats mis en cache sous des exécutions simultanées sans mélanger les choses (se retrouver avec des ensembles de résultats contenant des éléments en double provenant d'exécutions de rapports simultanées que les deux pensaient être la "première" exécution).
En remarque, SQL Server Reporting Services le fait déjà en prêt à l'emploi. Vous pouvez mettre en cache et partager des ensembles de données, vous pouvez mettre en cache et partager des rapports, cela fonctionne déjà et a été testé pour vous.