Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

reduire une database et ses log de taille

363 views
Skip to first unread message

OlivierH

unread,
Aug 21, 2009, 10:05:19 AM8/21/09
to
Bonjour � tous,

Pour reduire ma database je fais cela manuellement :

USE madatabase
GO
BACKUP LOG madatabase WITH TRUNCATE_ONLY
DBCC SHRINKFILE(madatabase_log, 50)
DBCC SHRINKDATABASE (madatabase, 10);
DBCC SHRINKDATABASE (madatabase, TRUNCATEONLY);

Seulement j'aimerais le faire en automatique dans mon plan de maintenance,
j'ai bien choisis les objet reduire et compacter la database et aussi
sauvegarde des logs et de la database
mais celle ci ne se reduit pas.

Avez vous une id�e pour le faire dans le plan de maintenance ?

Cordialement
Olivier,

bruno reiter

unread,
Aug 21, 2009, 1:19:37 PM8/21/09
to
pourquoi faire un shrink r�guli�rement?
�a augmente la fragmentation du fichier et oblige une croissance pendant
l'exploitation!
au niveau du log �a augmente inutilement le nombre de VLF.

BR

"OlivierH" <"nospam[contact]"@planitron.com> wrote in message
news:ufdrGkmI...@TK2MSFTNGP05.phx.gbl...

OlivierH

unread,
Aug 21, 2009, 3:18:54 PM8/21/09
to
Bonjour,
Je suis novice dans l'administration de sqlserver et surtout des logs.

J'ai un probleme j'ai mon fichier log qui gonfle et qui peut atteindre
19 go en 1 mois
comment reduire ce fichier log tous les jours, afin que le disque puisse
avoir de l'espace disque
En plus au bout d'un moment sqlserver n'accepte plus les commandes sql,
quand le fichier log est trop gros.

D'avance merci
Olivier

bruno reiter a �crit :
> pourquoi faire un shrink r�guli�rement?
> �a augmente la fragmentation du fichier et oblige une croissance
> pendant l'exploitation!
> au niveau du log �a augmente inutilement le nombre de VLF.


>
> BR
>
> "OlivierH" <"nospam[contact]"@planitron.com> wrote in message
> news:ufdrGkmI...@TK2MSFTNGP05.phx.gbl...

>> Bonjour ďż˝ tous,


>>
>> Pour reduire ma database je fais cela manuellement :
>>
>> USE madatabase
>> GO
>> BACKUP LOG madatabase WITH TRUNCATE_ONLY
>> DBCC SHRINKFILE(madatabase_log, 50)
>> DBCC SHRINKDATABASE (madatabase, 10);
>> DBCC SHRINKDATABASE (madatabase, TRUNCATEONLY);
>>
>> Seulement j'aimerais le faire en automatique dans mon plan de
>> maintenance,
>> j'ai bien choisis les objet reduire et compacter la database et aussi
>> sauvegarde des logs et de la database
>> mais celle ci ne se reduit pas.
>>

>> Avez vous une id�e pour le faire dans le plan de maintenance ?
>>
>> Cordialement
>> Olivier,
>

bruno reiter

unread,
Aug 21, 2009, 3:26:54 PM8/21/09
to
la seule instruction qui vide logiquement le log :
BACKUP LOG
Il faut donc faire un backup log r�guli�rement, toutes les 15mn � toutes les
3 heures selon utilisation de la base.

BR

"OlivierH" <"nospam[contact]"@planitron.com> wrote in message

news:OSxtWTpI...@TK2MSFTNGP02.phx.gbl...

OlivierH

unread,
Aug 21, 2009, 3:39:30 PM8/21/09
to
OK bruno

Dans mon plan de maintenance, je fais un backup complet (sql 2005)
puis apres la reduction de la base de donn�e

Est ce que cela va corriger les choses, car je veux automatiser cela

dans le plan de maintenance

est ce que les objets sql server le permette ?

ps : j'avais consult� cette article pour le shrink database � l'epoue de
mon Sql2000
http://sqlpro.developpez.com/cours/sqlserver/log/

Tu commences � me faire douter ! pourquoi avoir tous ces tutos!

Olivier,


bruno reiter a �crit :


> la seule instruction qui vide logiquement le log :
> BACKUP LOG

> Il faut donc faire un backup log r�guli�rement, toutes les 15mn �

> toutes les 3 heures selon utilisation de la base.
>
> BR
>
> "OlivierH" <"nospam[contact]"@planitron.com> wrote in message
> news:OSxtWTpI...@TK2MSFTNGP02.phx.gbl...
>> Bonjour,
>> Je suis novice dans l'administration de sqlserver et surtout des logs.
>>
>> J'ai un probleme j'ai mon fichier log qui gonfle et qui peut
>> atteindre 19 go en 1 mois
>> comment reduire ce fichier log tous les jours, afin que le disque
>> puisse avoir de l'espace disque
>> En plus au bout d'un moment sqlserver n'accepte plus les commandes
>> sql, quand le fichier log est trop gros.
>>
>> D'avance merci
>> Olivier
>>

>> bruno reiter a �crit :
>>> pourquoi faire un shrink r�guli�rement?
>>> �a augmente la fragmentation du fichier et oblige une croissance
>>> pendant l'exploitation!
>>> au niveau du log �a augmente inutilement le nombre de VLF.


>>>
>>> BR
>>>
>>> "OlivierH" <"nospam[contact]"@planitron.com> wrote in message
>>> news:ufdrGkmI...@TK2MSFTNGP05.phx.gbl...

>>>> Bonjour � tous,


>>>>
>>>> Pour reduire ma database je fais cela manuellement :
>>>>
>>>> USE madatabase
>>>> GO
>>>> BACKUP LOG madatabase WITH TRUNCATE_ONLY
>>>> DBCC SHRINKFILE(madatabase_log, 50)
>>>> DBCC SHRINKDATABASE (madatabase, 10);
>>>> DBCC SHRINKDATABASE (madatabase, TRUNCATEONLY);
>>>>
>>>> Seulement j'aimerais le faire en automatique dans mon plan de
>>>> maintenance,
>>>> j'ai bien choisis les objet reduire et compacter la database et
>>>> aussi sauvegarde des logs et de la database
>>>> mais celle ci ne se reduit pas.
>>>>

>>>> Avez vous une id�e pour le faire dans le plan de maintenance ?
>>>>
>>>> Cordialement
>>>> Olivier,
>>>
>

OlivierH

unread,
Aug 23, 2009, 11:17:34 AM8/23/09
to
Bonjour,

N'a t'il pas un moyen de r�duire les logs dans le plan de maintenance
pour sql serveur 2005 ?


OLivier,


OlivierH a �crit :

Sylvain Lafontaine

unread,
Aug 24, 2009, 11:31:16 PM8/24/09
to
Apr�s avoir fait votre backup (complet ou diff�rentiel), vous devez
�galement faire un backup du fichier Log, tel qu'expliqu� par Bruno.

Afin d'avoir la meilleure chance de r�cup�rer au maximum la bdd apr�s un
d�sastre, il est aussi recommand� de faire un backup du fichier Log plus
souvent que le backup complet; genre � toutes les 15 minutes ou au moins �
toutes les heures.

Une fois votre strat�gie de backup en place, vous pouvez faire un shrink du
fichier Log mais seulement une fois; apr�s cela, cela ne devrait plus �tre
n�cessaire (dans la majorit� des cas), l'espace du fichier log �tant
r�utilis�.

Si vous ne faites pas de backup du fichier Log, n'espace du fichier log ne
peut �tre r�utilis� et ce dernier va en grossissant.

--
Sylvain Lafontaine, ing.
MVP pour � Windows Live Platform �
Courriel: sylvain2009 sylvainlafontaine com (remplissez les blancs, svp.)
Consultant ind�pendant et programmation � distance pour Access et
SQL-Server.


"OlivierH" <"[contact]at[planitron]point[com]"> wrote in message
news:uaCTVTAJ...@TK2MSFTNGP05.phx.gbl...

OlivierH

unread,
Aug 25, 2009, 4:12:54 AM8/25/09
to
Bonjour Sylavin

Dans mon plan de maintenance :
Puis je apres ma sauvegarde complete faire une sauvegarde des log avec
un objet du plan de maintenance,
ou un bien dois je lancer une commande TSQL (backup Log madatabase to
disk:) ?
Comment le fais tu ?

J'espere etre clair .

Cordialement Olivier,


Sylvain Lafontaine a �crit :

Sylvain Lafontaine

