sintomo:

Quando si tenta di collegare un database .MDF in SQL Server, viene visualizzato il seguente messaggio di errore:

Collegamento del 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 nel file MDF vengono memorizzati come pagine, ogni pagina è 8 KB. La prima pagina è chiamata pagina di intestazione del file, che contiene il file most informazioni importanti sull'intero file, come la firma del file, la dimensione del file, la compatibilità, ecc.

Se la pagina di 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 danneggiato e risolvere questo errore.

File di esempio:

Esempio di file MDF corrotti che causeranno l'errore:

SQL Server versione File MDF danneggiato File MDF corretto da DataNumen SQL Recovery
SQL Server 2005 Errore2_1.mdf Error2_1_fixed.mdf
SQL Server 2008 R2 Errore2_2.mdf Error2_2_fixed.mdf
SQL Server 2012 Errore2_3.mdf Error2_3_fixed.mdf
SQL Server 2014 Errore2_4.mdf Error2_4_fixed.mdf