Aller au contenu principal

Réparer une base de données

Solution recommandée

Lorsque la base de données est corrompue, la meilleure solution est d'effectuer une restauration de la base de données depuis une sauvegarde, et non pas de tenter de réparer la base de données.

Outil de réparation

Toutefois, la commande DBCC CHECKDB présente un certain nombre d'options qui peuvent être utilisées pour réparer la base de données.

Risque de perte de données

ATTENTION, certaines options peuvent générer des PERTES DE DONNÉES et ne doivent être utilisées qu'en dernier recours.

Options de réparation

REPAIR_FAST

L'option REPAIR_FAST effectue les réparations mineures qui prennent peu de temps et n'amènent pas de perte de données.

REPAIR_REBUILD

L'option REPAIR_REBUILD procède à une vérification et à une réparation globale qui nécessite plus de temps mais sans risque de perte de données. L'option REPAIR_REBUILD nécessite que la base de données soit en mode mono-utilisateur.

REPAIR_ALLOW_DATA_LOSS

Perte de données possible

L'option REPAIR_ALLOW_DATA_LOSS réalise toutes les tâches de REPAIR_REBUILD et ajoute les tâches supplémentaires pouvant conduire à une PERTE DE DONNÉES (Allocation et suppression de lignes pour corriger des problèmes structuraux et des erreurs de pages et suppression d'objets textes corrompus).

Recommandations

Lorsque vous cherchez à résoudre des problèmes de base de données :

Ordre d'exécution recommandé

  1. Commencez par REPAIR_FAST ou REPAIR_REBUILD

  2. Si cela ne suffit pas, utilisez l'option REPAIR_ALLOW_DATA_LOSS, mais attention, ne perdez pas de vue que l'option REPAIR_ALLOW_DATA_LOSS peut conduire à une PERTE INACCEPTABLE DE DONNÉES IMPORTANTES.

Sauvegarde obligatoire

Nous vous recommandons fortement d'effectuer une sauvegarde de la base de données avant d'utiliser l'option REPAIR_ALLOW_DATA_LOSS.

Utilisation dans une transaction

Pour assurer la récupération de la base de données dans son état d'origine, nous vous suggérons de placer la commande DBCC dans une transaction pour examiner les résultats et annuler la transaction si nécessaire.

Pour en savoir plus

https://msdn.microsoft.com/fr-fr/library/ms176064%28v=sql.120%29.aspx


Restauration préférable

En cas de corruption, privilégiez toujours la restauration depuis une sauvegarde plutôt que la réparation.

Mode mono-utilisateur

REPAIR_REBUILD nécessite que la base soit en mode mono-utilisateur pour éviter les conflits d'accès.

Réparer une base de données - Guide de récupération