IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Pb de table permamanente dans tempdb


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut Pb de table permamanente dans tempdb
    Bonjour,


    j'ai des tables qui reste de façon permanente dans ma base tempdb.
    Ces tables ont été crées par des procédures stockés, mais ces procédures sont finis depuis bien longtemps .Comment ces tables peuvent elle rester dans tempdb , alors que la procédure stocké est fini ? En cas d'erreur dans cette derniére ?

    Peut on supprimer ces tables ?

    Je sais que ces objets seront supprimés si je redémarre Sql Server , mais je voudrais trouver la source du probléme , de plus ce n'est pas facile de redémarrer un serveur de production .

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Une table temporaire locale ou globale est supprimée lorsque :
    • l'utilisateur lance un DROP TABLE dans la session qui l'a créée
    • l'utilisateur se déconnecte.

    En aucun cas la fin d'une fonction, d'une transaction ou d'une procédure ne supprime les tables temporaires.

    Bref il semble que vos développeurs aient oublié les DROP TABLE...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Une table temporaire locale ou globale est supprimée lorsque :
    • l'utilisateur lance un DROP TABLE dans la session qui l'a créée
    • l'utilisateur se déconnecte.

    En aucun cas la fin d'une fonction, d'une transaction ou d'une procédure ne supprime les tables temporaires.

    Bref il semble que vos développeurs aient oublié les DROP TABLE...

    A +
    Bonjour,
    Je suis un utilisateur de table temporaire locale. Dans l'aide SQL Server, il est sinifié que ces tables ont une existence limité à la procédure stockée qui la crée. Je n'effectue don aucun DROP TABLE.
    Suite à votre réponse, je me suis rendu au niveau de ma base de données tempdb et je me suis rendu comte qu'aucune table était persistente. Je reste donc surpris que des tables temporaires locales puisse rester persistante.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Vous avez raison, en principe les tables temporaires sont supprimées dans la limite de la procédure qui l'a créée. Néanmoins c'est une bonne pratique que de les dropper systèmatiquement et non d'attendre le ramasse miette !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut
    J'ai toujours plein de table temporaire dans tempdb. Certaines de ces tables ne sont crée uniquement dans des procédures stockées. Avez vous une idée pourquoi elles restent dans le tempdb ? Comment savoir quelle connection a crée ses tables ? Régle t'on quelque part le ramasse miette ?

    Merci d'avance.

    Ps : Promis maintenant j'efface mes tables temporaires lorsque je finis mes procédure stockés !

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Faîtes un SELECT * FROM master.INFORMATION_SCHEMA.TABLES pour savoir ce qu'il y a dedans.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2005, 10h18
  2. Table système dans entreprise manager
    Par Florent PORRAS dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/09/2004, 13h39
  3. Table vide dans une BD
    Par Riouxe21 dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 19h48
  4. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo