Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Backup database

6 réponses
Avatar
Fred
Bonjour,
Nous utilisons une base de données sql server 2005 et nous avons des
transaction logs qui grandissent très vite. Nous aimerions créer un job qui
fait un backup journalier ainsi qu'un truncate des logs et un shrink de la DB
...
Quelle est al procédure à suivre (au niveau de la séquence) ?
Quel type de backup ?
Merci d'avance !

6 réponses

Avatar
Fred BROUARD
Fred a écrit :
Bonjour,
Nous utilisons une base de données sql server 2005 et nous avons des
transaction logs qui grandissent très vite. Nous aimerions créer un job qui
fait un backup journalier ainsi qu'un truncate des logs et un shrink de la DB
...
Quelle est al procédure à suivre (au niveau de la séquence) ?
Quel type de backup ?
Merci d'avance !



Seule une sauvegarde du JT permet de préparer le journal à libérer de
l'espace.
Cepandant réduire un fichier est une abération car cela nuit aux
performances.

En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/log/

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
*********************** http://www.sqlspot.com *************************
Avatar
Yann L'ARVOR
De plus, si vous souhaitez faire un truncate des logs, ce que vous n'en
n'avez pas l'utilité, il est préférable alors de passer en mode de
recouvrement simple, afin de se liberer des problèmes de logs.

"Fred BROUARD" a écrit dans le message de news:

Fred a écrit :
Bonjour,
Nous utilisons une base de données sql server 2005 et nous avons des
transaction logs qui grandissent très vite. Nous aimerions créer un job
qui fait un backup journalier ainsi qu'un truncate des logs et un shrink
de la DB ...
Quelle est al procédure à suivre (au niveau de la séquence) ?
Quel type de backup ?
Merci d'avance !



Seule une sauvegarde du JT permet de préparer le journal à libérer de
l'espace.
Cepandant réduire un fichier est une abération car cela nuit aux
performances.

En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlserver/log/

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
*********************** http://www.sqlspot.com *************************


Avatar
Sean McCown
Je suis d'accord avec Yann. C'est toujours preferable de faire un log backup
que les autre choises.


--

Watch my free SQL Server Tutorials at:
<a href="http://MidnightDBA.ITBookworm.com"
target="_new">http://MidnightDBA.ITBookworm.com </a>

Read my book reviews at:
http://www.ITBookworm.com

Blog Author of:
Database Underground -- http://weblog.infoworld.com/dbunderground/
DBA Rant – http://dbarant.blogspot.com




"Yann L'ARVOR" wrote:

De plus, si vous souhaitez faire un truncate des logs, ce que vous n'en
n'avez pas l'utilité, il est préférable alors de passer en mode de
recouvrement simple, afin de se liberer des problèmes de logs.

"Fred BROUARD" a écrit dans le message de news:

> Fred a écrit :
>> Bonjour,
>> Nous utilisons une base de données sql server 2005 et nous avons des
>> transaction logs qui grandissent très vite. Nous aimerions créer un job
>> qui fait un backup journalier ainsi qu'un truncate des logs et un shrink
>> de la DB ...
>> Quelle est al procédure à suivre (au niveau de la séquence) ?
>> Quel type de backup ?
>> Merci d'avance !
>
> Seule une sauvegarde du JT permet de préparer le journal à libérer de
> l'espace.
> Cepandant réduire un fichier est une abération car cela nuit aux
> performances.
>
> En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
> http://sqlpro.developpez.com/cours/sqlserver/log/
>
> 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
> *********************** http://www.sqlspot.com *************************





Avatar
Fred
Bonjour,
Merci pour toutes vos réponses mais ça reste très abstrait.
Je ne travaille pratiquement jamais avec SQL Server 2005 donc mes
connaissances sont très basiques. On utilise un programme avec une DB SQL
Server en arrière-plan.
Tout ce que je veux c'est être sûre d'avoir un backup en cas de problèmes et
également éviter que les transaction logs ne "bouffent" tout l'espace disque.
Qq'un chez nous m'avait conseillé d'utiliser la commande suivante :

