Sintomas:

Kapag sinusubukan na maglakip ng isang .MDF database sa SQL Server, nakikita mo ang sumusunod na mensahe ng error:

Nabigo ang mag-attach ng database para sa Server 'xxx'. (Microsoft.SqlServer.Smo)

Naganap ang isang pagbubukod habang nagpapatupad ng isang pahayag o batch ng Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

Ang header para sa file na 'xxx.mdf' ay hindi isang wastong header ng file ng database. Ang pag-aari ng FILE SIZE ay hindi tama. (Micosoft SQL Server, Error: 5172)

kung saan ang 'xxx.mdf' ay pangalan ng MDF file na mai-kalakip.

Screenshot ng mensahe ng error:

Tiyak na Paliwanag:

Ang data sa isang MDF file ay iniimbak bilang mga pahina, na ang bawat pahina ay 8KB ang laki. Ang unang pahina, na tinatawag na pahina ng header ng file, ay naglalaman ng most mahalagang impormasyon tungkol sa buong file, kabilang ang file signature, laki, compatibility, at iba pang mahahalagang detalye.

Kung ang MDF file header page ay nasira o nasira, at hindi makikilala ng Microsoft SQL Server, Pagkatapos SQL Server iisipin na ang header ay hindi wasto at iulat ang error na ito.

Maaari mong gamitin ang aming produkto DataNumen SQL Recovery upang makuha ang data mula sa sira MDF file at malutas ang error na ito.

Mga Sample na File:

Halimbawa ng mga sira na MDF file na magiging sanhi ng error:

SQL Server bersyon Masirang MDF file Ang MDF file ay naayos ng 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