Windows - IIS sérült metaadatbázisának helyreállítása

Az "Internet szolgáltatáskezelő" ("Internet Services Manager") felügyeleti konzol segítségével lehet az IIS (Internet Information Services) beállításait tároló adatbázist menteni és visszatölteni. Ha viszont megsérül az adatbázis nem indítható el a felügyeleti konzol és így a helyreállítást sem lehet elvégezni. Nincs más út, kézzel kell bizonyos műveleteket végrehajtani, ami azért is jó, mert több lehetőségünk van és még akkor is sikerülhet, ha nincs biztonsági másolatunk.
Figyelem!
Az alábbi lépéseket szigorú következetességgel kell végrehajtani, különben nem indulnak el az IIS részszolgáltatásai (POP3, IMAP, stb.). Ha a "MetaBase.bin" fájl átnevezése szükséges, akkor nem lehet törölni vagy egy másik mappába másolni, hanem át kell nevezni.
Hol található a metaadatbázis?
A %systemroot%\system32\inetsrv mappában található "MetaBase.bin" fájlban.
Mit tárol a metaadatbázis?
Minden beállítást, amit a Felügyeleti eszközök > Internet szolgáltatáskezelő (Administrative Tools > Internet Services Manager) konzolban látunk. Tehát az általunk létrehozott és a "gyári" Web, FTP helyeket, SMTP, NNTP szolgáltatást/helyeket és ezek minden beállítását.
Mentés és helyreállítás az MMC-vel
Amíg minden rendben van, a Felügyeleti eszközök > Internet szolgáltatáskezelő (Administrative Tools > Internet Services Manager) konzol segítségével lehet az IIS metaadatbázisát menteni és helyreállítani. Indítsuk el, kattintsunk a jobboldali egérgombbal a kezelt számítógép nevére és lépjünk a "Konfiguráció biztonsági mentése/visszaállítása" ("Backup/Restore Configuration") menüre, majd a "Biztonsági másolat létrehozása" ("Create backup") gombra. Adjunk neki nevet és máris megjelenik a listában. A visszaállításhoz nyissuk meg ugyanezt az ablakot, válasszuk ki a listából valamelyik korábbi mentést - célszerűen időben a legutolsót - és kattintsunk a "Visszaállítás" ("Restore") gombra. Ekkor az IIS újraindul és immár a helyreállított adatbázissal folytatja a munkát.
Ha nem indul az MMC
Ha megsérül vagy hiányzik a "MetaBase.bin" fájl, akkor a felügyeleti konzol hibajelzéssel, majd kilépéssel reagál. Sérült adatbázis mellett nem indítható el, így a helyreállítást sem tudjuk elvégezni. Ekkor van szükségünk az alábbi módszerek valamelyikének alkalmazására.
Helyreállítás biztonsági másolatból
Tegyük fel, hogy készítettünk az MMC-vel biztonsági másolatot. Ennek helye a %systemroot%\system32\inetsrv\MetaBack mappában van. A mentésnél megadott névvel és MDx (x = sorszám) kiterjesztéssel szereplő fájlok tulajdonképpen a "MetaBase.bin" átnevezett másolatai. Visszaállításnál az MMC is innen állítja vissza az eredeti állományt. Kézzel - MMC nélkül - az alábbi lépésekkel lehet elvégezni a visszaállítást:
  • Állítsuk le az IIS összes szolgáltatását: indítsunk el egy parancssori ablakot és írjuk be:
net stop iisadmin /y
  • Nevezzük át az eredeti "MetaBase.bin"-t, "MetaBase.bad"-ra.
  • Másoljuk át a %systemroot%\system32\inetsrv\MetaBack mappában található legutolsó mentést (nézzük a fájllétrehozás dátumát) a %systemroot%\system32\inetsrv könyvtárba.
  • Nevezzük át a *.MDx fájlt "MetaBase.bin"-re
  • Indítsuk újra a számítógépet.
Helyreállítás régi mentésből
Szemfülesebb rendszergazdák készítenek biztonsági másolatot a "MetaBase.bin" fájlról (leállított IIS mellett). Gyakorlatilag mindegy, hogy az Intézővel vagy a "Biztonsági másolat" ("Backup") segédprogrammal, esetleg egy külső gyártó által készített biztonsági másolat készítő alkalmazással, lényeg, hogy rendelkezésre áll egy helyes beállításokat tartalmazó "MetaBase.bin" fájl. Ekkor a sérült állományt így lehet kicserélni a másolattal:
  • Indítsunk el egy parancssori ablakot és állítsuk le az IIS-t:
net stop iisadmin /y
  • Nevezzük át az eredeti "MetaBase.bin"-t, "MetaBase.bad"-ra.
  • Másoljuk át a %systemroot%\system32\inetsrv\ mappában a "MetaBase.bin" fájlt.
  • Indítsuk újra a számítógépet.
Helyreállítás az átmeneti állományból
Gond akkor van, ha egyáltalán nincs mentésünk, ekkor már csak a jó szerencsében bízhatunk, ugyanis az IIS bizonyos műveleteknél készít egy ideiglenes másolatot a "MetaBase.bin"-ről, amit utána le is töröl. Ha szerencsénk van és még megvan, ebből helyreállíthatjuk a rendszert. Keressünk a %systemroot%\system32\inetsrv\ mappában "MetaBase.bak" vagy "MetaBase.bin.bak" nevű fájlokat. Bármelyiket találtuk meg hajtsuk végre a következő lépéseket:
  • Indítsunk el egy parancssori ablakot és állítsuk le az IIS-t:
net stop iisadmin /y
  • Nevezzük át az eredeti "MetaBase.bin"-t, "MetaBase.bad"-ra.
  • Nevezzük át a "MetaBase.bak" vagy "MetaBase.bin.bak" fájlt "MetaBase.bin"-re.
  • Indítsuk újra a számítógépet.