Simptom:

Când încercați să atașați o bază de date .MDF în SQL Server, vedeți următorul mesaj de eroare:

Atașarea bazei de date a eșuat pentru serverul 'xxx'. (Microsoft.SqlServer.Smo)

A apărut o excepție în timpul executării unei instrucțiuni Transact-SQL sau a unui lot. (Microsoft.SqlServer.ConnectionInfo)

Antetul pentru fișierul „xxx.mdf” nu este un antet de fișier de bază de date valid. Proprietatea FILE SIZE este incorectă. (Micosoft SQL Server, Eroare: 5172)

unde „xxx.mdf” este numele fișierului MDF de atașat.

Captură de ecran a mesajului de eroare:

Explicație precisă:

Datele din fișierul MDF sunt stocate ca pagini, fiecare pagină are 8 KB. Prima pagină se numește pagina antet fișier, care conține most informații importante despre întregul fișier, cum ar fi semnătura fișierului, dimensiunea fișierului, compatibilitatea etc.

Dacă pagina antetului fișierului MDF este deteriorată sau coruptă și nu poate fi recunoscută de Microsoft SQL Server, Apoi SQL Server va crede că antetul nu este valid și va raporta această eroare.

Puteți folosi produsul nostru DataNumen SQL Recovery pentru a recupera datele din fișierul MDF corupt și a rezolva această eroare.

Exemple de fișiere:

Exemplu de fișiere MDF corupte care vor cauza eroarea:

SQL Server versiune Fișier MDF corupt Fișier MDF remediat de DataNumen SQL Recovery
SQL Server 2005 Eroare2_1.mdf Eroare2_1_fixed.mdf
SQL Server 2008 R2 Eroare2_2.mdf Eroare2_2_fixed.mdf
SQL Server 2012 Eroare2_3.mdf Eroare2_3_fixed.mdf
SQL Server 2014 Eroare2_4.mdf Eroare2_4_fixed.mdf