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