Sintomu:

Quandu prova à aghjunghje una basa di dati .MDF in SQL Server, vede u missaghju d'errore seguente:

Attach database falluta per u Server 'xxx'. (Microsoft.SqlServer.Smo)

Un'eccezzioni hè accaduta durante l'esecuzione di una dichjarazione Transact-SQL o batch. (Microsoft.SqlServer.ConnectionInfo)

L'intestazione per u schedariu 'xxx.mdf' ùn hè micca un intestazione di file di basa di dati validu. A pruprietà FILE SIZE hè incorrecta. (Micosoft SQL Server, Errore: 5172)

induve 'xxx.mdf' hè u nome di u schedariu MDF per esse attaccatu.

Screenshot di missaghju d'errore:

Spiegazione precisa:

I dati in un schedariu MDF sò guardati cum'è pagine, cù ogni pagina chì hè 8KB in size. A prima pagina, chjamata pagina di l'intestazione di u schedariu, cuntene u most infurmazione impurtante nantu à u schedariu sanu, cumprese a firma di u schedariu, a dimensione, a cumpatibilità, è altri dettagli essenziali.

Se a pagina di l'intestazione di u file MDF hè dannata o corrotta, è ùn pò micca esse ricunnisciuta da Microsoft SQL Server, tandu SQL Server penserà chì l'intestazione ùn hè micca validu è signalà stu errore.

Pudete aduprà u nostru pruduttu DataNumen SQL Recovery à ritruvà i dati da u schedariu MDF currutti è scioglie stu errore.

File di mostra:

Esempi di fugliali MDF corrotti chì causanu l'errore:

SQL Server versione File MDF currutti File MDF riparatu da DataNumen SQL Recovery
SQL Server 2005 Error2_1.mdf Error2_1_fixed.mdf
SQL Server 2008 R2 Error2_2.mdf Error2_2_fixed.mdf
SQL Server 2012 Error2_3.mdf Error2_3_fixed.mdf
SQL Server 2014 Error2_4.mdf Error2_4_fixed.mdf