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

Administration SQL Server Discussion :

La base systeme : tempdb.mdf


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut La base systeme : tempdb.mdf
    Bonjour à tous,

    Pouvez vous m'aider concernant la base systeme tempdb.mdf

    J'ai un serveur MS sql server 2005 dédié pour une application métier.
    La base de l'application sur le serveur fait au total : 70Go
    Cependant la taille de tempdb.mdf fait 144 Go ca me parait énorme.


    Que dois je faire ? Essayer de réduire ce tempdb ? Scruter les requetes qui augmentent tempdb , et si oui, quelle requete ? Ne rien faire..

    Il vous manque peut etre des infos?

    Merci de vos conseils

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    Bonjour

    oui il faudrait réussir à capturer les requêtes qui causent cet agrandissement (souvent la conséquence d' ORDER BY, GROUP BY ou de la création de tables temporaires). Une fois les requêtes identifiées et corrigées, vous pourrez réduire la taille de la base tempdb.

    Sur ce blog, un article qui vous permettra d'identifier ces requêtes : http://blog.capdata.fr/index.php/sql...s-dans-tempdb/

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    Bonjour et merci pour la réponse.

    j'ai suivi l'article et j'ai des résultats dans la table tempdb.guest.monitorTempdb

    Ca tourne depuis 24H00 maintenant (job toutes les mn)

    Cependant, je ne sais pas comment interpreter ce résultat?
    J'ai fait une extraction en format xls. Voir PJ.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Hello Johns,

    La trace indique que ta tempdb fait 186Gb (144 ?), et que 11,5Gb sont pris par des tables tempo globales :

    - ##Hagresso_AGRTPS29541
    - ##Hagresso_AGRTPS29547
    - ##Hagresso_AGRTPS29571


    Il faudrait voir comment ces tables sont construites, et y-a-t-il une raison particulière de les créer en global temporary, plutôt qu'en tables temporaires de session (qui sont automatiquement nettoyées).

    David B.

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    merci de la réponse


    Sur le disque, le fichier tempdb.mdf fait 181 Go
    Sur le disque, le fichier templog.ldf fait 2.26 Go


    La taille initiale du fichier tempdb.mdf (nom logique tempdev) dans les prorietés : 186 000 Mo (Croissance illimitée par 100 Mo)

    La taille initiale du fichier temlog.ldf (nom logique templog) dans les prorietés : 1 Mo (Croissance illimitée par 10 pour cent)


    Attention, c'est un logiciel "métier" d'un éditeur, je ne sais pas si je vais avoir la réponse de la raison particulière de les créer en global temporary...


    Veux tu une extractions de la structure des tables ? Sachant qu'il y en a énormément.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    A priori je dirais que tu n'as pas besoin d'avoir une tempdb de cette taille là. Le minimum requis pour tempdb est d'avoir une taille suffisante pour stocker le database snapshot interne au dbcc checkdb:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dbcc checkdb ('<maplusgrossebase>') with estimateonly
    GO
    'Estimated Space needed for CHECKTABLES' donnera la valeur minimale. Ensuite, si elle est inférieure à la taille totale renvoyée dans la trace (11,5Gb actuellement), il faudra prendre au moins 15Gb comme taille de départ, avec une croissance autorisée par pas de 1Gb par exemple, jusqu'à une limite inférieure à celle du disque sur lequel se trouve tempdb.mdf

    Il faudrait t'assurer aussi que ton compte de service (le compte windows qui exécute le service MSSQLSERVER) possède le privilège 'Perform Volume Maintenance Tasks ' ou 'Effectuer des tâches de maintenance de volume', pour ne pas bloquer lorsque le fichier de tempdb va potentiellement grossir. (http://msdn.microsoft.com/en-us/library/ms175935.aspx).

    Pour les tables globales temporaires, c'est une question à poser à l'éditeur.

    Note: Repasser tempdb à 15Gb signifie redémarrer l'instance.

    David B.

Discussions similaires

  1. [MySQL] Recherche d'un script pour lire/écrire une base systeme
    Par WhoIsTiti dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/03/2009, 17h06
  2. Déplacement d'une base de donnée .mdf, .ldf et .udl
    Par david202 dans le forum Réplications
    Réponses: 10
    Dernier message: 23/01/2009, 16h56
  3. Probleme : tempdb.mdf sature le disque du serveur sql.
    Par ClemRz dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 18/01/2008, 22h54
  4. restauration de base de données .mdf et .ldf
    Par elhassaninabil dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/04/2007, 23h05
  5. Restaurer une base avec le .mdf seul
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/01/2007, 17h31

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