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 :

Journaux de log ENORMES ! [Fait]


Sujet :

Administration SQL Server

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut Journaux de log ENORMES !
    Bonjour,

    j'ai plusieurs bases de données sur un SQL Server 2005 et en regardant un peu leur taille, je me rends compte que certaines fois, les journaux de transaction prennent jusqu'à 20x plus de place que les données !!!!!

    J'en déduis donc que la gestion des journaux de logs n'est pas bonne.

    Ma première question : quelle est la meilleure approche pour gérer les journaux de log ?
    Ma deuxième question : comment "Vider" ces journaux de log ?

    En vous remerciant de votre aide,

    Steve

  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 770
    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 770
    Points : 52 723
    Points
    52 723
    Billets dans le blog
    5
    Par défaut
    1) on ne parle pas de journaux de log, mais de journaux de transactions. Ces fichiers servent à assurer l'ACIDITÉ des transactions SQL. C'est pas des événements à la manière des logs système. Voir mon blog à ce sujet : http://blog.developpez.com/sqlpro/p7...e-so/#more7105

    2) Qu'un journal de transaction fasse 10, 20 ou 50 fois la taille de la base n'est pas anormal. C'est même logique. En revanche que vous conserviez cette taille révèle un manque total d'administration du serveur SQL.

    Comme le journal enregistre toutes les transactions implicites ou explicites (INSERT , UPDATE, DELETE....) vous pouvez parfaitement avoir une base vide et un journal gigantesque. Rien d'anormal. En revanche un bon DBA doit s'assurer de savoir ce qu'il fait en cette matière.
    Soit vous envisagez d'avoir à utiliser le journal de transaction par exemple pour des fins de récupération sur erreur (par exemple pour récupérer les données d'une DELETE malheureux) et dans ce cas vous devez continuer de laisser la base de données en mode de récupération FULL (ce qui fait croitre indéfiniment le journal)
    Soit vous n'avez pas besoin de cette possibilité et vous pouvez placer votre base en mode de récupération SIMPLE et le journal n'augmentera plus de taille.

    J'en déduis donc que la gestion des journaux de logs n'est pas bonne.
    Je dirais plutôt que votre manière d'administrer le serveur de données est exécrable ! Comme si vous pensiez rouler avec votre voiture 30000000 km sans jamais faire ni plein ni vidange !

    Ma première question : quelle est la meilleure approche pour gérer les journaux de log ?
    Les paragraphes précédents ont répondu à cette question...

    Ma deuxième question : comment "Vider" ces journaux de log ?
    Vider est une chose, en réduire la taille est une autre.
    Le vidage sera assuré soit en passant en mode simple, soit en effectuant une sauvegarde de journal de transaction (BACKUP LOG...).
    Pour ceci, voir mon blog : http://blog.developpez.com/sqlpro/p7...ec-sql-server/
    Réduire la taille d'un JT n'est pas toujours une bonne idée, parce qu'il devra ensuite recroitre et que cela coute très cher. Voir le test suivant :
    http://blog.developpez.com/sqlpro/p5...fichiers-et-t/
    C'est néanmoins possible à l'aide de la commande SHRINKFILE.

    Pour une solution d'urgence, voir la papier que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/sqlserver/log/

    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. [2012] Comment vider les fichiers journaux (fichier log)
    Par maherbenalaya dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/02/2014, 14h40
  2. [SSIS] [2K5] Compléments aux journaux de log SSIS.
    Par BoromSikim dans le forum SSIS
    Réponses: 1
    Dernier message: 04/03/2011, 13h37
  3. Gérer de manière automatique les journaux de logs
    Par Arnard dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 05/03/2010, 15h04
  4. Journaux de log
    Par boby62423 dans le forum Administration
    Réponses: 2
    Dernier message: 03/02/2009, 11h45
  5. Sauvegarde et journaux de logs [SQL Server 2000]
    Par ariesnojf dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/10/2008, 16h10

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