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 :

réduire la TempDB


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut réduire la TempDB
    Bonjour,

    Suite à une opération exceptionnelle, la tempDB d'une base à augmenter.
    Je voulais savoir s'il était possible de réduire la taille de la TempDB sans risque en faisant un shrink comme sur une base de production.

    Cordialement.

  2. #2
    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
    Est-ce le (les) fichier(s) de données de tempdb qui ont augmenté, ou est-ce le journal ?

    - S'il s'agit du journal, un dbcc shrinkfile devrait suffire.
    - S'il s'agit des fichiers de données c'est plus compliqué, parce qu'il y a toujours plus ou moins d'activité dans la base, et des extents alloués en fin de fichier qui empêchent sa réduction sur disque. (http://support.microsoft.com/kb/307487). Le plus simple est de faire un stop/start du service pendant les heures de non utilisation de l'instance.

    Autre question: que renvoient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select name, size/128,max_size from tempdb.sys.database_files 
    GO
    --
    dbcc sqlperf(logspace)
    GO

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    C'est le fichier de données de la TempDB qui a augmenté.

    Résultat requêtes :

    name | (No column name) | max_size
    tempdata | 58530 | -1
    templog | 459 | -1


    Database Name | Log Size (MB) | Log Space Used (%) | Status
    tempdb | 459,1172 | 67,67967 | 0

    Cordialement.

  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
    OK. Tenter un shrinkfile avec de l'activité me paraît compliqué et risqué : le shrink en déplaçant des pages verrouille des plages d'offsets dans le fichier MDF, ralentit toute l'activité IO type checkpoint, lazy writer, etc... Quant à un dbcc shrinkfile truncateonly, il y a toujours un extent en fin de fichier qui bloque la réduction. Il faut trouver une plage de non utilisation pour redémarrer.

    Autre chose, la taille initiale de tempdb:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select size/128 from master.sys.sysaltfiles where fileid=1 and dbid=2
    merci,

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    résultat de la requête :

    (No column name)
    58530

    Cordialement.

  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
    Ah donc quand tu affiches les propriétés de la base tempdb, -> Fichiers (ou Files) la taille initiale de tempdev est de 58Gb ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    Bonjour,

    Est ce qu'exécuter la requête suivante suffit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER DATABASE TEMPDB MODIFY FILE
    (NAME='tempdev', SIZE=20GB)
    GO
    alors que la base est en production ?

    Cordialement.

  8. #8
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Comment l'a précisé David cela dépend de la taille initiale de votre fichier.
    Vous pouvez toujours tenté de le faire cependant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT size/128 FROM tempdb.sys.database_files WHERE file_id <> 2
    Si la taille que vous demandez est inférieure à la taille initiale vous aurez un message d'erreur. Regardez un peu plus haut la procédure donnée par David dans ce cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2005] Réduire la base tempdb
    Par big1 dans le forum Administration
    Réponses: 1
    Dernier message: 07/11/2014, 20h10
  2. [SSIS 2005]Réduire le tempdb
    Par ravaid dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/07/2008, 22h00
  3. [GCC] Réduire la taille d'un programme statique
    Par Geronimo dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 05/03/2004, 16h34
  4. Réponses: 2
    Dernier message: 17/09/2003, 09h36
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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