OVH Cloud OVH Cloud

Problème journal transactions

3 réponses
Avatar
thierry
Bonsoir,

j'ai mes journaux de transactions qui gonflent trop.
Voici sur quels événements :

Transfert d'une partie des données d'une table A d'une Base A
vers une table B d'une base B :

insert into BaseB..tableB
select * from BaseA..tableA
where tableA.annee = 2003

delete from BaseA..tableA
where tableA.annee = 2003

après une évaluation faite par un sp_spaceused,
il semblerait que les données à transférer représente 600Mo .
Le journal de transaction de la base B est en mode de croissance automatique
à hauteur de 10% et le mode de récupération est simple.
La taille de la base après transfert est logique.
La taille du journal avant transfert est très faible quelques Mo,
mais après le transfert il passe à plus de 4Go !!

De plus le journal de transaction de la base A (configuré de la meme manière
que celui de la base B) passe de quelque Mo à 1,8Go !!

Quelqu'un pourrait il m'expliquer comment cela peut s'expliquer et surtout
comment contourner le problème car mon disque dur sature.
Enfin, comment faire pour que le journal de transaction se réduise
automatiquement après la procédure de transfert ?

Merci d'avance pour vos réponses.
Sincèrement
Thierry

3 réponses

Avatar
Med Bouchenafa
Ceci est le comportement normal de SQL Server quel que soit le mode de
recouvrement utilisé
Le seul moyen de réduire la taille de ce journal durant ces operations est
de le faire en plusieurs transactions plus petites
Il faut trouver un autre critère qui permette de diviser l'année 2003 en
deux ou trois transactions
Vider le journal si nécessaire entre chaque opération
--
Bien cordialement
Med Bouchenafa

"thierry" a écrit dans le message de news:
425d5793$0$27275$
Bonsoir,

j'ai mes journaux de transactions qui gonflent trop.
Voici sur quels événements :

Transfert d'une partie des données d'une table A d'une Base A
vers une table B d'une base B :

insert into BaseB..tableB
select * from BaseA..tableA
where tableA.annee = 2003

delete from BaseA..tableA
where tableA.annee = 2003

après une évaluation faite par un sp_spaceused,
il semblerait que les données à transférer représente 600Mo .
Le journal de transaction de la base B est en mode de croissance
automatique
à hauteur de 10% et le mode de récupération est simple.
La taille de la base après transfert est logique.
La taille du journal avant transfert est très faible quelques Mo,
mais après le transfert il passe à plus de 4Go !!

De plus le journal de transaction de la base A (configuré de la meme
manière
que celui de la base B) passe de quelque Mo à 1,8Go !!

Quelqu'un pourrait il m'expliquer comment cela peut s'expliquer et surtout
comment contourner le problème car mon disque dur sature.
Enfin, comment faire pour que le journal de transaction se réduise
automatiquement après la procédure de transfert ?

Merci d'avance pour vos réponses.
Sincèrement
Thierry



Avatar
thierry
Bonjour Med,

ok merci, je teste.
Pourriez vous me confirmer la commande à lancer entre chaque
transfert pour vider le journal des transactions.
Merci beaucoup pour votre aide.
Thierry
Avatar
Med Bouchenafa
BACKUP LOG NomBase WITH NO_LOG
pourrait faire l'affaire

--
Bien cordialement
Med Bouchenafa

"thierry" a ecrit dans le message de news:
425e2eb0$0$29344$
Bonjour Med,

ok merci, je teste.
Pourriez vous me confirmer la commande ?lancer entre chaque
transfert pour vider le journal des transactions.
Merci beaucoup pour votre aide.
Thierry