sintomo:
Quando si tenta di allegare un database .MDF in SQL Server, viene visualizzato il seguente messaggio di errore:
Allega database non riuscito per il server 'xxx'. (Microsoft.SqlServer.Smo)
Si è verificata un'eccezione durante l'esecuzione di un'istruzione o un batch Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
L'intestazione del file 'xxx.mdf' non è un'intestazione di file di database valida. La proprietà FILE SIZE non è corretta.(Micosoft SQL Server, Errore:5172)
dove 'xxx.mdf' è il nome del file MDF da allegare.
Screenshot del messaggio di errore:
Spiegazione precisa:
I dati in un file MDF vengono archiviati come pagine, ciascuna delle quali ha una dimensione di 8 KB. La prima pagina, chiamata pagina di intestazione del file, contiene il file most informazioni importanti sull'intero file, inclusa la firma del file, le dimensioni, la compatibilità e altri dettagli essenziali.
Se la pagina dell'intestazione del file MDF è danneggiata o danneggiata e non può essere riconosciuta da Microsoft SQL Server, poi SQL Server penserà che l'intestazione non è valida e 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 | Errore2_1.mdf | Errore2_1_fixed.mdf |
SQL Server 2008 R2 | Errore2_2.mdf | Errore2_2_fixed.mdf |
SQL Server 2012 | Errore2_3.mdf | Errore2_3_fixed.mdf |
SQL Server 2014 | Errore2_4.mdf | Errore2_4_fixed.mdf |