none
EventId 17204 RRS feed

  • Question

  • Bonjour,

    J'ai l'événement suivant à répétition:
        FCB::Open failed: Could not open file c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData.mdf for file number 1.  OS error: 2(failed to retrieve text for this error. Reason: 15100).

    A l'endroit indiqué, il y a:
        master.mdf,    mastlog.ldf,    model.mdf,    modellog.ldf,    MSDBData_log.LDF,    tempdb.mdf,    templog.ldf
    mais pas de
        MSDBData.mdf 

    L'événement ERROR 17204 est toujours suivi de l'événement INFORMATION 17137
        Starting up database 'msdb'.
    Et SQL Server EXPRESS devient disponible malgré tout.

    Comment on répare et avec quel outil ?

    Ceux déjà présent sont:
        C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\
            DatabaseMail.exe
            DCEXEC.EXE
            SQLAGENT.EXE
            SQLIOSIM.EXE
            sqlmaint.exe
            sqlservr.exe
            sqlstubss.exe
            xpadsi.exe

    Merci à l'avance

    mardi 19 décembre 2017 00:55

Réponses

  • Si les bases ont simplement été copiées, il faut maintenant les attacher:

    sp_attach_db


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(83 MCPs). MCSA Office 365 https://mvp.microsoft.com/en-us/mvp/Thierry%20Deman-7660 http://base.faqexchange.info

    • Marqué comme réponse Jean_F vendredi 22 décembre 2017 16:49
    jeudi 21 décembre 2017 22:40

