|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
bonjour,
J'ai un SQLServer 8 sur du w2008, pour abriter notre comptabilité (Sage, pour ne pas le nommer). Je précise que je ne connais RIEN à MSQLServer ; mais j'ai de bonnes bases d'Oracle cependant. J'ai de grosses lenteur de traitement, et d'après l'éditeur de mon logiciel, cela peut venir du fichier de log. Soit. Il parait qu'en sauvegardant la base, cela purge le dit-fichier ; j'ai dû rater une étape, car rien n'a changé après la sauvegarde, c'est toujours aussi long... J'ai un fichier de base de données de 1.6 GO, et un fichier de log correspondant de 650Mo. (il est en "autoextend") J'ai essayé Tâches, Réduire, Fichier, Fichier de log...et là j'ai trois options qui ne me parlent pas. Que dois je faire pour vider complètement ce fichier ?? Par ailleurs, il existe des tables systèmes que je dois aussi purger ; il n'y a pas d'option via l'interface graphique, je vais donc faire un "delete*from" ; oui mais où se trouve la console SQL (ou ce qui en tient lieu !!) merci,
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() David BAFFALEUFInscription : février 2008 Messages : 612 ![]() |
- Le pb de performance ne vient probablement pas de la taille ou de l'utilisation du journal, pas dans votre cas. Merci de poster le résultat de:
Code :
- Ne pas toucher aux tables système. Elles ne sont pas faites pour être accédées directement en modification.
__________________
David B. |
||
|
00
|
|
|
#3 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
oui, en effet, je suis en SQL server 2008, pardon !
alors, au risque de paraître idiot....ce code, où est la console pour l'executer ; car SSMS est une console graphique, et je ne vois nul endroit où je puisse executer du code ! (j'avais prévenu que j'y connaissais rien !)
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Vous avez un bouton "Nouvelle requête" ou "New Query" en haut à gauche. Cf image jointe
++ |
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
merci, je suis vraiment un boulet...
bon, les résultats... Code :
Que puis je faire ??
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
||
|
|
00
|
|
|
#6 | ||
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 770 ![]() |
Avez-vous un plan de maintenance concernant votre base de données ?
La réponse à la 2° instruction : "FULL" indique le mode de recovery de votre base. Le mode FULL indique que les transactions de votre base sont enregistrées dans un journal (c'est le cas dans tous les modes) mais que en plus, ce journal accumulera toutes les transactions sans jamais se vider si on ne lui demande pas. Le mode full, permet dans un plan de sauvegarde, d'effectuer une sauvegarde nocturne, complète et relativement longue de votre base puis d'effectuer pendant la journée, toutes les x heures, une sauvegarde de votre journal de transaction. Ce second type de sauvegarde permettra de libérer votre journal de transactions et de conserver l'historique des transactions, que l'on pourra chercher à restaurer lors d'un crash ou d'une erreur par exemple. A vous de voir si vous souhaitez prendre le temps de définir un véritable plan de maintenance qui s'occupera de : - sauvegarde complète nocturne - sauvegarde du journal de transaction en journée - maintenance des index et statistiques etc. Ou si vous souhaitez simplement vider ce journal de transaction de la manière suivante : Code :
Puis en repassant en mode full. Par contre, attention, cette commande sera à executer pour ""nettoyer"" votre fichier de journal de transaction et n'est pas recommandée. Le plan de maintenance est bien meilleur. |
||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
la base de données est sauvegardée tous les soirs. Rien d'autre.
Pour moi, la sécurité est plus importante que tout. Donc, je suppose que mon intérêt est de définir un plan de maintenance... Mais du coup, j'ai des questions... 1. A quoi sert ce fichier de transaction ? Plus ou moins l'équivalent d'un Archivelogs sous Oracle ? Cela signifie que la sauvegarde doit prendre en compte les deux fichiers pour une future restauration ; comment sait-on si elle le fait ? 2. Si je décide de passer la base en SIMPLE...Le fichier log ne conserve qu'une seule transaction, donc, je suppose que le fichier de base de données est immédiatement modifiée par la mise à jour. Il n'y a donc qu'un seul fichier vraiment important à sauvegarder, ce doit être plus rapide ? 3. J'ai déja la sauvegarde de la base, en nocturne. Si j'ai bien compris, pour vider le journal de logs, il me faut faire un job pour le sauvegarder régulièrement aussi. Ais je quelque chose de particulier à faire pour cela ? merci beaucoup de votre aide.
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#8 | |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 770 ![]() |
Citation:
Pour restaurer à un instant précis il faut donc restaurer la sauvegarde full + toutes les sauvegardes des journaux jusqu'au moment souhaité. 2. Si vous passez en mode SIMPLE, le journal de transaction est donc vidé à chaque transaction, vous n'avez donc plus la possibilité de restaurer à un instant précis autre que celui des sauvegardes full. Ca serrait donc une sauvegarde full toutes les x minutes, ce qui n'est pas vraiment imaginable. la sauvegarde du journal de transactions étant beaucoup plus rapide que la complète. Il y a beaucoup moins de données dedans, surtout si vous la faites avec un intervalle limité. 3. Le plan de maintenance peut consister en quelque chose du genre : A 1h du matin, pendant une inactivité maximale : - maintenance des index : rebuild si il y en a peu ou re-organisation partielle ou complète - mise à jour des statistiques (uniquement si vous faites seulement une re-organisation des index, le rebuild, mettant à jour les stats. - DBCC CHECKDB de la base pour vérifier l'intégrité de la base (il est dommage de sauvegarde une base corrompue). - sauvegarde complète de la base de données. - nettoyage des sauvegardes du journal de transactions (.trn) de la journée. Toutes les 2h par exemple : - sauvegarde du journal de transactions. Pour restaurer, il faut utiliser la sauvegarde complète de la nuit + les x sauvegardes du log de la journée. |
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
j'ai encore quelques questions ! (si vous voulez bien !)
1. Sur la sauvegarde ; ma sauvegarde de la nuit à 02h00 (sauvegarde dite "complete") ne me permet que de restaurer la base jusqu'à ce point ? Si je veux aller plus loin dans la journée, il faut avoir sauvegardé le fichier de transaction et le restaurer aussi ? C'est bien cela ? 2. Sauvegarde du fichier de transaction (vous dites, toutes les deux heures par exemple) ; puis je le faire n'importe quand, même s'il est en cours d'utilisation à cause de connexions clients ? Ce n'est pas bloquant ? 3. Qu'entendez vous par "nettoyage des sauvegardes du journal de transactions (.trn)" ; on parle du ficheir de log, ou bien est-ce un nouvel inconnu (pour moi) ? merci beaucoup.
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : juin 2006 Messages : 161 ![]() |
Bonjour,
Votre machine est-elle virtuelle ? @+ |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
non non. Un serveur dédié !
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#12 | |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 770 ![]() |
Citation:
Si votre base est en mode SIMPLE : vous ne pouvez rien restaurer de ce qui se passe en journée après la complète. Si vous êtes en FULL : Vous devez commencer par faire une sauvegarde du journal de transaction puis vous restaurez la complète de la nuit + celle du journal que vous venez de faire jusqu'à une date précise. 2. La sauvegarde du journal peut se faire n'importe quand. Elle nécessitera des ressources mais si elle est faites régulièrement, il y a peu de données à sauvegarder donc ne dure pas trop longtemps. Si une transaction est en cours au moment du déclenchement de la sauvegarde, il commence à sauvegarder ce qu'il a déjà de fixe, puis dès que la transaction en cours se termine, il l'inclut dans la sauvegarde. 3. Le .trn est l'extension par défaut de la sauvegarde du fichier de journal de transactions. Celui-ci n'étant valable que entre 2 sauvegardes complètes, il est inutile de conserver les .trn qui datent d'avant la sauvegarde complète que vous venez de faire. |
|
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() |
Si mode = SIMPLE alors il est impossible de faire de BACKUP des journaux de transaction
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
bon...j'ai du travail, moi
Je vous remercie tous beaucoup !!
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#15 | ||
![]() ![]() ![]() |
Voici pour la réduction du fichier log
Code :
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com