sintomo:
Quando si allega un database .MDF in SQL Server, viene visualizzato il seguente messaggio di errore:
SQL Server rilevato un errore di I/O basato sulla coerenza logica: pagina strappata (firma prevista: 0x########; firma effettiva: 0x########). Si è verificato durante una lettura della pagina (#:#) nell'ID database # all'offset ### nel file 'xxxx.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 'xxx.mdf' è il nome del file MDF a cui si accede.
A volte il database .MDF può essere collegato correttamente. Tuttavia, quando si tenta di eseguire un'istruzione SQL, ad esempio
SELEZIONA * DA [TestDB].[dbo].[test_table_1]
riceverai anche il messaggio di errore precedente.
Screenshot del messaggio di errore:
Spiegazione precisa:
I dati nel file MDF sono memorizzati come pagine, ogni pagina è 8KB. SQL Server utilizza due meccanismi per garantire la coerenza e l'integrazione dei dati nella pagina, ovvero checksum o pagina strappata. Entrambi sono opzionali.
If SQL Server rileva che le pagine strappate per alcune delle pagine di dati non sono valide, quindi segnalerà questo errore.
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 l'errore:
SQL Server versione | File MDF corrotto | File MDF riparato da DataNumen SQL Recovery |
SQL Server 2005 | Errore5_1.mdf | Errore5_1_fixed.mdf |
SQL Server 2008 R2 | Errore5_2.mdf | Errore5_2_fixed.mdf |
SQL Server 2012 | Errore5_3.mdf | Errore5_3_fixed.mdf |
SQL Server 2014 | Errore5_4.mdf | Errore5_4_fixed.mdf |