Toutes les réponses

  • Bonjour,

    le fichier MDF est nécessaire au bon fonctionnement de cette base.

    Ce lien indique comment recréer la base MSDB

    http://sqlplanet.blogspot.fr/2008/07/recreate-corrupt-msdb-database.html

    Chemin sur SQL2012 C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Install

    A bientôt,


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(83 MCPs). MCSA Office 365 https://mvp.microsoft.com/en-us/mvp/Thierry%20Deman-7660 http://base.faqexchange.info

    mardi 19 décembre 2017 07:37
  • Merci pour votre réponse,

    Selon le lien indiquer, il faut 1)arrêtre le service, puis 2)démarrer le service avec: start sqlservr.exe -c -T3608

    J'arrive à l'arrêter le service avec C:\Windows\System32\services.msc

    La commande donnée pour le démarrer ne fonctionne pas.

    Je démarre avec services.msc et les paramètres stipulés "-c -T3608"

    L'exécution de: SQLCMD.EXE  -S.\sqlexpress  -i "C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Install\instmsdb.sql" -o "instmsdb.sql.log"

    LOG de cette commande:

    ----------------------------------
    Starting execution of INSTMSDB.SQL
    ----------------------------------
    Configuration option 'allow updates' changed from 1 to 1. Run the RECONFIGURE statement to install.
    Changed database context to 'master'.
    Msg 5120, Level 16, State 101, Server PC\SQLEXPRESS, Line 62
    Unable to open the physical file "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData.mdf". Operating system error 2: "2(failed to retrieve text for this error. Reason: 15105)".
    File activation failure. The physical file name "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData_log.LDF" may be incorrect.
    Checking the size of MSDB...
    Msg 945, Level 14, State 2, Server PC\SQLEXPRESS, Line 56
    Database 'msdb' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    Msg 945, Level 14, State 2, Server PC\SQLEXPRESS, Line 2
    Database 'msdb' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    Msg 50000, Level 20, State 127, Server PC\SQLEXPRESS, Line 4
    A problem was encountered accessing msdb. INSTMSDB.SQL terminating.
    ___________________________________________________________________________________

    LOG du répertoire:

    2017-12-19 14:08:09.77 Server      SQL Server is now ready for client connections. This is an informational message; no user action is required.
    2017-12-19 14:08:40.15 spid51      Starting up database 'mssqlsystemresource'.
    2017-12-19 14:08:40.18 spid51      The resource database build version is 10.00.2531. This is an informational message only. No user action is required.
    2017-12-19 14:08:40.21 spid51      Snapshot isolation or read committed snapshot is not available in database 'mssqlsystemresource' because SQL Server was started with one or more undocumented trace flags that prevent enabling database for versioning. Transaction started with snapshot isolation will fail and a query running under read committed snapshot will succeed but will resort back to lock based read committed.
    2017-12-19 14:08:40.46 spid51      Clearing tempdb database.
    2017-12-19 14:08:40.46 spid51      Starting up database 'model'.
    2017-12-19 14:08:41.02 spid51      Starting up database 'tempdb'.
    2017-12-19 14:08:41.24 spid51      Configuration option 'allow updates' changed from 1 to 1. Run the RECONFIGURE statement to install.
    2017-12-19 14:08:41.24 spid51      FILESTREAM: effective level = 0, configured level = 0, file system access share name = 'SQLEXPRESS'.
    2017-12-19 14:08:41.36 spid51      Starting up database 'msdb'.
    2017-12-19 14:08:41.37 spid51      Error: 17204, Severity: 16, State: 1.
    2017-12-19 14:08:41.37 spid51      FCB::Open failed: Could not open file c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData.mdf for file number 1.  OS error: 2(failed to retrieve text for this error. Reason: 15100).
    2017-12-19 14:08:41.38 spid51      Error: 17207, Severity: 16, State: 1.
    2017-12-19 14:08:41.38 spid51      FileMgr::StartLogFiles: Operating system error 2(failed to retrieve text for this error. Reason: 15105) occurred while creating or opening file 'c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData_log.LDF'. Diagnose and correct the operating system error, and retry the operation.
    2017-12-19 14:08:41.40 spid51      Setting database option RECOVERY to SIMPLE for database msdb.
    2017-12-19 14:08:41.41 spid51      Error: 50000, Severity: 20, State: 127.
    2017-12-19 14:08:41.41 spid51      A problem was encountered accessing msdb. INSTMSDB.SQL terminating.


    ___________________________________________________________________________________

    Si j'ai bien compris on veut recréer 2 fichiers. Le script indique qu'ils sont absents ???


    mardi 19 décembre 2017 19:27
  • Bonjour,

    la procédure indique, qu'après la connexion en mode spécial, il faut

    - Détacher la base endommagée : msdb

    - Déplacer ou renommer les fichiers msdbdata.mdf et msdblog.ldf (pour que SQL n'essaye pas de les utiliser)

    Ensuite, seulement on peut lancer le script de création "InstMsdb.sql"

    A bientôt,


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(83 MCPs). MCSA Office 365 https://mvp.microsoft.com/en-us/mvp/Thierry%20Deman-7660 http://base.faqexchange.info

    mercredi 20 décembre 2017 07:02
  • Bonjour,

    Effectivement le rename avait eu lieu entre la déconnexion et la connexion spéciale. 

    Scene 1 prise 2 (rename après la connexion spéciale)

    LOG de cette commande:
    ----------------------------------
    Starting execution of INSTMSDB.SQL
    ----------------------------------
    Configuration option 'allow updates' changed from 0 to 1. Run the RECONFIGURE statement to install.
    Changed database context to 'master'.
    Msg 5120, Level 16, State 101, Server PC\SQLEXPRESS, Line 62
    Unable to open the physical file "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData.mdf". Operating system error 2: "2(failed to retrieve text for this error. Reason: 15105)".
    File activation failure. The physical file name "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData_log.LDF" may be incorrect.
    Checking the size of MSDB...
    Msg 945, Level 14, State 2, Server PC\SQLEXPRESS, Line 56
    Database 'msdb' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    Msg 945, Level 14, State 2, Server PC\SQLEXPRESS, Line 2
    Database 'msdb' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    Msg 50000, Level 20, State 127, Server PC\SQLEXPRESS, Line 4
    A problem was encountered accessing msdb. INSTMSDB.SQL terminating.

    ___________________________________________________________________________________
    LOG du répertoire:
    2017-12-20 12:33:22.75 spid51      Starting up database 'mssqlsystemresource'.
    2017-12-20 12:33:22.77 spid51      The resource database build version is 10.00.2531. This is an informational message only. No user action is required.
    2017-12-20 12:33:22.80 spid51      Snapshot isolation or read committed snapshot is not available in database 'mssqlsystemresource' because SQL Server was started with one or more undocumented trace flags that prevent enabling database for versioning. Transaction started with snapshot isolation will fail and a query running under read committed snapshot will succeed but will resort back to lock based read committed.
    2017-12-20 12:33:23.11 spid51      Clearing tempdb database.
    2017-12-20 12:33:23.11 spid51      Starting up database 'model'.
    2017-12-20 12:33:23.73 spid51      Starting up database 'tempdb'.
    2017-12-20 12:33:23.98 spid51      Configuration option 'allow updates' changed from 0 to 1. Run the RECONFIGURE statement to install.
    2017-12-20 12:33:24.00 spid51      FILESTREAM: effective level = 0, configured level = 0, file system access share name = 'SQLEXPRESS'.
    2017-12-20 12:33:24.15 spid51      Starting up database 'msdb'.
    2017-12-20 12:33:24.16 spid51      Error: 17204, Severity: 16, State: 1.
    2017-12-20 12:33:24.16 spid51      FCB::Open failed: Could not open file c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData.mdf for file number 1.  OS error: 2(failed to retrieve text for this error. Reason: 15100).
    2017-12-20 12:33:24.20 spid51      Error: 17207, Severity: 16, State: 1.
    2017-12-20 12:33:24.20 spid51      FileMgr::StartLogFiles: Operating system error 2(failed to retrieve text for this error. Reason: 15105) occurred while creating or opening file 'c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\MSDBData_log.LDF'. Diagnose and correct the operating system error, and retry the operation.
    2017-12-20 12:33:24.31 spid51      Setting database option RECOVERY to SIMPLE for database msdb.
    2017-12-20 12:33:24.34 spid51      Error: 50000, Severity: 20, State: 127.
    2017-12-20 12:33:24.34 spid51      A problem was encountered accessing msdb. INSTMSDB.SQL terminating.
    ___________________________________________________________________________________
    Le script est exécuté avec les privilèges élevés mais aucun fichier msdb...

    mercredi 20 décembre 2017 19:06
  • Y a t-il eu le détachement de la base MSDB ?

    Le script essaye toujours d'utiliser les fichiers non présents de la base.

    Au pire, essayer de copier ces 2 fichiers provenant d'une autre machine.

    A+


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(83 MCPs). MCSA Office 365 https://mvp.microsoft.com/en-us/mvp/Thierry%20Deman-7660 http://base.faqexchange.info

    jeudi 21 décembre 2017 07:24
  • Y a t-il eu le détachement de la base MSDB ? 

    Selon moi, OUI. Il y a eu l'arrêt des services (SQLBrowser, SQLWriter, MSSQL$SQLEXPRESS). Et redémarrage de MSSQL$SQLEXPRESS avec -c -T3608. Suivi du rename. Ce script ne semble pas la bonne solution pour mon ordi.

    En revanche on trouve sur internet que le répertoire (C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Template Data) est une forme de sauvegarde. J'ai donc renommé (.\DATA) en (.\DATA_last_good). Et effectué une réplique de (.\Template Data) dans (.\DATA). Cette fois, le démarrage ne produit pas d'EvenId 17204. Dans (.\DATA_last_good) il y a 3 BDs dont nortwind.mdf. J'ai copié les 3 BDs. Mais je ne peut pas me connecter sur aucune. Comment on "signale" la présence de ces 3 BDs à SQL Server (SQLEXPRESS) ?

    A+

    jeudi 21 décembre 2017 22:38
  • Si les bases ont simplement été copiées, il faut maintenant les attacher:

    sp_attach_db


    Thierry DEMAN. Exchange MVP. MCSE:Messaging 2013,MCSE:Server Infrastructure 2012(83 MCPs). MCSA Office 365 https://mvp.microsoft.com/en-us/mvp/Thierry%20Deman-7660 http://base.faqexchange.info

    • Marqué comme réponse Jean_F vendredi 22 décembre 2017 16:49
    jeudi 21 décembre 2017 22:40
  • Bonjour Thierry,

    Avec votre lien, j'ai opté pour la solution CREATE DATABASE FOR ATTACH_REBUILD_LOG. Suivi de DBCC CHECKDB.

    ...
    CHECKDB found 0 allocation errors and 0 consistency errors in database 'mssqlsystemresource'.
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.

    Vos réponses m'ont toujours fait progresser. 
    Aujourd'hui l'Observateur d’événements se tait sur cette question.
    Merci beaucoup pour votre support soutenu.

    L.P.
    Québec, Montréal

    vendredi 22 décembre 2017 16:48