2009-08-27 3 views
2

Une base de données SQL 2005 qui signale des erreurs de page déchirée m'a été demandée.Aide à l'interprétation de la sortie DBCC CHECKDB liée aux pages déchirées

Je peux rechercher les MsgID et ainsi de suite, mais j'ai juste besoin de quelques pointeurs interprétant la sortie DBCC CHECKDB dans un sens plus général.

Dans cet exemple:

Msg 8909, Level 16, State 1, Line 1 
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8795506764168298496 (type Unknown), page ID (1:106887) contains an incorrect page ID in its page header. The PageId in the page header = (1041:-523272204). 
Msg 8939, Level 16, State 98, Line 1 
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8971733407675449344 (type Unknown), page (0:0). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -4. 
CHECKDB found 0 allocation errors and 37 consistency errors not associated with any single object.

... Apparemment, les erreurs ne sont pas liés à un seul objet (notez que ObjectID et IndexID n'avez pas des valeurs propres). Qu'est-ce que cela signifie exactement? Si ce n'est pas un seul objet alors qu'est-ce que c'est?

Dans cet exemple:

Msg 8939, Level 16, State 98, Line 1 
Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 286034662653952 (type In-row data), page (1:207727). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 62916617 and -1. 
Msg 8964, Level 16, State 1, Line 1 
Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 71780678747160576 (type LOB data). The off-row data node at page (1:443), slot 26, text ID 1509706039296 is not referenced.

... est-il référence aux pages qui contiennent des données ou des pages qui contiennent des index? Il mentionne les données hors ligne mais donne aussi l'ID de l'index. Que signifient les valeurs d'index 0 et 1?

Ceci est d'aider une œuvre de bienfaisance, d'ailleurs, donc toute aide grandement appréciée. Merci. PS: Je ne suis pas encore sur le site, je regarde les journaux dbcc qu'ils m'ont envoyés, donc je ne peux pas encore faire de bricolage.

Edit: Son SQL 2005 v 9.0.3042

Edit: Disons que, vous le savez, hypothétiquement, que les sauvegardes de restauration pourraient ne pas être une option parce que les pages déchirées ont été dans la base de données pendant quelques mois, en raison d'un tiers ne pas remettre les plans de maintenance en place après un changement de serveur, ou un tel scénario. Supposons donc qu'explorer les erreurs et essayer de les réparer ou de les isoler est le seul moyen d'action.

Répondre

1

Paul Randall a pratiquement toutes les réponses dont vous aurez besoin.

Cependant, dans la pratique, vous devriez penser à « restaurer » déjà ...

+0

merci pour le lien, semble très utile – codeulike

+0

J'aurais dû ajouter: si vous ne pouvez pas restaurer, lire est "réparer les mythes" article ... – gbn

1

Je parle d'expérience ici ...

Il signifie erreur que votre base de données est endommagée.

Je voudrais restaurer la dernière sauvegarde que vous avez qui n'a pas cette erreur, et l'utiliser.

Vous pouvez exécuter DBCC pour réparer les dégâts, mais il y a de fortes chances que vous perdiez des données. Je ne recommande pas de faire cela, car la 'restauration/réparation' peut sembler fonctionner mais ne fonctionne pas.