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 :

Autogrowth du fichier log : comment ca marche


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut Autogrowth du fichier log : comment ca marche
    Bonjour,

    Système: MS - SQL Server 2005

    Je travaille actuellement sur la configuration d'une BD.
    Et je me pose des questions a propos du Enable Autogrowth du log.

    Select BD on Object Explorer->click droit->Properties->Files->Database files->MaBD_log

    Voici ce que j'ai compris:
    Le fichier de log stocke toutes les requêtes reçu sur MaBD.
    On peut paramétrer l'augmentation du fichier de log.
    Si on décide de le limiter il convient de faire des logs régulièrement, puis de réduire sa taille (il y a plein de fils a ce sujet sur ce forum).

    Maintenant ma question:
    Si je paramètre une taille initiale de mon fichier de log a 1Go (valeur d'exemple, je sais qu'il est préconise 20% de la bd).
    Et que je décoche le "Enable Autogrowth".
    Est-ce que sql-server va continuer de logger mes requêtes?
    Si oui, arrivé a 1Go, que va-t-il se passer?
    - ça va boucler et écraser les logs les plus anciens?
    - ça va bloquer les insert dans mon server (message full...)?

    Merci de m'eclairer

  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 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Est-ce que sql-server va continuer de logger mes requêtes?
    Oui, mais cela dépend de plusieurs paramètres :
    1) votre base de données est en mode de recouvrement simple :
    le JT est recyclé pour toutes les transactions achevées. Espérons cepandant que vous n'ayez pas une transaction dont le volume des données va dépasser 1 Go.
    2) votre base de données est en mode de recouvrement BULK LOGGED ou FULL :
    le JT est n'est pas recyclé en permanence. Dès que le volume des transaction va atteindre 1 Go plus aucune transaction ne sera possible.
    Vous pouvez cependant recycler le journal en faisant des sauvegardes du journal (BACKUP LOG)

    Si oui, arrivé a 1Go, que va-t-il se passer?
    - ça va boucler et écraser les logs les plus anciens?
    - ça va bloquer les insert dans mon server (message full...)?
    Plus aucune transaction n'est possible : chaque transaction sera annulée et un message d'erreur apparaîtra de manière systématique avec "JT plein".

    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 éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    Plus aucune transaction n'est possible : chaque transaction sera annulée et un message d'erreur apparaîtra de manière systématique avec "JT plein".
    Merci pour vos eclaircissement mais...
    J'ai réalisé ces tests:
    Test realise sur bd, donnée et flux de donnée identique

    Test 1:
    BD settings:
    - initial size=20MB
    - Enable Autogrowth=false

    Conclusion : même lorsque j'arrive a 20MB je continue de logge

    Test 2:
    BD settings:
    - initial size=10MB
    - Enable Autogrowth=true
    -- Maximum file growth=20MB

    Conclusion : Des que j'arrive a 20MB j'ai bien l'erreur 'JT plein'

    Donc avec "Enable Autogrowth=false" SQL logue bien (ne leve plus d'erreur), j'ai verifie dans les donnees, c'est bon.
    Mais je n'arrive pas a trouver sur le net d'info concordant avec mes tests. Et du coup je suis un peu perdu...

  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
    Bonjour,

    Lors de votre premier test, vous deviez être en mode de récupération SIMPLE.
    Comment avez-vous su que votre journal de transaction était plein lors du premier test ?

    @++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    Nonon, c'est vrai j'ai pas précisé mais je suis en mode FULL.

    Pour le savoir, en fait je part de zero, donc creation BD, creation table.
    J'insert de la meme maniere, donc c'est vrai que je n'ai pas de preuve concrete mais je fais exactement les memes requetes dans les deux cas. Dans un cas au bout d'un moment j'ai le 'JT full' et dans l'autre je ne l'ai jamais (je log plus de 10 fois le volume dans le test 1(et ca continue) que dans le 2)!

  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 998
    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 998
    Billets dans le blog
    6
    Par défaut
    je ne sais pas ou vous avez pêche "Enable Autogrowth=false" (dans quelle IHM). Mais ces interfaces pouvant être buggé, le seul moyen de savoir la vérité est de faire des requêtes systèmes dans les vues de DM.

    En particulier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM sys.database_files
    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. Fichier cron :comment ca marche
    Par jexl dans le forum Linux
    Réponses: 4
    Dernier message: 11/09/2006, 18h22
  2. [Fichier LOG] Comment les lire ?
    Par BalBalNet dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2005, 18h21
  3. Comment créer un fichier log ?
    Par raoulmania dans le forum Langage
    Réponses: 15
    Dernier message: 22/07/2005, 11h31
  4. comment ne pas enregistrer dans le fichier log?
    Par trotters213 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 21/03/2005, 14h56
  5. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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