Page 1 sur 1

SQL : le journal des transactions est plain

MessagePosté: Lun 26 Mai 2014 01:26
de pschitt
Au démarrage de Sage (compta 100 SQL), le message :
"Le journal des transactions de la base de données XXXX est plain. Pour savoir pourquoi il est impossible..... , consiltez la colonne log_reuse_wait_desc dasn sys.databases"
Comment faire pour résoudre ce blocage ?
D'avance merci pour vos réponses

Re: SQL : le journal des transactions est plain

MessagePosté: Lun 26 Mai 2014 16:07
de OokieDookie
Bonjour,

Il faut vérifier dans les options de la base de données si elle est en mode complet (ce qui est a priori le cas)
Il faut la passer en mode simple (partant du principe qu'il y a bien une sauvegarde complète tous les jours).
Ensuite sauvegarder manuellement la base (sauvegarde complète)

Toute sauvegarde en complète en mode simple purge automatiquement le journal des transactions => ce message ne devrait plus apparaître une fois ces manipulations réalisées.

HTH,

Re: SQL : le journal des transactions est plain

MessagePosté: Ven 30 Mai 2014 00:13
de pschitt
Merci !

Pour info entre temps j'ai trouvé une fiche Sage bien faite "Réduction de l’espace alloué au journal Log d’une Base de données sous SQL Server" disponible sur la base documentaire de Sage bien faite et pertinente.

Re: SQL : le journal des transactions est plain

MessagePosté: Ven 30 Mai 2014 08:39
de manhattanfreud
Bonjour,

Fiche KB49542 pour information complémentaire.

Cdlt,

Re: SQL : le journal des transactions est plain

MessagePosté: Lun 2 Juin 2014 00:19
de pschitt
Merci pour cette précision, j'ai oublié de mentionner le n° (important) de la fiche ... :oops:

Re: SQL : le journal des transactions est plain

MessagePosté: Mer 13 Aoû 2014 18:15
de olpons
Bonjour à tous,

Je ne suis pas un utilisateur expert de SAGE par contre, je suis certifié MCSE MS SQL Server Administration et implémentation depuis plus de dix ans et je suis effaré de voir tous ces problèmes de journaux de transactions avec ce logiciel.

Voici quelques recommandations :
- La taille du fichier journal ne doit normalement pas dépasser la taille du fichier de données.
- La valeur de croissance du fichier journal de transaction ne doit pas être laissée à la valeur par défaut : 10 %. Pour comprendre, si votre fichier log pèse 100 Mo et qu'il a besoin de grossir, il va grossir de 10 Mo (10 % de 100 Mo).
Le coup d'après, il grossira de 11 Mo (10 % de 110 Mo). Vous l'aurez compris, à 1 Go, le log va grossir de 100 Mo. Imaginez le temps que cela prend à SQL Server de réserver sur le disque dur 100 Mo d'espace disque supplémentaire !
Alors oui, les pro infrastructures vous diront que le disques vont vite. Cela n'a rien à voir. Pendant que SQL Server alloue de l'espace disque, il y a un lag (un léger temps d'interruption de service) et les utilisateurs peuvent le sentir puisque cela peut se produire en pleine journée en fonction du volume de transaction émises. De plus, la croissance est exponentielle et c'est dangereux pour l'espace disque qui risque de saturer. Il y a d'autres problèmes inhérents à ce mauvais paramétrage mais il faudrait un cours pour les expliquer.

Mon conseil :
1) Modifier le taux de croissance du fichier journal en choisissant une valeur en Mo et pas en %. Pour savoir quelle valeur mettre, cela dépend du nombre de transaction faites en général dans une journée.

2) Sauvegarder c'est bien, sauvegarder correctement c'est mieux

Pour les plus frileux : Effectuer en plus de la sauvegarde complète une sauvegarde du journal de transaction chaque nuit.

Pour ceux qui connaissent bien (voire très bien) SQL Server : mettez en oeuvre un plan de maintenance en adéquation avec votre environnement et vos besoins réels. Attention, ne jouez pas avec l'assistant de plan de maintenance de SQL Server sans maitriser ce qu'il fait. Il faut savoir modifier un package SSIS (SQL Server Integration Services), comprendre et bien choisir l'ordre de tâches qu'il ne faut surtout pas mélanger et bien avant ça, définir sur papier le plan de sauvegarde : complet, journal, différentiel... Vous pouvez par exemple faire une sauvegarde complète chaque nuit et un journal de transaction tous les jours à 13h, pendant que les utilisateurs sont généralement absents. Il y a d'autres types de plan, là encore vous pouvez suivre un cours admin SQL Server.

Pour tous ces sujets je peux vous aider au cas par cas. Pour ma part, ne connaissant pas bien la base de données SAGE et étant amené à développer des traitements d'extraction automatisés de données pour faire du Décisionnel, je tiens à vous remercier tous pour vos précieux conseils trouvés sur ce forum.

Olive

Re: SQL : le journal des transactions est plain

MessagePosté: Jeu 21 Aoû 2014 20:40
de asr31
@Olive,

Sauvegarder le journal de transaction à 13H, c'est bien, mais comment rejouer ce journal avec la sauvegarde complète de la nuit précédente ?

Cordialement,

P.S. Je ne suis pas MCSE SQL, comme pas mal d'utilisateurs ou même de CCS SAGE ....

Re: SQL : le journal des transactions est plain

MessagePosté: Mar 26 Aoû 2014 09:56
de olpons
Bonjour,

Lorsque vous effectuez une sauvegarde complète, vous initiez auprès de SQL Server un nouveau jeu de sauvegardes.
Toute sauvegarde du journal de transaction qui suit vient s'ajouter au jeu de sauvegarde et ainsi de suite jusqu'à ce que vous réalisiez à nouveau une sauvegarde complète et ainsi démarrer un nouveau jeu de sauvegarde.

Pour la restauration, cela ne change rien à ce que vous connaissez : vous faites une restauration de la base de données. Attention, ne faites pas une restauration du journal de transaction !
Lors de la restauration de la base de données, SQL Server vous présente le jeu de sauvegardes composé en premier de votre sauvegarde complète puis du ou des fichiers de sauvegarde des journaux de transactions. Toutes ces sauvegardes sont cochées par défaut ce qui signifie que SQL Server va restaurer votre base de données dans l'état où elle était connue à la fin du dernier fichier de sauvegarde du journal de transaction.
L'avantage est d'avoir des fichiers de sauvegardes plus fréquents, plus petits.


Vous pouvez essayer avec une base de données de test durant quelques jours afin de vous familiariser avec cette méthode.
Ne la mettez pas en production si vous ne comprenez pas ce que vous faites.

Cordialement

Re: SQL : le journal des transactions est plain

MessagePosté: Mar 26 Aoû 2014 11:46
de asr31
Bonjour,

Merci pour ces informations, que je vais tester de ce pas ....

Cordialement,