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 sau a unui lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Antetul fișierului „xxx.mdf” nu este un antet valid pentru fișierul bazei de date. Proprietatea FILE SIZE este incorectă.(Micosoft SQL Server, Eroare: 5172)
unde „xxx.mdf” este numele fișierului MDF care urmează să fie atașat.
Captură de ecran a mesajului de eroare:
Explicație precisă:
Datele dintr-un fișier MDF sunt stocate ca pagini, fiecare pagină având o dimensiune de 8KB. Prima pagină, numită pagina antetului fișierului, conține most informații importante despre întregul fișier, inclusiv semnătura fișierului, dimensiunea, compatibilitatea și alte detalii esentiale.
Dacă pagina antet al 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 pentru a rezolva această eroare.
Exemple de fișiere:
Exemple de fișiere MDF corupte care vor cauza eroarea:
SQL Server versiune | Fișier MDF corupt | Fișier MDF reparat de 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 |