Oire:

Käytettäessä DBCC TARKISTUSB with REPAIR_ALLOW_DATA_LOSS parametri vioittuneen .MDF-tietokannan korjaamiseksi, kuten tämä:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

näet seuraavan virhesanoman:

Msg 5028, taso 16, tila 4, linja 4
Järjestelmä ei voinut aktivoida tarpeeksi tietokantaa lokin uudelleenrakentamiseksi.
DBCC-tulokset haulle 'xxxx'.
CHECKDB löysi 0 kohdennusvirhettä ja 0 johdonmukaisuusvirhettä tietokannasta 'xxxx'.
Msg 7909, taso 20, tila 1, linja 4
Hätätilan korjaus epäonnistui. Sinun on palautettava varmuuskopiosta.

missä 'xxxx' on korjattavan MDF-tietokannan nimi.

Viesti 5028 virhe ei ole kohdennusvirhe tai johdonmukaisuusvirhe.

Vaikka Viesti 7909 on vakava virhe, jota voi esiintyä monissa tilanteissa aina SQL Server luulen, että tietokanta on palautuksen ulkopuolella.

Näyttökuva virhesanomasta:

Tarkka selitys:

Virheilmoitus (Viesti 5028) näyttää liittyvän LOG-tiedostoon. Tämä on kuitenkin väärä ilmoitus. Todellisen ongelman aiheuttaa edelleen MDF-tietokannan vioittuminen.

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

Esimerkkitiedostot:

Näyte vioittuneista MDF-tiedostoista, jotka aiheuttavat Viesti 5028 virhe:

SQL Server versio Viallinen MDF-tiedosto MDF-tiedoston korjannut DataNumen SQL Recovery
SQL Server 2014 Virhe3.mdf Virhe3_korjattu.mdf