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 :

Base en mode simple mais log grossit quand même [2012]


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév & consultant Sage X3

    Informations forums :
    Inscription : Décembre 2014
    Messages : 830
    Par défaut Base en mode simple mais log grossit quand même
    Bonjour,

    Comment se fait-il que le fichier log, partant de 100Mo, arrive à 8Go en quelques minutes, alors que la base est en mode simple ? Certes plusieurs grosses requêtes sont lancées en même temps, mais SQL devrait plutôt utiliser Tempdb, non ?
    J'avais cru (mal ?) comprendre que le log n'était plus utilisé en mode simple.

    Merci.

  2. #2
    Membre émérite

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 817
    Billets dans le blog
    2
    Par défaut
    surement transaction ouvert non commité


  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par bimiman Voir le message
    Bonjour,

    Comment se fait-il que le fichier log, partant de 100Mo, arrive à 8Go en quelques minutes, alors que la base est en mode simple ? Certes plusieurs grosses requêtes sont lancées en même temps, mais SQL devrait plutôt utiliser Tempdb, non ?
    J'avais cru (mal ?) comprendre que le log n'était plus utilisé en mode simple.

    Merci.

    Le journal de transaction est TOUJOURS utilisé quelque soit le mode. Sans journal de transaction, pas de transaction, donc pas d'insert/update/Delete...

    Le mode SIMPLE minimise les entrées... Et purge en permanence. Comme le dit BOUBOU, si une transaction ouverte n'est pas refermée, alors ça bloque et il est impossible de purger !

    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/ * * * * *

  4. #4
    Membre très actif
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév & consultant Sage X3

    Informations forums :
    Inscription : Décembre 2014
    Messages : 830
    Par défaut
    OK merci.
    Toutefois avec un DBCC SHRINKFILE j'arrivais à réduire le fichier alors que les transactions n'étaient pas terminées.

    Disons que le terme "journal" est un peu usurpé, normalement c'est un historique, dans le même sens que "journal des événements" de Windows.

  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 bimiman Voir le message
    OK merci.
    Toutefois avec un DBCC SHRINKFILE j'arrivais à réduire le fichier alors que les transactions n'étaient pas terminées.
    Dans l'absolu c'est possible de gagner un peu d'espace si tu as des VLF du journal qui sont inactifs et pas utilisés dans une transaction ouverte.
    Mais généralement une transaction ouverte aura pour effet de remplir le journal donc utiliser tous les VLFs et les opérations de réduction de journal restent sans effet.

    ++

  6. #6
    Membre Expert
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Par défaut
    Pour compléter ce que dit David, et Frédéric ou David me reprendront si je fais erreur.

    Un VLF se crée à chaque fois qu'il y a un agrandissement. Si on en voit beaucoup, l'idéal est que si on peut, on shrink le log et on augmente la taille d'un coup afin de réduire au maximum le nombre.

    On commence à avoir des problèmes si on a plus de 200 VLF

    On en parle ici
    https://www.developpez.net/forums/d1...n/#post9142270

    Pour connaitre le nombre de VLF sur une DB :
    DBCC LOGINFO('maDB')

    Si mes souvenirs sont bon, le VLF qui est en cours d'utilisation, il y a un 2 devant. (Je suis à la maison, je ne sais pas vérifier si ma mémoire est bonne).
    Et donc quand tu fais un shrink, il va réduire jusqu'à ce VLF.

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par janlouk Voir le message
    Pour compléter ce que dit David, et Frédéric ou David me reprendront si je fais erreur.

    Un VLF se crée à chaque fois qu'il y a un agrandissement.
    Non... un agrandissement c'est juste l'incrément pas que vous avez décidé lors de la création du fichier. Les tailles des VLF sont fixées par un algorithme qui a changé avec la version 2014 je crois.... Autrefois fixe en fonction de la taille initiale, ils sont désormais de taille variable en fonction de la taille acquise en fonctionnement.

    Si on en voit beaucoup, l'idéal est que si on peut, on shrink le log et on augmente la taille d'un coup afin de réduire au maximum le nombre.

    On commence à avoir des problèmes si on a plus de 200 VLF

    On en parle ici
    https://www.developpez.net/forums/d1...n/#post9142270

    Pour connaitre le nombre de VLF sur une DB :
    DBCC LOGINFO('maDB')

    Si mes souvenirs sont bon, le VLF qui est en cours d'utilisation, il y a un 2 devant. (Je suis à la maison, je ne sais pas vérifier si ma mémoire est bonne).
    Et donc quand tu fais un shrink, il va réduire jusqu'à ce VLF.
    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/ * * * * *

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par bimiman Voir le message
    OK merci.
    Toutefois avec un DBCC SHRINKFILE j'arrivais à réduire le fichier alors que les transactions n'étaient pas terminées.

    Disons que le terme "journal" est un peu usurpé, normalement c'est un historique, dans le même sens que "journal des événements" de Windows.
    Pas du tout. Le journal de transaction est un fichier contenant des informations binaires de deux natures :
    1) les métadonnées de la transaction (verrous, objets modifiées...)
    2) les images binaires avant nécessaires en cas d'annulation de la transaction

    Vous pouvez avoir une idée du contenu en utilisant la fonction table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sys.fn_dblog(NULL, NULL)
    Qui rend un peu plus humainement lisible de journal de transaction...

    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/ * * * * *

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2014, 11h22
  2. [10g] rman sur base en mode no archive log ?
    Par falco- dans le forum Recovery Manager
    Réponses: 2
    Dernier message: 20/04/2011, 20h28
  3. [MySQL] Tout en UTF8 mais problème accentuations quand même
    Par speedev dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 11/04/2007, 22h43
  4. Acheter un vieux PC, mais pas trop quand même
    Par Maxoo dans le forum Ordinateurs
    Réponses: 30
    Dernier message: 22/03/2007, 09h49

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