-
log tempdb saturé
hello ,
je rencontre depuis Quelques semaines un message d'erreur bloquant sur mon serveur SQL server
le message d'erreur est le suivant
Code:
The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'. SQL Error 9002"
j'ai bien vérifier l'espace disque ou ils sont stockée les Fichier de tempdb j'ai également d'assez espace disque
l'Autogrowth est bien configuré en illimitée avec 1G
je vois pas d'autre chose a vérifier , comment je peut résolu ce pb car il devient bloquant surtout En production
Thanks
-
Limité à 1 go c'est comme si vous limitiez à 1 centilitre le réservoir de votre voiture...
C'est pour cela qu'il n'arrive pas à "loger" les transactions dans un si petit journal !
Le journal de transactions et non le"LOG" comme vous dites, enregistre toutes les données transitoires dès qu'il y a écriture (INSERT, UPDATE, DELETE, MERGE, TRUNCATE, CREATE, ALTER, DROP ...) dans la base ceci afin de garantir l'intégrité des mises à jour (éviter les incohérences) en cas de panne... comme en cas d'annulation d'une transaction (ROLLBACK).
Pour cela il faut de la place. Cette place dépend de l'activité transactionnelle de votre base. On conseille généralement entre 30 et 10 % du volume globale des données pour la taille du journal de transactions.
- 30 % pour les petites bases de moins de 30 Go,
- 25 % de 30 à 100 Go
- 20 % de 100 à 300 Go
- 15 % de 300 à 1 To
- 10 % de plus de 1 To
Quelle est la taille des données de votre base ? Pour le savoir, lancez la commande :
EXEC sp_spacused;
dans le contexte de la base cible et communiquer nous la taille des données.
Il existe différents niveaux de journalisation des transactions :
- FULL : journalisation maximale sans purge (la croissance du journal est illimitée) permet la reprise à un point dans le temps.
- BULK LOGGED : journalisation minimale sans purge (la croissance du journal est illimitée) ne permet pas la reprise à un point dans le temps.
- SIMPLE : journalisation minimale avec purge automatique - ne permet pas la reprise à un point dans le temps.
Dans tous les cas une transaction peut saturer le journal si elle est importante ou si elle a commencé il y a longtemps et n'a toujours pas été refermée pas un COMMIT ou un ROLLBACK.
A +