sintomo:

Quando si usa DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS parametro per riparare un database .MDF danneggiato, come questo:

DBCC CHECKDB (xxxx, "REPAIR_ALLOW_DATA_LOSS")

viene visualizzato il seguente messaggio di errore:

Messaggio 824, livello 24, stato 2, riga 2
SQL Server ha rilevato un errore di I / O basato sulla coerenza logica: pageid non corretto (previsto 1: 143; effettivo 0:9). Si è verificato durante una lettura della pagina (1: 143) nel database ID 39 all'offset 0x0000000011e000 nel file 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messaggi aggiuntivi in SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire ulteriori dettagli. Questa è una condizione di errore grave che minaccia l'integrità del database e deve essere corretta immediatamente. Completare un controllo completo della coerenza del database (DBCC CHECKDB). Questo errore può essere causato da molti fattori; Per ulteriori informazioni, vedere SQL Server Libri in linea.
Messaggio 3313, livello 21, stato 1, riga 2
Durante la ripetizione di un'operazione registrata nel database "Errore1", si è verificato un errore all'ID del record di registro (135: 752: 2). In genere, l'errore specifico viene precedentemente registrato come errore nel servizio Registro eventi di Windows. Ripristina il database da un backup completo o ripristina il database.
Messaggio 3414, livello 21, stato 1, riga 2
Si è verificato un errore durante il ripristino che ha impedito al database "Error1" (39: 0) di ristarting. Diagnosticare gli errori di ripristino e correggerli o ripristinarli da un backup noto. Se gli errori non vengono corretti o previsti, contattare il supporto tecnico.
Messaggio 824, livello 24, stato 2, riga 2
SQL Server rilevato un errore di I / O basato sulla coerenza logica: ID pagina non corretto (previsto 1: 160; effettivo 0:41). Si è verificato durante una lettura della pagina (1: 160) nell'ID database 39 all'offset 0x00000000140000 nel file 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messaggi aggiuntivi in SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire ulteriori dettagli. Questa è una condizione di errore grave che minaccia l'integrità del database e deve essere corretta immediatamente. Completare un controllo completo della coerenza del database (DBCC CHECKDB). Questo errore può essere causato da molti fattori; Per ulteriori informazioni, vedere SQL Server Libri in linea.
Messaggio 824, livello 24, stato 2, riga 4
SQL Server rilevato un errore di I / O basato sulla coerenza logica: ID pagina non corretto (previsto 1: 160; effettivo 0:41). Si è verificato durante una lettura della pagina (1: 160) nell'ID database 39 all'offset 0x00000000140000 nel file 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Messaggi aggiuntivi in SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire ulteriori dettagli. Questa è una condizione di errore grave che minaccia l'integrità del database e deve essere corretta immediatamente. Completare un controllo completo della coerenza del database (DBCC CHECKDB). Questo errore può essere causato da molti fattori; Per ulteriori informazioni, vedere SQL Server Libri in linea.

dove "Error1" è il nome del database MDF danneggiato da riparare.

Msg 3313 indica che non è possibile eseguire un'operazione di registro.

Screenshot del messaggio di errore:

Spiegazione precisa:

Quando CHECKDB non può eseguire un'operazione registrata, riporterà il messaggio di errore Msg 3313 e prova a correggere gli errori. Se non è possibile correggere l'errore, il ripristino non riesce e porterà a più errori, come Msg 3414 e Msg 824.

Puoi usare il nostro prodotto DataNumen SQL Recovery per recuperare i dati dal file MDF danneggiato e risolvere questo errore.

File di esempio:

Esempio di file MDF corrotti che causeranno l'estensione Msg 3313 errore:

SQL Server versione File MDF danneggiato File MDF corretto da DataNumen SQL Recovery
SQL Server 2014 Error9mdf Error9_fixed.mdf

Riferimenti: