none
Exchange 2010 Database corrupt - Ungültiger Seitenlink !? RRS feed

  • Frage

  • Hallo zusammen, 

    Ich habe bei einem Exchangeserver von uns seit ca 2h ein Problem mit dem Infromationsspeicher. Im Ereignislog wird dazu folgenes angezeigt : 

    MSExchangeIS (3368) First Storage Group: Ungültiger Seitenlink (Fehler -338) in B-Tree (ObjectId: 122, PgnoRoot: 51) von Datenbank D:\Exchange07\Mailbox\First Storage Group\Mailbox Database.edb (51 => 18727311, 3122317039).

    Dieser Fehler tritt im Sekunden takt auf - das erste mal um 10:07 - gegen 11:00 sind dann die ersten Anrufe reingekommen das Outlook sich nicht mehr mit dem Exchange verbinden kann. 

    Ein Blick auf den Server zeigt, das alle Dienste gestartet sind. Zugriff auf OWA oder über Outlook aber nicht möglich mit der Meldung das der Server offline sei. 

    Daraufhin habe ich zunächst ein CHKDSK auf das Volume mit der Exchangedatenbank ausgeführt und nach dem Neustart konnte ich mich auch wieder mit Outlook Web Access verbinden, aber sobald ich eine Mail schicken wollte kam der folgende Fehler : 

    Exception
    Exception type: Microsoft.Exchange.Data.Storage.StoragePermanentException
    Exception message: Could not get properties.
    
    Call stack
    bei Microsoft.Exchange.Data.Storage.MapiPropertyBag.GetProperties(IList`1 propertyDefinitions) bei Microsoft.Exchange.Data.Storage.StoreObjectPropertyBag.InternalLoad(PropertyDefinition[] properties, Boolean forceReload) bei Microsoft.Exchange.Data.Storage.StoreObjectPropertyBag..ctor(StoreSession session, MapiProp mapiProp, Origin origin, PropertyDefinition[] autoloadProperties, Boolean canSaveOrDisposeMapiProp) bei Microsoft.Exchange.Data.Storage.StoreObjectPropertyBag..ctor(StoreSession session, MapiProp mapiProp, Origin origin, PropertyDefinition[] autoloadProperties) bei Microsoft.Exchange.Data.Storage.Item.InternalBindItem(StoreSession session, StoreObjectId itemId, Byte[] changeKey, ItemBindOption itemBindOption, PropertyDefinition[] allPropsToLoad) bei Microsoft.Exchange.Data.Storage.Item.InternalBind[T](StoreSession session, StoreId id, ItemBindOption itemBindOption, PropertyDefinition[] allPropsToLoad) bei Microsoft.Exchange.Data.Storage.Item.InternalBind[T](StoreSession session, StoreId id, PropertyDefinition[] allPropsToLoad) bei Microsoft.Exchange.Data.Storage.UserConfigurationCache.Get(String configName, StoreObjectId folderId) bei Microsoft.Exchange.Data.Storage.UserConfigurationManager.InternalGetUserConfiguration(StoreId folderId, String configurationName, UserConfigurationTypes freefetchDataType) bei Microsoft.Exchange.Clients.Owa.Core.UserConfigurationUtilities.GetUserConfiguration(String configurationName, UserContext userContext) bei Microsoft.Exchange.Clients.Owa.Core.RecipientCacheTransaction..ctor(String configurationName, UserContext userContext) bei Microsoft.Exchange.Clients.Owa.Core.AutoCompleteCache.GetCache(OwaContext owaContext) bei Microsoft.Exchange.Clients.Owa.Basic.EditMessage.RenderMostRecentRecipients(TextWriter writer) bei ASP.forms_basic_basiceditmessage_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) bei System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) bei System.Web.UI.Page.Render(HtmlTextWriter writer) bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    
    Inner Exception
    Exception type: Microsoft.Mapi.MapiExceptionJetDatabaseCorruption
    Exception message: MapiExceptionJetDatabaseCorruption: Unable to get properties on object. (hr=0x80004005, ec=-338) Diagnostic context: Lid: 18969 EcDoRpcExt2 called [length=494] Lid: 27161 EcDoRpcExt2 returned [ec=0x0][length=598][latency=0] Lid: 23226 --- ROP Parse Start --- Lid: 27962 ROP: ropOpenMessage [3] Lid: 27962 ROP: ropGetPropsSpecific [7] Lid: 17082 ROP Error: 0xFFFFFEAE Lid: 26465 Lid: 21921 StoreEc: 0xFFFFFEAE Lid: 27962 ROP: ropExtendedError [250] Lid: 1494 ---- Remote Context Beg ---- Lid: 1238 Remote Context Overflow Lid: 16668 Lid: 16668 Lid: 27420 Lid: 39497 Lid: 55881 StoreEc: 0x8004010F Lid: 27676 Lid: 23580 Lid: 36537 Lid: 5587 StoreEc: 0x8004010F Lid: 65193 Lid: 16668 Lid: 27420 Lid: 39497 Lid: 55881 StoreEc: 0x8004010F Lid: 27676 Lid: 23580 Lid: 36537 Lid: 5587 StoreEc: 0x8004010F Lid: 65193 Lid: 16668 Lid: 21970 StoreEc: 0xFFFFFEAE PropTag: 0x7C080102 Lid: 21233 StoreEc: 0xFFFFFEAE Lid: 29468 Lid: 23580 Lid: 6995 StoreEc: 0xFFFFFEAE Lid: 36537 Lid: 5587 StoreEc: 0xFFFFFEAE Lid: 65193 Lid: 5203 StoreEc: 0xFFFFFEAE Lid: 5257 StoreEc: 0xFFFFFEAE Lid: 1750 ---- Remote Context End ---- Lid: 26849 Lid: 21817 ROP Failure: 0xFFFFFEAE Lid: 20385 Lid: 28577 StoreEc: 0xFFFFFEAE Lid: 32001 Lid: 29953 StoreEc: 0xFFFFFEAE
    
    Call stack
    bei Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, Object objLastErrorInfo) bei Microsoft.Mapi.MapiProp.GetProps(PropTag[] propTagsRequested) bei Microsoft.Exchange.Data.Storage.MapiPropertyBag.GetProperties(IList`1 propertyDefinitions)

    Also wieder auf den Exchange und dort zunächst eseutil /g ausgeführt : 

    D:\Exchange07\Mailbox\First Storage Group>eseutil /g "Mailbox Database.edb"
    
    Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
    Version 08.03
    Copyright (C) Microsoft Corporation. All Rights Reserved.
    
    Initiating INTEGRITY mode...
            Database: Mailbox Database.edb
      Temp. Database: TEMPINTEG5228.EDB
    
    Checking database integrity.
    
                         Scanning Status (% complete)
    
              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
    
    Integrity check completed.
    Database is CORRUPTED, the last full backup of this database was on 11/14/2012 2
    1:27:29
    
    
    
    
    Operation terminated with error -1206 (JET_errDatabaseCorrupted, Non database fi
    le or corrupted db) after 27.409 seconds.
    

    Ich bin jetzt schon dabei parallel eine Datensicherung wiederherzustellen - möchte aber schon gerne versuchen die jetzige Datenbank zu retten. 

    Kennt irgendjemand diesen Fehler ? zu den ungültigen Seitenlinks kann ich nicht viel finden.

    Ich mache jetzt noch eine kopie der jetzigen Datenbank und versuche darüber eine eseutil /p laufen zu lassen. 

    Oder gibt es evtl noch einen anderen Weg ? 

    Grüße

    Florian

    Donnerstag, 15. November 2012 11:28

Antworten

  • Hi Florian,

    Datensicherung zurückspielen und Logs nachfahren ist vermutlich der beste Weg.

    Eseutil /p solltest Du eigentlich nur verwenden, wenn Du die Möglichkeit mit dem Backup nicht hast. Schau mal hier: http://technet.microsoft.com/de-de/library/aa996773(v=exchg.65).aspx

    Verwenden Sie "Eseutil /P", wenn Sie eine Datenbank nicht mehr aus einer Sicherung wiederherstellen können oder wenn kein vollständiges Rollforward der Transaktionsprotokolle mehr erfolgen kann.

    Viele Grüße

    Timo

    • Als Antwort vorgeschlagen Alex Pitulice Freitag, 16. November 2012 16:15
    • Als Antwort markiert Alex Pitulice Montag, 3. Dezember 2012 10:48
    Donnerstag, 15. November 2012 12:11
  • OK - Wiederherstellung ist durchgelaufen und es läuft wieder.
    • Als Antwort markiert Alex Pitulice Montag, 3. Dezember 2012 10:48
    Donnerstag, 15. November 2012 14:14

Alle Antworten