BACKUP LOG sysaid TO DISK='xyz.bak'
DBCC SHRINKFILE ('sysaid_log', 100) WITH NO_INFOMSGS
BACKUP LOG sysaid WITH TRUNCATE_ONLY
DBCC SHRINKFILE ('sysaid_log', 100)

USE SysAid
GO
DBCC SHRINKFILE(SysAid_log, 1)
BACKUP LOG SysAid WITH TRUNCATE_ONLY
DBCC SHRINKFILE(SysAid_log, 1)

Que fait cette commande exactement ?
Puis-je envisager de créer un job qui ferait le backup et le truncate des
logs ?
Merci d'avance pour les conseils,


"Sean McCown" a écrit :

Je suis d'accord avec Yann. C'est toujours preferable de faire un log backup
que les autre choises.


--

Watch my free SQL Server Tutorials at:
<a href="http://MidnightDBA.ITBookworm.com"
target="_new">http://MidnightDBA.ITBookworm.com </a>

Read my book reviews at:
http://www.ITBookworm.com

Blog Author of:
Database Underground -- http://weblog.infoworld.com/dbunderground/
DBA Rant – http://dbarant.blogspot.com




"Yann L'ARVOR" wrote:

> De plus, si vous souhaitez faire un truncate des logs, ce que vous n'en
> n'avez pas l'utilité, il est préférable alors de passer en mode de
> recouvrement simple, afin de se liberer des problèmes de logs.
>
> "Fred BROUARD" a écrit dans le message de news:
>
> > Fred a écrit :
> >> Bonjour,
> >> Nous utilisons une base de données sql server 2005 et nous avons des
> >> transaction logs qui grandissent très vite. Nous aimerions créer un job
> >> qui fait un backup journalier ainsi qu'un truncate des logs et un shrink
> >> de la DB ...
> >> Quelle est al procédure à suivre (au niveau de la séquence) ?
> >> Quel type de backup ?
> >> Merci d'avance !
> >
> > Seule une sauvegarde du JT permet de préparer le journal à libérer de
> > l'espace.
> > Cepandant réduire un fichier est une abération car cela nuit aux
> > performances.
> >
> > En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
> > http://sqlpro.developpez.com/cours/sqlserver/log/
> >
> > 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
> > *********************** http://www.sqlspot.com *************************
>
>
>


Avatar
Philippe Bouchardy
Bonjour,



La methode la plus simple et la plus sûr pour limiter l'augmentation trop
important du log et de faire un BACKUP du LOG suivi d'un SHRINK.



BACKUP LOG MON_LOG TO DISK = 'C:BACKUP_LOG.BAK'

Cette commande permet de sauvegarder le log et de le préparer à être vidé
proprement. De cette manière vous êtes capable de revenir à l'instant
crash-1 en remontant le dernier backup full / différentiel et les backups
des logs.



Vous pouvez configurer votre base de données pour faire de l'autoshrink,
dans ce cas là le log devrait etre automatiquement shrinker lorsque vous
faites des Backup.



Vous pouvez aussi forcer le log à revenir à une taille "raisonnable" en
passant la commande manuellement le shrink :

DBCC SHRINKFILE (MON_LOG, MA_TAILLE)



