2011-07-12 2 views
-1

Possible en double:
Why are temporary tables not removed from tempdb in SQL Server?Pourquoi les tables temporaires ne sont pas supprimées une fois leur portée terminée?

Nous avons créé des tables temporaires dans une procédure stockée et lors de l'exécution de la procédure stockée la table Temparory est créé dans le TempDB.

Dans mon SP je code écrit à abandonner cette table temporaire après l'achèvement de toutes les opérations manuellement.

Mais il est toujours là dans le TempDB et non abandonné. Mais lorsque j'ai redémarré la connexion SQL, la table a été supprimée. Je ne comprends pas comment ce type de scénario se passe dans ma base de données.

Pourquoi mes tables temporaires pas diminué après la fin de leur champ d'application?

Quelqu'un peut-il m'aider à résoudre ce problème?

+1

Vous avez posé la même question il y a une semaine: http://stackoverflow.com/ questions/6623846/why-are-temporary-tables-not-removed-from-tempdb-in-sql-server –

+0

L'exécutez-vous dans SQL Management Studio? Si oui, alors c'est votre problème. SQL Management Studio ne ferme pas la connexion une fois l'exécution de votre SP terminée. – Shiroy

+0

Si vous essayez de recréer la table temporaire après l'avoir supprimée manuellement, le SQL lance-t-il une erreur sur la table déjà existante? Serait-ce simplement un artefact de la façon dont le serveur implémente la suppression de la table? IE: la table a-t-elle été supprimée avec succès, mais l'entrée dans tempDB reste encore pour une raison quelconque? – xan

Répondre

1

Je ne sais pas pourquoi votre table n'est pas tombé, mais pourriez-vous sortir avec l'aide d'une variable de table (@TableName) au lieu d'une table temporaire (#TableName)? Ensuite, vous ne seriez pas à vous soucier de laisser tomber du tout, et il serait retiré dès qu'il est hors de portée ...

+0

Vous répétez un mythe: les variables de table sont conservées dans tempdb; plus alors vous devez vous soucier de la performance, car il n'y a pas de statistiques sur les tables vars –

+0

@Mitch - le point sur les statistiques est bon, c'est pourquoi j'ai demandé s'il pouvait s'en tirer - sur un petit nombre de lignes cela ne devrait pas être un problème. Je ne pense pas que tout ce que j'ai dit soit inexact, n'est-ce pas? Si c'est le cas, je serais intéressé de savoir pour mon propre développement! –

+0

Fergus: "les variables de table sont conservées dans tempdb" –

Questions connexes