unread,
Aug 25, 2009, 10:08:50 AM8/25/09
to
Faire le backup du log dans le plan de maintenance devrait suffire, il n'est
pas n�cessaire de lancer une commande t-SQL s�par�e pour avoir l'effet
d�sir� (un arr�t de croissance du fichier log).

Cependant, vous devez cr�er un plan de maintenance s�par� si vous d�sirez
faire vos backups de log � un interval diff�rent (plus serr�).

--
Sylvain Lafontaine, ing.
MVP pour � Windows Live Platform �
Courriel: sylvain2009 sylvainlafontaine com (remplissez les blancs, svp.)
Consultant ind�pendant et programmation � distance pour Access et
SQL-Server.

"OlivierH" <"nospam[contact]"@planitron.com> wrote in message

news:%23qEy2xV...@TK2MSFTNGP04.phx.gbl...

artintel

unread,
Aug 28, 2009, 9:42:44 AM8/28/09
to
On 25 août, 16:08, "Sylvain Lafontaine"
<sylvainlafontaine2...@yahoo.ca> wrote:
> Faire le backup dulogdans le plan de maintenance devrait suffire, il n'est
> pas nécessaire de lancer une commande t-SQL séparée pour avoir l'effet
> désiré (un arrêt de croissance du fichierlog).
>
> Cependant, vous devez créer un plan de maintenance séparé si vous désirez
> faire vos backups delogà un interval différent (plus serré).

>
> --
> Sylvain Lafontaine, ing.
> MVP pour « Windows Live Platform »
> Courriel: sylvain2009 sylvainlafontaine com (remplissez les blancs, svp.)
> Consultant indépendant et programmation à distance pour Access et

> SQL-Server.
>
> "OlivierH" <"nospam[contact]"@planitron.com> wrote in message
>
> news:%23qEy2xV...@TK2MSFTNGP04.phx.gbl...
>
>
>
> > Bonjour Sylavin
>
> > Dans mon plan de maintenance :
> > Puis je apres ma sauvegarde complete faire une sauvegarde deslogavec un

> > objet du plan de maintenance,
> > ou un bien dois je lancer une commande TSQL (backupLogmadatabase to

> > disk:) ?
> > Comment le fais tu  ?
>
> > J'espere etre clair .
>
> > Cordialement Olivier,
>
> > Sylvain Lafontaine a écrit :
> >> Après avoir fait votre backup (complet ou différentiel), vous devez
> >> également faire un backup du fichierLog, tel qu'expliqué par Bruno.
>
> >> Afin d'avoir la meilleure chance de récupérer au maximum la bdd après un
> >> désastre, il est aussi recommandé de faire un backup du fichierLogplus
> >> souvent que le backup complet; genre à toutes les 15 minutes ou au moins
> >> à toutes les heures.
>
> >> Une fois votre stratégie de backup en place, vous pouvez faire un shrink
> >> du fichierLogmais seulement une fois; après cela, cela ne devrait plus
> >> être nécessaire (dans la majorité des cas), l'espace du fichierlogétant
> >> réutilisé.

>
> >> Si vous ne faites pas de backup du fichierLog, n'espace du fichierlog
> >> ne peut être réutilisé et ce dernier va en grossissant.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Si je suis les differentes interventions de cette discussion, pour
faire un plan de maintenance d'une base SQL LaBase qui me permet de
"maitriser" ce fichier de log qui bloque le serveur SQL, je retiens :

Je fais une fois manuellement pour reduire a peu pres a 100 Mo le
fichier de log LaBase_log ( nom logique du log ) :

-- Sauvegarde complete de LaBase
-- BACKUP LOG LaBase
-- DBCC SHRINKFILE(LaBase_log, 10)

Ensuite, je lance l'assistant de plan de maintenance et j'ai les
options :

Vérifier l'intégrité

Compacter la base de données

Réorganiser l'index

Reconstruire l'index

Mettre à jour les statistiques

Nettoyage d'historique

Exécuter le travail de l'Agent SQL

Sauvegarder la base de données (complète)

Sauvegarder la base de données (journal des transactions)

Je retiens pour une frequence quotidienne (dans mon cas c'est
sufisant) :

Vérifier l'intégrité

Réorganiser l'index

Reconstruire l'index

Mettre à jour les statistiques

Nettoyage d'historique

Sauvegarder la base de données (complète)

Sauvegarder la base de données (journal des transactions)

et le tour est joue :O) ..... Yes ????

artintel

