Oire:

Kun yrität liittää .MDF-tietokantaa SQL Server, näet seuraavan virhesanoman:

Tämän pyynnön tietojen noutaminen epäonnistui. (Microsoft.SqlServer.Management.Sdk.Sfc)

Transact-SQL-käskyä tai erää suoritettaessa tapahtui poikkeus. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf ei ole ensisijainen tietokantatiedosto. (Microsoft SQL Server, Virhe: 5171)

missä 'xxx.mdf on liitettävän MDF-tiedoston nimi.

Näyttökuva virhesanomasta:

Kuvakaappaus virheestä "Ei ensisijainen tietokantatiedosto"

Tarkka selitys:

MDF-tiedostossa olevat tiedot tallennetaan sivuina, kukin sivu on 8 kt. Ensimmäistä sivua kutsutaan tiedoston otsikkosivuksi, joka sisältää most tärkeitä tietoja koko tiedostosta, kuten tiedoston allekirjoitus, tiedoston koko, yhteensopivuus jne. Loput sivut sisältävät myös tärkeät tiedot, mukaan lukien sivun allokointitiedot sekä todelliset tiedot.

Jos MDF-tiedoston otsikkosivu tai muut tärkeät hallintasivut ovat vioittuneet tai Microsoft ei tunnista niitä SQL Server, sitten SQL Server luulee, että koko tiedosto ei ole kelvollinen ensisijainen tietokantatiedosto, ja ilmoittaa tämän virheen.

Voit käyttää tuotetta DataNumen SQL Recovery palauttaa tiedot vioittuneesta MDF-tiedostosta ja ratkaista tämä virhe.

Esimerkkitiedostot:

Näyte virheellisistä MDF-tiedostoista, jotka aiheuttavat virheen:

SQL Server versio Viallinen MDF-tiedosto MDF-tiedoston korjannut DataNumen SQL Recovery
SQL Server 2005 Virhe1_1.mdf Virhe1_1_korjattu.mdf
SQL Server 2008 R2 Virhe1_2.mdf Virhe1_2_korjattu.mdf
SQL Server 2012 Virhe1_3.mdf Virhe1_3_korjattu.mdf
SQL Server 2014 Virhe1_4.mdf Virhe1_4_korjattu.mdf