none
Datenbank Fehler nach DB-Check RRS feed

  • Frage

  • Hallo,

    wir haben nach einem Reparatur-Vorgang mit CheckDB (allowDataLoss) noch folgende Meldung im Log:

    Der Block (1:5153672) in der Datenbank mit der ID 12 ist in der GAM als zugeordnet gekennzeichnet, obwohl ihn keine SGAM oder IAM zugeordnet hat.
            Dieser Fehler konnte nicht behoben werden.

    Wir kann ich feststellen, welche Tabelle bzw. welcher Datensatz davon betroffen ist bzw. wie gehe ich damit am besten um ?

    Herzlich Dank für jede Hilfe

    Grüße

    Andreas

    Freitag, 6. September 2019 10:25

Alle Antworten

  • Hallo Andreas,

    schau Dir doch mal den Artikel von Paul Randall dazu an: Finding a table name from a page ID

    Ansonsten solltest Du die Ursache des Fehler klären, meiner Meinung nach 99,9 % Hardwareprobleme und probieren, ob Du mit einem sauberen Restore der Datenbank (inkl. aller Logfilesicherungen) (in eine DB mit anderem Namen) auch wieder einen sauberen Stand bekommen kannst. Falls der Fehler nämlich nicht in den Backups ist, hast Du eine gute Chance ohne Datenverlust aus der Sache raus zu kommen.

    Vorher natürlich noch das aktuelle Log sichern!


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu

    Freitag, 6. September 2019 13:19
    Beantworter
  • Hey Christoph,

    vielen Dank, der Artikel ist echt hilfreich. Ich konnte so ein paar Tabellen identifizieren. Allerdings sind auch ein paar "0" Werte (metaData ObjectID) dabei. Da weiß ich aktuell noch nicht, wie ich damit umgehe. Hast Du einen Empfehlung ?

    Die Fehler sind auch schon in den Backups, wir haben es leider zu spät gemerkt :-(. Hardware-Probleme schließe ich eigentlich aus, das Ganze läuft sehr gut auf einem vSAN, wir hatten allerdings einige abgerochene Verbindungen in TS-Session, da geht meine Vermutung eher hin.

    LG

    Andreas

    Freitag, 6. September 2019 14:43
  • Hallo Andreas,

    wir sprechen also über diesen Fall:

    If you see the ObjectId is 0, that means there was no metadata found. This could be because:

    • The table that the page was part of has been deleted since the page corruption was logged
    • The system catalogs are corrupt in some way
    • The page is corrupt and so incorrect values were used to look up the metadata

    Falls Du den ersten Fall ausschließen kannst, dann sind die Metadaten irgendwie in Mitleidenschaft gezogen worden. Du könntest versuchen über SSIS oder SQL alle Tabellen in eine andere Datenbank zu übertragen. Falls das funktioniert, dann hast du zumindest keinen Datenverlust. Sonst weißt Du dann, welche Tabelle(n) es genau getroffen hat.


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu

    Montag, 9. September 2019 05:52
    Beantworter