Symptôme:

Lors de l'utilisation DBCC CHECKDB avec REPAIR_ALLOW_DATA_LOSS paramètre pour réparer une base de données .MDF corrompue, comme ceci:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

vous voyez le message d'erreur suivant:

Msg 824, niveau 24, état 2, ligne 2
SQL Server a détecté une erreur d'E / S basée sur la cohérence logique: id de page incorrect (attendu 1: 143; réel 0:9). Il s'est produit lors d'une lecture de page (1: 143) dans l'ID de base de données 39 à l'offset 0x0000000011e000 dans le fichier 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messages supplémentaires dans le SQL Server le journal des erreurs ou le journal des événements système peut fournir plus de détails. Il s'agit d'une condition d'erreur grave qui menace l'intégrité de la base de données et doit être corrigée immédiatement. Effectuez une vérification complète de la cohérence de la base de données (DBCC CHECKDB). Cette erreur peut être causée par de nombreux facteurs; pour plus d'informations, voir SQL Server Livres en ligne.
Msg 3313, niveau 21, état 1, ligne 2
Lors de la refonte d'une opération journalisée dans la base de données 'Error1', une erreur s'est produite au niveau de l'ID d'enregistrement du journal (135: 752: 2). En règle générale, l'échec spécifique est précédemment enregistré comme une erreur dans le service Journal des événements Windows. Restaurez la base de données à partir d'une sauvegarde complète ou réparez la base de données.
Msg 3414, niveau 21, état 1, ligne 2
Une erreur s'est produite lors de la récupération, empêchant la base de données 'Error1' (39: 0) de restarting. Diagnostiquez les erreurs de récupération et corrigez-les, ou restaurez à partir d'une bonne sauvegarde connue. Si les erreurs ne sont pas corrigées ou attendues, contactez le support technique.
Msg 824, niveau 24, état 2, ligne 2
SQL Server a détecté une erreur d'E / S basée sur la cohérence logique: id de page incorrect (attendu 1: 160; réel 0:41). Il s'est produit lors d'une lecture de la page (1: 160) dans l'ID de base de données 39 à l'offset 0x00000000140000 dans le fichier `` C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messages supplémentaires dans le SQL Server le journal des erreurs ou le journal des événements système peut fournir plus de détails. Il s'agit d'une condition d'erreur grave qui menace l'intégrité de la base de données et doit être corrigée immédiatement. Effectuez une vérification complète de la cohérence de la base de données (DBCC CHECKDB). Cette erreur peut être causée par de nombreux facteurs; pour plus d'informations, voir SQL Server Livres en ligne.
Msg 824, niveau 24, état 2, ligne 4
SQL Server a détecté une erreur d'E / S basée sur la cohérence logique: id de page incorrect (attendu 1: 160; réel 0:41). Il s'est produit lors d'une lecture de la page (1: 160) dans l'ID de base de données 39 à l'offset 0x00000000140000 dans le fichier `` C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messages supplémentaires dans le SQL Server le journal des erreurs ou le journal des événements système peut fournir plus de détails. Il s'agit d'une condition d'erreur grave qui menace l'intégrité de la base de données et doit être corrigée immédiatement. Effectuez une vérification complète de la cohérence de la base de données (DBCC CHECKDB). Cette erreur peut être causée par de nombreux facteurs; pour plus d'informations, voir SQL Server Livres en ligne.

où «Error1» est le nom de la base de données MDF corrompue en cours de réparation.

Msg 3313 indique qu'une opération de journalisation ne peut pas être effectuée.

Capture d'écran du message d'erreur:

Explication précise:

Lorsque CHECKDB ne peut pas effectuer une opération enregistrée, il signale le message d'erreur Msg 3313 et essayez de corriger les erreurs. S'il ne peut pas corriger l'erreur, la récupération échoue et entraînera davantage d'erreurs, telles que Msg 3414 et Msg 824.

Vous pouvez utiliser notre produit DataNumen SQL Recovery pour récupérer les données du fichier MDF corrompu et résoudre cette erreur.

Exemples de fichiers:

Exemples de fichiers MDF corrompus qui entraîneront la Msg 3313 erreur:

SQL Server version Fichier MDF corrompu Fichier MDF corrigé par DataNumen SQL Recovery
SQL Server 2014 Erreur9.mdf Erreur9_fixed.mdf

Références: