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 :

Probleme log en recup simple


Sujet :

MS SQL Server

Vue hybride

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Par défaut Probleme log en recup simple
    Bonjour,

    J'ai un soucis avec un journal de log qui sature.
    Dans un premier temps j'ai fais :
    -- BACKUP LOG toto WITH TRUNCATE_ONLY
    -- puis DBCC SHRINKFILE du fichier de log
    -- passer la base en mode de récup simple !
    -- arret et redemarage de l'instance...

    Le résultat est qu'effectivement j'ai bien reduit je journal, mais celui ci recommence à grossir, grossir, grossir...

    Que dois je vérifier ? Quel type de transaction peu générer ce problème ? Je suis paumée là...

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    - BACKUP LOG toto WITH TRUNCATE_ONLY : ne faites JAMAIS cela.
    Sinon vous coupez la séquence de chaîne de sauvegarde du fichier du journal des transactions, seul garant de l'intégrité de votre base de données !

    - DBCC SHRINKFILE du fichier de log : idem : à ne réserver qu'aux manœuvres d'urgence, par manque d'espace disque : SQL Server s'échine à prendre de l'espace disque que vous lui enlevez, et qu'il reprendra tôt ou tard.
    Sachant qu'un accès disques est au moins 1000 fois plus coûteux qu'un accès en RAM, je vous laisse imaginer les dégâts que cela peut causer sur les performances de vos requêtes ...

    - passer la base en mode de récup simple : il faut d'abord voir si cela correspond aux requis du métier de votre entreprise ... quelle quantité de données pouvez-vous vous "permettre" de perdre ?

    - arret et redemarage de l'instance : en faisant cela vous perdez tout le cache de données et de procédures.
    Donc pour toute nouvelle requête exécutée après le redémarrage, il y a recompilation du plan de requête, coûteux en CPU ...

    Si vous êtes en mode de récupération FULL, pensez à sauvegarder le fichier du journal des transactions régulièrement : c'est cela qui lui évitera de gonfler.
    Si vous êtes en mode de récupération SIMPLE et que le journal gonfle, c'est que vous êtes en train de modifier une quantité de données élevée dans une transaction.
    Voyez à procéder par lots si cela pose problème.

    A lire

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Par défaut
    Oui oui, je sais... J'ai effectué ces manips que pour ne pas exploser le disque qui était vraiment à saturation et récuperer de l'espace !

    D'autre part, je suis passée en mode simple car aucune sauvegarde des journaux n'étaient effectués entre 2 sauvegardes complètes...

    En revanche je n'arrive toujours pas à comprendre comment une base qui 2 Go arrive à 5 Go en moins d'une journée !?

    Autre chose, est ce que l'option "auto shrink" pourrait répondre à mon problème ? et est ce que cette option n'est pas aussi dangereuse qu'un "SHRINKFILE " ?

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    D'autre part, je suis passée en mode simple car aucune sauvegarde des journaux n'étaient effectués entre 2 sauvegardes complètes...
    Dans ce cas restez en mode FULL et faites des sauvegardes du fichier du journal des transactions plus fréquemment.

    En revanche je n'arrive toujours pas à comprendre comment une base qui 2 Go arrive à 5 Go en moins d'une journée !?
    La quantité de données que stocke votre base de données est de 2Go.
    Dans le mode de récupération FULL, le fichier du journal des transactions enregistre toutes les informations nécessaires à défaire ou refaire une transaction (il les écrit d'abord avant de procéder aux modifications de données à proprement dites).
    Si donc vous avez une table qui est mise à jour toutes les secondes, même si son nombre de lignes est faible, le fichier du journal des transactions, lui, va continuer de grossir.

    Autre chose, est ce que l'option "auto shrink" pourrait répondre à mon problème ? et est ce que cette option n'est pas aussi dangereuse qu'un "SHRINKFILE " ?
    Elle n'est pas aussi dangereuse, elle est encore plus dangereuse, parce que dans ce cas-là vous allez réduire aussi le fichier de données de votre base de données, et comme je vous l'ai expliqué dans ma précédente réponse, cela est inutile en plus d'être très contre-performant.

    Choisissez le mode de récupération qui est adapté à votre application
    Décrivez-nous ce que fait votre application, et quelle quantité ("temps de données") vous pouvez vous permettre de perdre.

    @++

  5. #5
    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
    Citation Envoyé par Liloye Voir le message
    Bonjour,
    Que dois je vérifier ? Quel type de transaction peu générer ce problème ? Je suis paumée là...
    Est ce que celui grossit tout le temps ? A des heures pré déterminés ?
    Regardez si du coté des transactions importantes générant une grosse quantité de données ou des opérations de maintenance.

    ++

Discussions similaires

  1. Grossissement d'un transaction log en mode de recup simple
    Par Liloye dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/04/2010, 08h58
  2. probleme de flux surement simple a resoudre
    Par orphen dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 10/11/2007, 18h07
  3. probleme de texture (2d simple directX vb.net)
    Par Pol63 dans le forum DirectX
    Réponses: 10
    Dernier message: 23/04/2007, 17h16
  4. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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