Interne Inkonsistenz von SQL Server in GROUP BY


7

Ich habe kürzlich eine Datenbank nach einem Festplattenfehler mit wiederhergestellt DBCC CHECKDB WITH REPAIR ALOW DATA LOSS.

Jetzt kann ich Datensätze aus einer Tabellenwertfunktion auswählen, um Verkaufsdatensätze abzurufen. Die Verwendung eines GROUP BY für dieselben Daten führt jedoch zu einem "internen Inkonsistenz" -Fehler.

Das Ausführen von DBCC CHECKDB gibt null Inkonsistenzfehler zurück.

Ich habe alles, was ich weiß, ausgeführt, um zerrissene Seiten zu erkennen, aber keine gefunden.

Wie finde ich die zerrissene Seite oder erzwinge eine Neuerstellung?

Antworten:


6

Grundsätzlich müssen Sie wiederherstellen. Hast du ein Backup?

Lesen Sie während der Wiederherstellung "Missverständnisse bei der Datenbankreparatur" und den Rest der Website von Paul Randal.

Hart, aber wahr.


Diese Datenbank ist seit der letzten Sicherung eine Weile aktiv. Die letzte vollständige Sicherung wurde durchgeführt, während (vermutlich) die vorherige Festplatte bereits ausgefallen ist. Wird die Sicherung also nicht auch verdächtig sein? Mit anderen Worten, ist es nicht so, als würde man ein Backup wiederherstellen, das im aktuellen Zustand erstellt wurde?
Petrus Theron

3

Sie sollten in der Lage sein, die Seite selbst mit DBCC PAGE zu betrachten und festzustellen, ob die Seite noch beschädigt ist und was los ist. Mit welcher Version von SQL Server wurde das Backup erstellt?


SQL Server 2008. Sie sind sich des Service Packs zu diesem Zeitpunkt nicht sicher, ob dies wichtig ist?
Petrus Theron

Die Service Pack-Version sollte keine Rolle spielen. Können Sie den vollständigen Fehler veröffentlichen, den Sie erhalten, wenn Sie die Abfrage mit der Gruppe von ausführen?
Mrdenny
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.