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 :

Gérer de manière automatique les journaux de logs


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut Gérer de manière automatique les journaux de logs
    Bonjour,

    je souhaite gérer les journaux de logs de manière automatique. Une base de données d'historiques est nourri par d'autres serveurs, et j'ai paramétré cette base pour que le journal n'excède pas X Go.

    Comme il s'agit d'un jeu de données secondaire, la sauvegarde se fait à l'année, mais la base n'a une durée de vie que d'un an (soit Histo2010, Histo2011, ...).

    J'ai vu cette discussion : http://www.developpez.net/forums/d30...e-fichier-ldf/

    mais cela ne parle que de gestion manuelle.

    Dans Management Studio, sur une base de données, dans Propriétés/Options/Réduction automatique, cette propriété peut-elle jouer sur le traitement ?

    Merci pour vos lumières

  2. #2
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Bonjour,

    Dans quel mode de recovery se trouve votre base ?
    Si elle est en full, avez vous un job de sauvegarde du journal de transaction ?

    Lorsque vous dites:
    La sauvegarde se fait à l'année
    Est ce que ca signifie que vous effectuer un backup de votre base sur une fréquence annuelle ?!

    Comment votre base de données est elle alimentée ?

    Bonne journée

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Je n'ai pas touché à ce point de configuration, il me semble qu'elle est en simple (je vais quand même vérifier ça, au pire changer de mode de récupération est une opération couteuse ?).

    Oui, il s'agit du backup (un seul) à fréquence annuelle (au 31 décembre de l'année correspondant à la base de données), réalisé par un outil tiers made in HP.

    La base est alimentée par procédure stockée exécutée de manière chronique, procédure situées sur d'autres serveurs, ayant pour but de migrer les données vers cette table située sur ce serveur (on centralise donc).

    J'ai vu l'option d'auto-shrink disponible dans Management Studio, mais sur Internet il est recommandé de ne pas l'utiliser... Donc je m'en remets aux experts

    Merci !

  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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Pour connaître le mode de récupération de votre base de données, si vous êtes sous SQL Server 2005 ou 2008, vous pouvez exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT name, recovery_model_desc
    FROM sys.databases
    WHERE name = 'maBD'
    Et sur toutes les versions, au moins depuis la 2000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATABASEPROPERTYEX('maBD','Recovery')
    Ne pas sauvegarder sa base de données régulièrement est très dangereux ... que ferez-vous si le(s) disque(s) qui la supportent connaissent une panne ?
    De même ne pas tester ses backups de temps en temps est un jeu dangereux ...

    Changer de mode de restauration n'est pas coûteux, mais n'est pas sans conséquences.

    - FULL : vous pouvez vous permettre de perdre un minimum de données, et cela vous est permis par une sauvegarde régulière du fichier du journal des transactions.
    Mais en aucun cas cela ne réduit la taille du fichier du journal des transactions : SQL Server ne restitue jamais l'espace (RAM ou disque) qu'il s'est échiné à s'octroyer.

    - SIMPLE : le fichier du journal grossit suivant le volume de données que les transactions manipulent, mais il est tronqué (<> réduit) lors de la validation de toute transaction.
    Ceci fait que si une panne se produit, vous perdrez toutes les modifications de données effectuées depuis la dernière sauvegarde de la base de données.

    - BULK_LOGGED fonctionne suivant le même schéma que le mode FULL, mais il journalise de façon minimale les opérations en bloc (BULK INSERT, ...), ce qui permet d'obtenir un gain de performances important sur les imports de données.

    Ne fixez jamais la taille de votre fichier du journal des transactions, quel que soit le mode de récupération. Utilisez pour cela une taille de croissance de votre fichier en MB (pas un pourcentage).
    Taillez-le suivant la taille de votre fichier de données, on conseille environ 30%.
    En effet si le volume de données manipulé par les transaction dépasse la taille fixée, alors la transaction est annulée.

    Gardez à l'esprit qu'une réduction de fichier de base de données ne doit s'utiliser qu'en cas d'urgence : manque d'espace disque.
    Dans les autres cas, c'est le meilleur moyen de faire baisser les performances de votre base de données.

    @++

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Je me suis trompé, la base est en mode Complet. Apparemment le mode Complet génère beaucoup d'enregistrements dans le journal de logs non libérés par défaut... Si je comprends bien, j'ai plusieurs options :

    - Passer en mode simple, ce qui signifie que le journal ne devrait croitre que le temps d'une transaction et décroitre à la fin de celle-ci ? Si plusieurs transactions s'enchainent (8 en 1 mn), cela ne pose pas de souci ?

    - Laisser en complet, mais dans ce cas là quelle action permet de libérer de la place dans le journal de logs ? Une action de sauvegarde ? une commande SHRINK ? Je rappelle rechercher une solution automatique.

    Ne fixez jamais la taille de votre fichier du journal des transactions, quel que soit le mode de récupération. Utilisez pour cela une taille de croissance de votre fichier en MB (pas un pourcentage).
    Aïe, moi qui avais fixé à 15Go (Histoire d'éviter que d'ici quelques temps je me retoruve avec 0Mo d'espace libre sur ce serveur) au lieu des 2To par défaut (croissance pourcentage aussi par défaut)... La configuration par défaut d'une base de données SQL Server 2005 semble pas top à te lire...

    Au sujet de la base de données, il s'agit d'une base miroir représentant les informations d'une année, j'ai les données dans une autre base qui elle est sauvegardée de manière régulière... Donc le fait que la sauvegarde ne soit faite qu'à la fin ne me dérange pas (voir ça comme une archive).

  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
    Posez vous la questions suivante :

    - Si je perds les données de la base au cours de l'année est ce que celle-ci doit pouvoir être restaurée en l'état juste avant un éventuel crash ?

    Si la réponse est oui alors vous allez devoir utiliser le mode de récupération complet et adopter une stratégie de sauvegarde en conséquence.

    La encore il faudra se poser une autre question :

    - De quel délai je dispose pour restaurer ma base ?

    Selon le cas vous allez devoir adapter votre stratégie de sauvegarde (Par exemple sauvegarde complète + différentielle + journaux à planifier par exemple).


    Si la réponse est négative alors vous pourrez utiliser le mode simple qui supprimera toute intervention supplémentaire sur les journaux.

    ++

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Je n'ai pas un besoin de récupération des données immédiat, donc si je suis le raisonnement, un fonctionnement SIMPLE me suffit et permettra une gestion automatique de ce fichier journal...

    Dernière question, durant mes recherches, j'ai trouvé cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec sp_dboption(VotreBase, 'trunc log', true)
    sur ce post : http://www.developpez.net/forums/d18...-transactions/

    Cette dernière approche se fait-elle dans une approche Complete et si oui est-elle suffisante pour la gestion automatique des logs ?

    Merci

  8. #8
    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
    Non cette option n'est pas adaptée pour une stratégie de sauvegarde utilisant le mode complet car elle tronque automatiquement la partie inactive du journal à chaque checkpoint (environ toutes les minutes) ce qui est en contradiction avec une politique de sauvegarde des journaux.

    Vous pouvez l'utiliser avec le mode de récupération SIMPLE cependant mais à voir si cela est vraiment nécessaire dans votre cas.

    ++

  9. #9
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Merci à tous, c'est déjà plus clair

    Je vais passer la bdD en mode Simple et voir ce que ça donne.

    Bye !
    --
    Edit : je rajoute une question par curiosité. Dans le cadre d'un fonctionnement en Complet, quelle opération assure une diminution de la taille du journal ? Une sauvegarde du fichier de log ? De la base de données ? Des deux ? Autre ?

  10. #10
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    La sauvegarde du fichier log, qui peut très bien être automatisée.
    Enfin, ce n'est pas une réduction de la taille physique du fichier, ca "vide" son contenu, et l'espace peut être réutiliser pour enregistrer d'autres transactions.
    Ce qui permet de garder un fichier de taille plus ou moins constante.

  11. #11
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Le mode de récupération SIMPLE ne vous exempte pas d'une sauvegarde régulière (tous les jours ?)

  12. #12
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Comme indiqué précédemment cette base n'est qu'une archive d'une autre base, la sauvegarde journalière n'est pas pas requise pour cette base.

    Pour la réduction, on se comprend bien, du moment qu'il exploite l'espace à sa disposition de manière cyclique !

    Merci pour ces infos

  13. #13
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Citation Envoyé par Arnard Voir le message
    Comme indiqué précédemment cette base n'est qu'une archive d'une autre base, la sauvegarde journalière n'est pas pas requise pour cette base.
    Pourquoi ne pas vous en débarasser et archiver la base principale à la fin de chaque année dans ce cas ?

  14. #14
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    La base principale est archivée tous les jours (avec la conf et tout, pas envie de perdre pour un an de taff xD), par contre la base principale recense des informations d'historiques, purgées de manière régulière pour ne garder que X derniers mois (afin d'éviter la surcharge d'historiques), le reste étant mis en place dans ces bases d'archives, bases pour lequelles je suis venu vous consulter sur la gestion du fichier de logs

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2015, 10h46
  2. Réponses: 3
    Dernier message: 01/01/2015, 19h34
  3. Archiver automatiquement les Journaux Windows
    Par Shr3ck dans le forum Windows 7
    Réponses: 1
    Dernier message: 18/06/2014, 11h29
  4. Réponses: 53
    Dernier message: 10/03/2014, 19h38
  5. gérer la résolution de manière automatique
    Par pierrot2908 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/04/2007, 13h42

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