unread,
Aug 28, 2009, 10:01:01 AM8/28/09
to
Juste une modification en relisant :

-- Sauvegarde complete de LaBase

-- BACKUP LOG LaBase WITH TRUNCATE_ONLY
-- DBCC SHRINKFILE(LaBase_log, 10)

OlivierH

unread,
Aug 28, 2009, 10:25:15 AM8/28/09
to
en fait je crois avoir compris pour le fichier ne se reduit pas lors de
ma sauvegarde de mes log
s'il a grossis � 3go c'est qu'il en a eu besoin � un temps donn�e.

Apres mes backup log dans mon maintenance, il vide les log mais laisse
l'espace pour reutiliser pour de nouveaux
log, si tu veux vraiment que tes logs soit reduit :
moi je fais cela :

BACKUP LOG MaDatabase WITH TRUNCATE_ONLY
-- DBCC SHRINKFILE(MaDatabase_log, 50)
DBCC SHRINKDATABASE (MaDatabase, 10);
DBCC SHRINKDATABASE (MaDatabase, TRUNCATEONLY);

J'ai enlev� le shrinkfile d'apres ce que bruno a dit malgre que je n'ai
pas compris au niveau de la fragmentation,
mais cela reduit mes logs et ma database.

Olivier,


artintel a �crit :

artintel

unread,
Aug 31, 2009, 3:44:13 AM8/31/09
to
On 28 août, 16:25, OlivierH <"nospam[contact]"@planitron.com> wrote:
> en fait je crois avoir compris pour le fichier ne se reduit pas lors de
> ma sauvegarde de mes log
> s'il a grossis à 3go c'est qu'il en a eu besoin à un temps donnée.

>
> Apres mes backup log dans mon maintenance, il vide les log mais laisse
> l'espace pour reutiliser pour de nouveaux
> log, si tu veux vraiment que tes logs soit reduit :
> moi je fais cela :
>
> BACKUP LOG MaDatabase WITH TRUNCATE_ONLY
> -- DBCC SHRINKFILE(MaDatabase_log, 50)
> DBCC SHRINKDATABASE (MaDatabase, 10);
> DBCC SHRINKDATABASE (MaDatabase, TRUNCATEONLY);
>
> J'ai enlevé le shrinkfile d'apres ce que bruno a dit malgre que je n'ai

> pas compris au niveau de la fragmentation,
> mais cela reduit mes logs et ma database.
>
> Olivier,
>
> artintel a écrit :

>
>
>
> > Juste une modification en relisant :
>
> > -- Sauvegarde complete de LaBase
> > -- BACKUP LOG LaBase WITH TRUNCATE_ONLY
> > -- DBCC SHRINKFILE(LaBase_log, 10)- Masquer le texte des messages précédents -

>
> - Afficher le texte des messages précédents -

OK merci, effectivement ca a l'air de "marcher" comme cela.

artintel

unread,
Sep 9, 2009, 9:19:36 AM9/9/09
to
On 28 août, 16:25, OlivierH <"nospam[contact]"@planitron.com> wrote:
> en fait je crois avoir compris pour le fichier ne se reduit pas lors de
> ma sauvegarde de mes log
> s'il a grossis à 3go c'est qu'il en a eu besoin à un temps donnée.

>
> Apres mes backup log dans mon maintenance, il vide les log mais laisse
> l'espace pour reutiliser pour de nouveaux
> log, si tu veux vraiment que tes logs soit reduit :
> moi je fais cela :
>
> BACKUP LOG MaDatabase WITH TRUNCATE_ONLY
> -- DBCC SHRINKFILE(MaDatabase_log, 50)
> DBCC SHRINKDATABASE (MaDatabase, 10);
> DBCC SHRINKDATABASE (MaDatabase, TRUNCATEONLY);
>
> J'ai enlevé le shrinkfile d'apres ce que bruno a dit malgre que je n'ai

> pas compris au niveau de la fragmentation,
> mais cela reduit mes logs et ma database.
>
> Olivier,
>
> artintel a écrit :

>
>
>
> > Juste une modification en relisant :
>
> > -- Sauvegarde complete de LaBase
> > -- BACKUP LOG LaBase WITH TRUNCATE_ONLY
> > -- DBCC SHRINKFILE(LaBase_log, 10)- Masquer le texte des messages précédents -

>
> - Afficher le texte des messages précédents -

Je viens de faire un test de restauration sur une machine de test.
J'ai une sauvegarde complete de la base et un bakup du fichier de
logs. Sauvegarder la base de données (complète) , Sauvegarder la base


de données (journal des transactions)

constituee par ces 2 fichiers :

LaBase.bak
LaBaseLog.bak

Je peux restaurer LaBase.bak et j'ai mes donnees. Le fichier
LaBaseLog.bak, sert a quoi, juste epurer les logs, pas besoin de le
"restaurer" ?

Patrice

unread,
Sep 9, 2009, 1:29:27 PM9/9/09
to
Bonjour,

> Je peux restaurer LaBase.bak et j'ai mes donnees. Le fichier
> LaBaseLog.bak, sert a quoi, juste epurer les logs, pas besoin de le
> "restaurer" ?

Le principe en mode "complet" est :
- on fait une sauvegarde compl�te de temps en temps
- on sauve les logs plus fr�quemment

On peut alors remonter � n'importe quel moment en :
- restaurant une sauvegarde compl�te
- puis en restaurant tous les logs jusqu'au moment d�sir�

Ici il semblerait que l'on ne veuille g�rer que des sauvegardes compl�tes de
la base auquel cas il suffirait de la passer en mode "simple" (on ne peut
restaurer que la derni�re suavegarde (forc�ment compl�te) de la base). Voir
la doc :

http://msdn.microsoft.com/fr-fr/library/ms189275.aspx

--
Patrice



artintel

unread,
Sep 16, 2009, 11:17:32 AM9/16/09
to
On 9 sep, 19:29, "Patrice" <http://scribe-fr.blogspot.com/> wrote:
> Bonjour,
>
> > Je peux restaurer LaBase.bak et j'ai mes donnees. Le fichier
> > LaBaseLog.bak, sert a quoi, juste epurer les logs, pas besoin de le
> > "restaurer" ?
>
> Le principe en mode "complet" est :
> - on fait une sauvegarde complète de temps en temps
> - on sauve les logs plus fréquemment
>
> On peut alors remonter à n'importe quel moment en :
> - restaurant une sauvegarde complète
> - puis en restaurant tous les logs jusqu'au moment désiré
>
> Ici il semblerait que l'on ne veuille gérer que des sauvegardes complètes de

> la base auquel cas il suffirait de la passer en mode "simple" (on ne peut
> restaurer que la dernière suavegarde (forcément complète) de la base). Voir

Comment je fais pour restaurer les logs ? Il faut "suprimer" le
fichier labase.ldf et utiliser SQL Server Management Studio pour
restaurer a partir du fichier LaBaseLog.bak ?

Fred BROUARD

unread,
Oct 2, 2009, 6:02:41 PM10/2/09
to
artintel a �crit :

> On 9 sep, 19:29, "Patrice" <http://scribe-fr.blogspot.com/> wrote:
>> Bonjour,
>>
>>> Je peux restaurer LaBase.bak et j'ai mes donnees. Le fichier
>>> LaBaseLog.bak, sert a quoi, juste epurer les logs, pas besoin de le
>>> "restaurer" ?
>> Le principe en mode "complet" est :
>> - on fait une sauvegarde compl�te de temps en temps
>> - on sauve les logs plus fr�quemment
>>
>> On peut alors remonter � n'importe quel moment en :
>> - restaurant une sauvegarde compl�te
>> - puis en restaurant tous les logs jusqu'au moment d�sir�
>>
>> Ici il semblerait que l'on ne veuille g�rer que des sauvegardes compl�tes de

>> la base auquel cas il suffirait de la passer en mode "simple" (on ne peut
>> restaurer que la derni�re suavegarde (forc�ment compl�te) de la base). Voir

>> la doc :
>>
>> http://msdn.microsoft.com/fr-fr/library/ms189275.aspx
>>
>> --
>> Patrice
>
> Comment je fais pour restaurer les logs ? Il faut "suprimer" le
> fichier labase.ldf et utiliser SQL Server Management Studio pour
> restaurer a partir du fichier LaBaseLog.bak ?

Il faut enchainer les deux sauvegardes :
la premi�re complete en mode NORECOVERY et la seconde, journal de
transaction, en mode RECOVERY.

A +


--
Fr�d�ric BROUARD, MVP SQL Server, expert bases de donn�es et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, mod�lisation, tuning, optimisation
Enseignant aux Arts & M�tiers PACA et � L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************

0 new messages