Si vous exécutez un BACKUP LOG WITH TRUNCATE ONLY, cette commande ne
sauvegarde rien, elle permet juste de forcer la libération de VLF afin de
réduire manuellement la taille du log. Je vous déconseille de l'utiliser car
cela invalide la chaine de logs et vous empêchera de remonter votre base
correctement en cas de crash. (MSDN déconseille cette méthode dans le cadre
de l'administration quotidienne)



RDV ici pour les options de backup :
http://msdn.microsoft.com/en-us/library/ms186865.aspx



Cordialement,



Philippe



"Fred" wrote in message
news:
Bonjour,
Merci pour toutes vos réponses mais ça reste très abstrait.
Je ne travaille pratiquement jamais avec SQL Server 2005 donc mes
connaissances sont très basiques. On utilise un programme avec une DB SQL
Server en arrière-plan.
Tout ce que je veux c'est être sûre d'avoir un backup en cas de problèmes
et
également éviter que les transaction logs ne "bouffent" tout l'espace
disque.
Qq'un chez nous m'avait conseillé d'utiliser la commande suivante :

BACKUP LOG sysaid TO DISK='xyz.bak'
DBCC SHRINKFILE ('sysaid_log', 100) WITH NO_INFOMSGS
BACKUP LOG sysaid WITH TRUNCATE_ONLY
DBCC SHRINKFILE ('sysaid_log', 100)

USE SysAid
GO
DBCC SHRINKFILE(SysAid_log, 1)
BACKUP LOG SysAid WITH TRUNCATE_ONLY
DBCC SHRINKFILE(SysAid_log, 1)

Que fait cette commande exactement ?
Puis-je envisager de créer un job qui ferait le backup et le truncate des
logs ?
Merci d'avance pour les conseils,


"Sean McCown" a écrit :

Je suis d'accord avec Yann. C'est toujours preferable de faire un log
backup
que les autre choises.


--

Watch my free SQL Server Tutorials at:
<a href="http://MidnightDBA.ITBookworm.com"
target="_new">http://MidnightDBA.ITBookworm.com </a>

Read my book reviews at:
http://www.ITBookworm.com

Blog Author of:
Database Underground -- http://weblog.infoworld.com/dbunderground/
DBA Rant - http://dbarant.blogspot.com




"Yann L'ARVOR" wrote:

> De plus, si vous souhaitez faire un truncate des logs, ce que vous n'en
> n'avez pas l'utilité, il est préférable alors de passer en mode de
> recouvrement simple, afin de se liberer des problèmes de logs.
>
> "Fred BROUARD" a écrit dans le message de
> news:
>
> > Fred a écrit :
> >> Bonjour,
> >> Nous utilisons une base de données sql server 2005 et nous avons des
> >> transaction logs qui grandissent très vite. Nous aimerions créer un
> >> job
> >> qui fait un backup journalier ainsi qu'un truncate des logs et un
> >> shrink
> >> de la DB ...
> >> Quelle est al procédure à suivre (au niveau de la séquence) ?
> >> Quel type de backup ?
> >> Merci d'avance !
> >
> > Seule une sauvegarde du JT permet de préparer le journal à libérer de
> > l'espace.
> > Cepandant réduire un fichier est une abération car cela nuit aux
> > performances.
> >
> > En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
> > http://sqlpro.developpez.com/cours/sqlserver/log/
> >
> > 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
> > *********************** http://www.sqlspot.com
> > *************************
>
>
>




Avatar
Fred
Bonjour,
Merci pour vos conseils ... j'aurais une dernière requête ...
Est-ce que le "plan" suivant serait acceptable ?
Faire par exemple tous les dimanches un full backup de la db suivi d'un
backup log + dbcc shrinkfile (1 job reprenant les 3 commandes en séquence ou
un job full backup suivi d'un autre job avec les 2 cmds restantes).
Les autres jours de la semaine, uniquement un backup différentiel (ou même
un full vu que c'est assez rapide).
D'avance merci,


"Philippe Bouchardy" a écrit :

Bonjour,



La methode la plus simple et la plus sûr pour limiter l'augmentation trop
important du log et de faire un BACKUP du LOG suivi d'un SHRINK.



BACKUP LOG MON_LOG TO DISK = 'C:BACKUP_LOG.BAK'

Cette commande permet de sauvegarder le log et de le préparer à être vidé
proprement. De cette manière vous êtes capable de revenir à l'instant
crash-1 en remontant le dernier backup full / différentiel et les backups
des logs.



Vous pouvez configurer votre base de données pour faire de l'autoshrink,
dans ce cas là le log devrait etre automatiquement shrinker lorsque vous
faites des Backup.



Vous pouvez aussi forcer le log à revenir à une taille "raisonnable" en
passant la commande manuellement le shrink :

DBCC SHRINKFILE (MON_LOG, MA_TAILLE)



Si vous exécutez un BACKUP LOG WITH TRUNCATE ONLY, cette commande ne
sauvegarde rien, elle permet juste de forcer la libération de VLF afin de
réduire manuellement la taille du log. Je vous déconseille de l'utiliser car
cela invalide la chaine de logs et vous empêchera de remonter votre base
correctement en cas de crash. (MSDN déconseille cette méthode dans le cadre
de l'administration quotidienne)



RDV ici pour les options de backup :
http://msdn.microsoft.com/en-us/library/ms186865.aspx



Cordialement,



Philippe



"Fred" wrote in message
news:
> Bonjour,
> Merci pour toutes vos réponses mais ça reste très abstrait.
> Je ne travaille pratiquement jamais avec SQL Server 2005 donc mes
> connaissances sont très basiques. On utilise un programme avec une DB SQL
> Server en arrière-plan.
> Tout ce que je veux c'est être sûre d'avoir un backup en cas de problèmes
> et
> également éviter que les transaction logs ne "bouffent" tout l'espace
> disque.
> Qq'un chez nous m'avait conseillé d'utiliser la commande suivante :
>
> BACKUP LOG sysaid TO DISK='xyz.bak'
> DBCC SHRINKFILE ('sysaid_log', 100) WITH NO_INFOMSGS
> BACKUP LOG sysaid WITH TRUNCATE_ONLY
> DBCC SHRINKFILE ('sysaid_log', 100)
>
> USE SysAid
> GO
> DBCC SHRINKFILE(SysAid_log, 1)
> BACKUP LOG SysAid WITH TRUNCATE_ONLY
> DBCC SHRINKFILE(SysAid_log, 1)
>
> Que fait cette commande exactement ?
> Puis-je envisager de créer un job qui ferait le backup et le truncate des
> logs ?
> Merci d'avance pour les conseils,
>
>
> "Sean McCown" a écrit :
>
>> Je suis d'accord avec Yann. C'est toujours preferable de faire un log
>> backup
>> que les autre choises.
>>
>>
>> --
>>
>> Watch my free SQL Server Tutorials at:
>> <a href="http://MidnightDBA.ITBookworm.com"
>> target="_new">http://MidnightDBA.ITBookworm.com </a>
>>
>> Read my book reviews at:
>> http://www.ITBookworm.com
>>
>> Blog Author of:
>> Database Underground -- http://weblog.infoworld.com/dbunderground/
>> DBA Rant - http://dbarant.blogspot.com
>>
>>
>>
>>
>> "Yann L'ARVOR" wrote:
>>
>> > De plus, si vous souhaitez faire un truncate des logs, ce que vous n'en
>> > n'avez pas l'utilité, il est préférable alors de passer en mode de
>> > recouvrement simple, afin de se liberer des problèmes de logs.
>> >
>> > "Fred BROUARD" a écrit dans le message de
>> > news:
>> >
>> > > Fred a écrit :
>> > >> Bonjour,
>> > >> Nous utilisons une base de données sql server 2005 et nous avons des
>> > >> transaction logs qui grandissent très vite. Nous aimerions créer un
>> > >> job
>> > >> qui fait un backup journalier ainsi qu'un truncate des logs et un
>> > >> shrink
>> > >> de la DB ...
>> > >> Quelle est al procédure à suivre (au niveau de la séquence) ?
>> > >> Quel type de backup ?
>> > >> Merci d'avance !
>> > >
>> > > Seule une sauvegarde du JT permet de préparer le journal à libérer de
>> > > l'espace.
>> > > Cepandant réduire un fichier est une abération car cela nuit aux
>> > > performances.
>> > >
>> > > En cas d'urgence, lire l'article que j'ai écrit à ce sujet :
>> > > http://sqlpro.developpez.com/cours/sqlserver/log/
>> > >
>> > > 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
>> > > *********************** http://www.sqlspot.com
>> > > *************************
>> >
>> >
>> >