sintomo:

Quando si usa DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS parametro per riparare un database .MDF corrotto, 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 rilevato un errore I/O basato sulla coerenza logica: pageid errato (previsto 1:143; effettivo 0:9). Si è verificato durante una lettura della pagina (1:143) nell'ID database 39 all'offset 0x0000000011e000 nel file 'C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf'. Messaggi aggiuntivi nel file SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire maggiori dettagli. Questa è una grave condizione di errore 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 nell'ID del record di registro (135:752:2). In genere, l'errore specifico viene precedentemente registrato come errore nel servizio Registro eventi di Windows. Ripristinare il database da un backup completo o riparare il database.
Messaggio 3414, livello 21, stato 1, riga 2
Si è verificato un errore durante il ripristino che ha impedito la risoluzione del database 'Error1' (39:0).tarting. Diagnostica gli errori di ripristino e correggili o ripristina da un backup noto e funzionante. Se gli errori non vengono corretti o non 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: pageid errato (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 nel file SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire maggiori dettagli. Questa è una grave condizione di errore 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: pageid errato (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 nel file SQL Server il registro degli errori o il registro degli eventi di sistema possono fornire maggiori dettagli. Questa è una grave condizione di errore 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 corrotto che viene riparato.

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

Screenshot del messaggio di errore:

Spiegazione precisa:

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

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

File di esempio:

Esempio di file MDF corrotti che causeranno il Messaggio 3313 errore:

SQL Server versione File MDF corrotto File MDF riparato da DataNumen SQL Recovery
SQL Server 2014 Errore9.mdf Errore9_risolto.mdf

Riferimenti: