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 :

Question théorique sur les LDF [2008]


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 81
    Points : 51
    Points
    51
    Par défaut Question théorique sur les LDF
    Bonjour,

    je me pose pas mal de question sur le principe même d'un LDF.

    Sachant que ma base est sauvegardé chaque jours, que l'intégralité du serveur est sauvegardé aussi chaque jour.

    Actuellement ma base fait environ 10 Go et mon LDF a une expansion folle que je réduit chaque jour.

    Peut t'on limité un LDF a 1 Go et ne pas autorisé son augmentation sans risque ?

    Le LDF sert-il encore a quelque chose de nos jours ?

    Merci pour vos suggestions ou piste.

    Cordialement

    Thierry

  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 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    le LDF (terme impropre) est le journal de transactions (JT). Sans journalisation des transactions pas de transaction. Donc pas de SGBD Relationnel. Il sert de filet de sécurité lorsque :
    1) le serveur tombe en panne au milieu d'une écriture
    2) rejouer des transactions passées pour retrouver une base à un temps, t dans le passé.

    mais il va grossir indéfiniment si :
    1) vous etes en mode de journalisation full ou bulk logged
    2) vous n'avez pas mis en place de sauvegarde du JT

    Commencez donc par faire une suvegarde du JT

    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 du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Re,

    désolé de ne pas avoir préciser on est en mode SIMPLE déjà.

    et je me retour avec un JT de 20 a 30 Go en quelque jours.

    Après je sais pas si on parle de la même sauvegarde mais oui se fichier est sauvegardé chaque jour par la sauvegarde total du serveur et via une tache sauvegarde de base dans le SQL direct

    thierry

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Avatar69 Voir le message
    Le LDF sert-il encore a quelque chose de nos jours ?
    Je tiens à dire que j'étais ahuri de lire cette question !

    Sans vouloir vous offusquer ! Ceux qui se posent encore cette question n'ont vraiment rien compris au fonctionnement des bases de données !

    SQLPro vient vous donner des explications rapides fort utiles, mais vous feriez mieux de vous former à minima sur le fonctionnement des SGBD.

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  5. #5
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par Avatar69 Voir le message
    Re,
    désolé de ne pas avoir préciser on est en mode SIMPLE déjà.
    En mode SIMPLE, le journal de transaction est utilisé de la même façon qu'en mode FULL. La seule différence, c'est que le journal de transaction est vidé à chaque CHECKPOINT. Le mode SIMPLE indique seulement qu'on ne peut réaliser qu'une restauration simple (cad depuis la dernière sauvegarde complète ou diff)
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  6. #6
    Expert éminent sénior
    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 : 45
    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
    Points : 12 891
    Points
    12 891
    Par défaut
    En mode SIMPLE, le journal de transaction est utilisé de la même façon qu'en mode FULL
    Ce n'est pas tout à fait vrai en réalité . Certains opérations peuvent être journalisées au minimum en mode de récupération simple

    >> http://technet.microsoft.com/en-us/l...=sql.105).aspx

    ++

  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
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Avatar69 Voir le message
    Re,

    désolé de ne pas avoir préciser on est en mode SIMPLE déjà.
    J'en doute très fort ! Comment obtenez vous cette info ? Quelle est le nom de votre base (pas du serveur...)

    et je me retour avec un JT de 20 a 30 Go en quelque jours.

    Après je sais pas si on parle de la même sauvegarde mais oui se fichier est sauvegardé chaque jour par la sauvegarde total du serveur et via une tache sauvegarde de base dans le SQL direct

    thierry
    La sauvegarde des fichiers du serveur n'est pas une méthode de sauvegarde d'une base de données dans le sens ou une base ce n'est pas un fichier.

    La sauvegarde d'une base n'est pas non plus une sauvegarde du journal de transaction.

    POUR LE POINT 1 (mode de récup de la base), faites la requête suivante et postez l'intégralité de la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT name, recovery_model_desc
    FROM   sys.databases
    Indiquez nous quel est le nom de la base en question.

    POUR LE POINT 2 (sauvegarde du JT), assurez vous de lancer régulièrement (au moins une fois par jour) la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BACKUP LOG nom_de_ma_base
    TO DISK = 'C:\repertoire de sauvegarde\nom_de_ma_base_20140924.TRN'
    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
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Ce n'est pas tout à fait vrai en réalité . Certains opérations peuvent être journalisées au minimum en mode de récupération simple

    >> http://technet.microsoft.com/en-us/l...=sql.105).aspx

    ++
    Effectivement, en mode simple comme en Bulk-logged, certaines opérations sont moins couteuses (en terme d'écriture dans le JT). Je suis allé trop vite pour répondre
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Re,

    l’ensemble de mes bases sont bien mode récupération SIMPLE

    master SIMPLE
    tempdb SIMPLE
    model SIMPLE
    msdd SIMPLE
    BIJOU SIMPLE
    C_MODEL SIMPLE
    TRAVAIL SIMPLE
    Je n'ai pas mis toutes les bases.

    concernant les sauvegardes cela se fait via un plan de maintenance dans sqlserver.

    @HMIRA
    quand je dis 'de nos jour' ....

    je sais que le LDF sert comme la si bien dit SQL Pro à
    1) le serveur tombe en panne au milieu d'une écriture
    2) rejouer des transactions passées pour retrouver une base à un temps, t dans le passé.

    Ce que je voulais dire c'est que dans mon cas je gère une cinquantaine de serveur avec des bases SQL dont certaine on plusieurs centaine de millions d’enregistrements et je n'ai JAMAIS eu de crash serveur ni de crash de base je n'ai JAMAIS eu besoin de remonter une base totalement ou a un instant T et ce depuis plus de 9 ans (je croise les doigts que cela continue)
    Les seuls bases que je restore sont des copies de mes bases de travail pour faire des test avant mis en exploitation

    Thierry

  10. #10
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Avatar69 Voir le message
    Re,
    @HMIRA
    quand je dis 'de nos jour' ....

    je sais que le LDF sert comme la si bien dit SQL Pro à
    1) le serveur tombe en panne au milieu d'une écriture
    2) rejouer des transactions passées pour retrouver une base à un temps, t dans le passé.

    Ce que je voulais dire c'est que dans mon cas je gère une cinquantaine de serveur avec des bases SQL dont certaine on plusieurs centaine de millions d’enregistrements et je n'ai JAMAIS eu de crash serveur ni de crash de base je n'ai JAMAIS eu besoin de remonter une base totalement ou a un instant T et ce depuis plus de 9 ans (je croise les doigts que cela continue)
    Les seuls bases que je restore sont des copies de mes bases de travail pour faire des test avant mis en exploitation
    Même avec ces arguments, vous ne pouvez vous dispenser du journal des transactions. En effet, le caractère ACID des transactions ne peut être assuré sans l'existence du journal des transaction, et tout particulièrement la Durabilité .
    La validation effective durables des transactions sont synchrones, signalent la réussite de la validation (COMMIT) et restituent le contrôle au client uniquement lorsque les enregistrements de journal pour la transaction ont été écrits sur le disque.
    Les validations de transactions durables différées sont asynchrones et signalent la réussite de la validation (COMMIT) avant que les enregistrements du journal pour la transaction ne soient écrits sur le disque.
    Le renforcement des entrées du journal des transactions sur le disque est requis pour qu'une transaction soit durable. Les transactions durables différées deviennent durables lorsque les entrées du journal des transactions sont vidées sur le disque.

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Avatar69 Voir le message
    concernant les sauvegardes cela se fait via un plan de maintenance dans sqlserver.
    Vous ne répondez toujours pas aux questions.... Mais passons, puisque vos bases sont en simple, la situation devrait être de pouvoir réduire les journaux.

    Si votre journal n'arrive pas à se réduire, il est possible qu'une transaction soit active depuis des lustres.

    lancez la commande DBCC OPENTRAN dans le contexte de la base fautive et voyez si vous avez une transaction qui dure depuis trop longtemps. SI tel est le cas, annulez_là avec un KILL de la session fautive.

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

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Merci pour toutes vos réponses et le temps que vous y avez passé

    Bonne journée

    Thierry

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

Discussions similaires

  1. Petite question théorique sur les déclarations
    Par NeuroTransMetteur dans le forum Général VBA
    Réponses: 3
    Dernier message: 15/03/2012, 08h04
  2. Question théorique sur les éditeur WYSIWYG
    Par CactO_o's dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/02/2010, 19h32
  3. [PHP 5.0] question théorique sur les méthodes
    Par mariek dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2009, 08h41
  4. Réponses: 3
    Dernier message: 04/04/2008, 18h02
  5. Question théorique sur les normales
    Par Pedro dans le forum DirectX
    Réponses: 5
    Dernier message: 16/10/2005, 19h24

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