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