IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

LSN et TempDB


Sujet :

Administration SQL Server

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut LSN et TempDB
    Bonjour

    Les services de mon instance ne veulent plus démarrer, j'ai en effet ce message d 'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error: 9003, Severity: 20, State: 6
    The LSN (97957:16:270) passed to log scan in database 'tempdb' is invalid.
    En cherchant un peu j'ai trouvé des reponses a ce pb mais toutes supposaient que l instance etait demarrée et que le pb etait sur une autre base que Temp, de mon coté ce n'est donc pas le cas

    j'aimerai autant que possible eviter de désinstaller / réinstaller l instance puis restore de mes bases utilisateurs

    y aurait il une solution ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    bonjour,

    est-ce que c'est le seul msg d'erreur ? Pourrais-tu poster le log complet ? J'aurais bien dit qu'il pourrait s'agir d'un pb avec la base model ....

    Merci

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    + éventuellement regarder s'il n'y a pas un pb matériel là dessous, bien que le message suggère autre chose.

    David B.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    J'ai reussi à regler le soucis

    La base TEMPDB est situé sur un disque (D) alors que les autres bases "systemes" sont sur le C

    J'ai supprimé tous les fichiers ldf et mdf de la temps sur C , D (Le log se compose de 2 ldf dont un present sur le C)

    Le restart des services a recrée les fichiers physiques sur le C, je les ai ensuite déplacés et redémarré à nouveau les services

    Ce qui a résolu le pb

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Le pb est survenu a nouveau ce jour

    Le serveur a été redemarré cette nuit mais il n y a pas eu d arret propre de l instance et des services
    Je precise que nous sommes en SQL Server 2000

    Petite question : quand la tempdb se recrée elle se recrée en C: alors que son fichier physique est en D: du coup je dois deplacer le fichier

    Est ce normal ? (j'imagine que oui mais n en suis pas totalement sur)

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Si les fichiers de tempdb sont définis sur D:, ils doivent être recréés sur D: au démarrage, pas sur C:

    Peux-tu poster le résultat de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select name, filename , size/128 from tempdb..sysfiles
    merci,

    David B.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tempdev       D:\sql_data\tempdb\tempdb.mdf     6758
    templog  C:\Program Files\Microsoft SQL Server\MSSQL\data\templog.ldf     0
    tempdb_1_Log        D:\sql_data\templog.ldf  1
    (3 row(s) affected)

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    1) Avoir deux fichiers pour le journal de transactions ne sert à rien, car les fichiers sont accédés séquentiellement. L'un des deux peut être supprimé, mais il faudra probablement redémarrer l'instance ensuite.
    2) Au redémarrage, ton fichier de données de 6,7Gb doit être recréé sur le D:\, c'est celui-là qui est utilisé. S'il en existe un autre (un fichier de données MDF) sur le C:, c'est probablement dû à un ancien fichier qui n'est plus utilisé, car quand tu déplaces tempdb, SQL Server ne supprime pas les anciens fichiers.

    David B.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    En fait je supprime celui du C et celui du D

    Je lance le service SQl Server

    Celui du C est recrée pas celui du D
    Je deplace donc celui du C sur le D
    et a ce moment l instance accepte de redemarrer

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    1) Supprimer le log file sur le D:\
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter database tempdb remove file 'tempdb_1_Log'
    GO
    + redémarrer l'instance + supprimer le fichier manuellement D:\sql_data\templog.ldf.

    2) Déplacer le fichier LDF restant sur le D:\
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter database tempdb modify file (name='templog', filename='D:\sql_data\templog.ldf')
    + redémarrer l'instance + supprimer le fichier manuellement C:\Program Files\Microsoft SQL Server\MSSQL\DATA\templog.ldf

    David B.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    je me rends compte que j ai ete imprecis

    Je parle des fichier mdf et non ldf

    effectivement j ai 2 ldfs et ca ne sert a rien mais , et pour reprendre mon post précédent :

    En fait je supprime le mdf celui du C et celui du D

    Je lance le service SQl Server

    Le mdf du C est recrée pas celui du D
    Je deplace donc celui du C sur le D
    et a ce moment l instance accepte de redemarrer

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Citation Envoyé par Guigsounet Voir le message
    Je parle des fichier mdf et non ldf
    Dans la sortie de tempdb..sysfiles je ne vois qu'un seul fichier de données.

    David B.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    et oui d'ou ma question

    Comment se fait il que quand je supprime les mdfs (c et d) et que je restart mon service, ce soir le mdf du C qui soit recrée et que je suis obligé de le deplacer pour que l instance demarre

  14. #14
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Tu peux poster le contenu de l'errorlog lorsque tu redémarres ?

    merci,

    David B.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Dans le premier screen on voit le pb d origine (LSN)
    je supprime lors tous les fichiers physiques de TEMPDB


    Dans le second le serveur n'arrive pas a utiliser le mdf du C de tempdb
    Manque de place, j'en fait donc

    dans le 3e il ne trouve pas le MDF du D
    Je copie le mdf du C sur le D et la ca fonctionne
    Images attachées Images attachées    

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Hello,

    Il doit manquer une étape 2bis. Il ne peut pas tenter de démarrer sur un C:\...\tempdb.mdf et à l'étape suivante sur un D:\...\tempdb.mdf. Il y a une modification de tempdb.dbo.sysfiles entre les 2.

    David B.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    qui se ferait de maniere automatique ?

  18. #18
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    C'est comme s'il y avait un ALTER DATABASE tempdb MODIFY FILE entre les étapes 2 et 3, ça ne peut être que manuel. Il doit manquer des infos. Par exemple à l'étape 2, s'il tente de recréer le fichier sur C:\, c'est qu'il doit être configuré sur C:\... dans tempdb.dbo.sysfiles dès le départ, pas sur D:\. Donc pour qu'il cherche un tempdb.mdf sur D:\ à l'étape suivante, c'est que la valeur de filename dans tempdb.do.sysfiles a changé de C:\ vers D:\

    Si qq'un d'autre a une idée...

    David B.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. la base tempdb est pleine
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/07/2006, 08h22
  2. base de données tempdb
    Par Royd938 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/04/2006, 16h07
  3. [ASE][12.5.1]probleme sur la base tempdb
    Par dngaya dans le forum Sybase
    Réponses: 2
    Dernier message: 04/01/2006, 16h31
  4. Fonctionnement tempdb
    Par bendj dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 07h57
  5. HELP!!Base de Données tempdb qui explose!!
    Par mohamed dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/07/2005, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo