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). Cela s'est produit lors d'une lecture de la page (1:143) dans la base de données ID 39 au décalage 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 répétition d'une opération consignée dans la base de données 'Erreur1', une erreur s'est produite au niveau de l'ID d'enregistrement de journal (135:752:2). En règle générale, l'échec spécifique est précédemment consigné en tant qu'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 des 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). Cela s'est produit lors d'une lecture de page (1:160) dans la base de données ID 39 au décalage 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). Cela s'est produit lors d'une lecture de page (1:160) dans la base de données ID 39 au décalage 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 signalera 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 d'autres 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 causeront le Msg 3313 erreur:

SQL Server version Fichier MDF corrompu Fichier MDF fixé par DataNumen SQL Recovery
SQL Server 2014 Erreur9.mdf Erreur9_fixe.mdf

Références: