|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Bonjour à tous,
Alors je pense que je n'ai pas compris quelque chose... Petite explication avant de vous exposer mon problème: - Nous faisons un backup Full de la base toutes les nuits à 01h00 du matin - Entre 04h et 22h, toutes les heures nous faisons un backup des logs - Tous ces backups sur le disque du serveur sont ensuite sauvegardé par un agent externe (HPDP). - Une fois la sauvegarde de l'agent externe, nous supprimons les backups sur disque pour gagner de la place Et voila ce qui se passe chaque jour: => backup full base -> backup log -> sauvegarde agent externe -> suppresion backup sur disqueCependant aujourd'hui le backup full s'est bien exécuté mais à 04h les logs ne sont plus backupés. Je regarde le fichier .ldf qui fait 42Go. Le disque de backup est de 40Go... Première question: - Est-ce que le fait de lancer un backup des logs, il essaye de faire un backup des 42Go ? On dirait que c'est ce qu'il essaye de faire car lorsque je suis le backup sur le disque, la taille du backup (fichier .trn) augmente jusqu'a plus de 30Go et le job de backup "plante" et les logs ne sont donc pas backupés. Deuxième question: - Les backups de logs ne "reprenne" pas qu'à partir du dernier backup full de la base ? Car avant de lancer le backup des logs, j'ai fait un backup full de la base (17Go) et ensuite je pensais que le backup des logs serait minime mais il me backup les 40Go... Troisième question: - Est-il possible de tronquer les logs alors que des sessions sont actives sur la base ? Car lorsque je lance ce code, il me dis que c'est impossible car des sessions sont actives sur la base... Code :
Merci de m'avoir lu. Cordialement, |
||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() David BAFFALEUFInscription : février 2008 Messages : 612 ![]() |
1) Si tu le lances maintenant, il y a des chances oui.
2) C'est normal, un backup full ne recycle pas le journal de transactions, ce qui veut dire que le backup log suivant doit se retaper les 42 Gb de log records. 3) En fonction du temps de backup full, il serait peut être plus intéressant de passer ta base en mode SIMPLE pour laisser le checkpoint recycler les 42 Gb de transactions validées, faire le shrink, et repasser la base en mode FULL ensuite. Attention, une fois la base repassée en mode FULL, il faut reprendre un backup full pour réinitialiser la chaîne de backup. Sais-tu pourquoi les backups de journaux n'ont pas tourné à partir de 04h00 ?
__________________
David B. |
|
00
|
|
|
#3 | |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Merci pour ta réponse dbaffaleuf
![]() Peux-tu m'éclairer encore un petit peu : - Passer une base du mode FULL à Simple ou inversement peut se faire "à chaud" ? Pas d'arrêt des services/sessions qui sont connectés sur la base ? Invisible pour les users applicatifs ? - "checkpoint recycler les 42 Gb de transactions validées" c'est-à-dire ? unlocker les transactions qui sont "actives" et qui bloquent le troncage ? Ok pour le backup directement après le passage en mode Full. Citation:
Il m'est arrivé la même chose ya deux semaines mais la taille du backup log était de 20Go donc possibilité de backup, contrairement à aujourd'hui où il backup 42Go. Je synthétise le job sql de backup full de la nuit: 1 - backup incremental fait pas l'agent externe qui sauvegarde les backup du jour (.bak + .trn) qui sont sur disque 2 - Si backup incremental de l'agent externe ok, suppression des backups qui sont sur disque 3 - Si backup incremental de l'agent externe échou, il ne supprime pas les backup sur le disque 4 - Backup Full de la base 5 - Backup Full du disque fait par l'agent externe 6 - Toutes les heures backups des logs L'agent externe a planté et n'a donc pas supprimé ce qui se trouvait sur disque, mais je ne pense pas que cela concerne les logs... |
|
|
|
00
|
|
|
#4 | ||
|
Membre chevronné
![]() David BAFFALEUFInscription : février 2008 Messages : 612 ![]() |
Citation:
Citation:
Tu as un batch qui tourne entre 22h00 et 04h00 ?
__________________
David B. |
||
|
00
|
|
|
#5 |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Merci pour tes précisions !
Concernant les batchs il faudrait que je demande au responsable applicatif savoir si en effet un batch tourne entre ces heures la... Merci beaucoup !! je passerai en résolu une fois que je l'aurai fait !
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
ATTENTION : si votre journal de transaction est si important et qu'il ne "diminue" pas pour autant (ou tout du moins son utilisation ne diminue pas) lors c'est peut être qu'il y a une transaction encore active depuis des lustres....
Je pense que vous devriez vérifier ce point en faisant un DBCC OPENTRAN dans la base visée. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#7 |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Merci SQLPro pour votre réponse.
Je vais tester tout ça demain une fois de retour au boulot en espérant que vous ayez vu juste Merci. |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
|
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Bonjour,
Si aucune opération particulière n'a eu lieu hier (comme une réindexation, une mise à jour de données massive, ...) peut-être qu'il s'agit : - de quelqu'un qui a le droit d'exécuter des requêtes sur la base de données - ou de l'application qui est supportée par votre base de données qui a laissé une transaction ouverte (il se peut que l'utilisateur de l'application ait laissé quelque chose s'exécuter, ou que votre application laisse une transaction ouverte dans l'attente d'une saisie qui ne s'est ... jamais faite) Dans ce dernier cas il faudrait corriger l'application. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#10 | |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Citation:
Petite précision car j'ai du mal concernant les logs... Un backup Full de la base ne recycle pas les logs j'ai maintenant compris mais un backup des logs doit recycler les logs et je devrais me retrouver avec un fichier .ldf tout petit non ? Merci pour vos réponses. |
|
|
|
00
|
|
|
#11 | |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
Pour réduire le fichier journal il faut utiliser l'instruction DBCC SHRINKFILE (ou SHRINKDATABASE) ++ |
|
|
00
|
|
|
#12 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Citation:
Les transactions sauvegardées sont considérées comme inutiles et l'écriture dans le journal écrase les ancienne données. La seule commande qui permet de diminuer physiquement la taille du fichier du JT est DBCC SHRINK (SHRINKFILE ou SHRINKDATABASE). A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
10
|
|
|
#13 | |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Citation:
Mais merci pour l'info, je comprends un peu mieux Faire un backup des logs, une fois celui ci terminé, on peut faire un shrink des logs si l'on veut réduire la taille du journal ! Merci beaucoup ! |
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Carla Johnson Inscription : mars 2010 Messages : 93 ![]() |
Bonjour à tous,
J'ai remarqué qu'un plan de maintenance tournait la nuit de le dimanche à minuit... Dans ce plan de maintenance il y a : - Check Database Integrity - Shrink Database (pas bien hein ?!) - Reorganize Index (cause de l'augmentation du journal ?) - Update Statistics - Clean Up History Je pense donc savoir maintenance d’où vient la croissance du journal des transactions qui se passe le weekend... |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Oui c'est un problème classique. Les tâches de maintenance d'index sont en général coûteuses en terme d'espace au niveau du journal des transactions.
Une bonne façon de le détecter est de créer une alerte et de l'activer par exemple au dessus de 80% d'espace utilisé dans le journal. Avec l'heure de déclenchement vous pourrez corréler avec les dates d'exécutions des tâches de maintenace d'index de vos plans. ++ |
|
00
|
Copyright © 2000-2012 - www.developpez.com