OVH Cloud OVH Cloud

Fichier de transctions

2 réponses
Avatar
Tartopum
Bonjour à tous

J'ai un petit souci. Une de mes DB à un log de plus de 4 go. Je ne m'étonne
qu'à moitié de la taille étant donné que toutes les nuits, j'ai des process
qui tournent avec un nombre incalculable de delete, d'insert et d'update
dans la DB (faut ce qui faut)

J'ai fait un backup du log avec l'option truncate, un compactage du log, de
la DB, etc... Mon fichier ldf conserve sa taille bien que l'espace utilisé
dans celui-ci soit considérablement réduit. J'ai également essayé ceci:
http://support.microsoft.com/?id=272318

Je n'ai absolument pas besoin du fichier log, mes backups son suffisants. Le
seul truc que j'ai trouvé est de détacher la DB puis de l'attacher à nouveau
après avoir viré le fichier log.

Première question: est-il possible de réduire le fichier log autrement
qu'avec des méthodes de bourrin (j'ai honte).

Deuxième question: une fois réduit à une taille raisonnable, si je spécifie
une taille maximum pour le fichier log qui est trop petite, que se
passe-t-il? Les transactions vont-elles quand même se faire?

Question subsidiaire :o): Le bouton "Supprimer" dans les propriétés de la
db, onglet "Journal des transaction" me renvoie systématiquement l'erreur:
"Erreur 5020: Impossible de supprimer de la base de données les données
primaires ou le fichier journal". C'est normal? Cest possible de le faire
quand même?

Mes excuses auprès des "gourous" SQL Server présent sur le groupe si mes
questions sont stupides. Difficile d'être expert dans toutes les matières
(déjà une seule c'est parfois dur)

Merci de m'avoir lu :o)

Gloup

2 réponses

Avatar
Med Bouchenafa[MVP]
Si tu n'as absolument pas besoin de log et que tu t'appuies que sur ta
sauvegarde complète, il vaut mieux configurer ta base en données en mode de
récupération simple. C'est quelque chose que tu peux faire par l'entreprise
Manager en sélectionnant ta base et choisissant le menu propriétés
Tu peux aussi le faire dans l'Analyseur de requêtes par la commande
ALTER DATABASE nomBase SET RECOVERY SIMPLE
Cela a pour effet de vide systématiquement le journal à chaque checkpoint.

Si tu spécifies une taille fixe trop petite et que le journal sature,
SQL/Server produit l'erreur 9002 et te demandera de rajouter de l'espace ou
de vider le journal

C'est normal de ne pas pouvoir supprimer le journal. Il est obligatoirement
présent dans toute base de données.

--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"Tartopum" wrote in message
news:
Bonjour à tous

J'ai un petit souci. Une de mes DB à un log de plus de 4 go. Je ne


m'étonne
qu'à moitié de la taille étant donné que toutes les nuits, j'ai des


process
qui tournent avec un nombre incalculable de delete, d'insert et d'update
dans la DB (faut ce qui faut)

J'ai fait un backup du log avec l'option truncate, un compactage du log,


de
la DB, etc... Mon fichier ldf conserve sa taille bien que l'espace utilisé
dans celui-ci soit considérablement réduit. J'ai également essayé ceci:
http://support.microsoft.com/?id'2318

Je n'ai absolument pas besoin du fichier log, mes backups son suffisants.


Le
seul truc que j'ai trouvé est de détacher la DB puis de l'attacher à


nouveau
après avoir viré le fichier log.

Première question: est-il possible de réduire le fichier log autrement
qu'avec des méthodes de bourrin (j'ai honte).

Deuxième question: une fois réduit à une taille raisonnable, si je


spécifie
une taille maximum pour le fichier log qui est trop petite, que se
passe-t-il? Les transactions vont-elles quand même se faire?

Question subsidiaire :o): Le bouton "Supprimer" dans les propriétés de la
db, onglet "Journal des transaction" me renvoie systématiquement


l'erreur:
"Erreur 5020: Impossible de supprimer de la base de données les données
primaires ou le fichier journal". C'est normal? Cest possible de le faire
quand même?

Mes excuses auprès des "gourous" SQL Server présent sur le groupe si mes
questions sont stupides. Difficile d'être expert dans toutes les matières
(déjà une seule c'est parfois dur)

Merci de m'avoir lu :o)

Gloup





Avatar
Tartopum
Merci pour ta réponse.

Gloup ;o)

"Med Bouchenafa[MVP]" a écrit dans le message de
news:OCy3YC%
Si tu n'as absolument pas besoin de log et que tu t'appuies que sur ta
sauvegarde complète, il vaut mieux configurer ta base en données en mode


de
récupération simple. C'est quelque chose que tu peux faire par


l'entreprise
Manager en sélectionnant ta base et choisissant le menu propriétés
Tu peux aussi le faire dans l'Analyseur de requêtes par la commande
ALTER DATABASE nomBase SET RECOVERY SIMPLE
Cela a pour effet de vide systématiquement le journal à chaque checkpoint.

Si tu spécifies une taille fixe trop petite et que le journal sature,
SQL/Server produit l'erreur 9002 et te demandera de rajouter de l'espace


ou
de vider le journal

C'est normal de ne pas pouvoir supprimer le journal. Il est


obligatoirement
présent dans toute base de données.

--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"Tartopum" wrote in message
news:
> Bonjour à tous
>
> J'ai un petit souci. Une de mes DB à un log de plus de 4 go. Je ne
m'étonne
> qu'à moitié de la taille étant donné que toutes les nuits, j'ai des
process
> qui tournent avec un nombre incalculable de delete, d'insert et d'update
> dans la DB (faut ce qui faut)
>
> J'ai fait un backup du log avec l'option truncate, un compactage du log,
de
> la DB, etc... Mon fichier ldf conserve sa taille bien que l'espace


utilisé
> dans celui-ci soit considérablement réduit. J'ai également essayé ceci:
> http://support.microsoft.com/?id'2318
>
> Je n'ai absolument pas besoin du fichier log, mes backups son


suffisants.
Le
> seul truc que j'ai trouvé est de détacher la DB puis de l'attacher à
nouveau
> après avoir viré le fichier log.
>
> Première question: est-il possible de réduire le fichier log autrement
> qu'avec des méthodes de bourrin (j'ai honte).
>
> Deuxième question: une fois réduit à une taille raisonnable, si je
spécifie
> une taille maximum pour le fichier log qui est trop petite, que se
> passe-t-il? Les transactions vont-elles quand même se faire?
>
> Question subsidiaire :o): Le bouton "Supprimer" dans les propriétés de


la
> db, onglet "Journal des transaction" me renvoie systématiquement
l'erreur:
> "Erreur 5020: Impossible de supprimer de la base de données les données
> primaires ou le fichier journal". C'est normal? Cest possible de le


faire
> quand même?
>
> Mes excuses auprès des "gourous" SQL Server présent sur le groupe si mes
> questions sont stupides. Difficile d'être expert dans toutes les


matières
> (déjà une seule c'est parfois dur)
>
> Merci de m'avoir lu :o)
>
> Gloup
>
>
>