Симптом:
Кога користите DBCC CHECKDB со REPAIR_ALLOW_DATA_LOSS параметар за поправка на оштетена база на податоци .MDF, вака:
DBCC CHECKDB (xxxx, „REPAIR_ALLOW_DATA_LOSS“)
ја гледате следнава порака за грешка:
Msg 5028, Ниво 16, состојба 4, линија 4
Системот не можеше да активира доволно база на податоци за да го обнови дневникот.
Резултати од DBCC за 'xxxx'.
CHECKDB најде 0 грешки при распределбата и 0 грешки во конзистентноста во базата на податоци „xxxx“.
Msg 7909, Ниво 20, состојба 1, линија 4
Поправката на итен режим не успеа. Мора да вратите од резервната копија.
каде што 'xxxx' е името на корумпираната база на податоци за MDF што се поправа.
Порака 5028 грешката не е ниту грешка при распределбата ниту грешка во конзистентноста.
Додека Порака 7909 е сериозна грешка која може да се појави во многу ситуации секогаш кога SQL Server Мислам дека базата на податоци е надвор од обновувањето.
Слика од екранот на порака за грешка:
Прецизно објаснување:
Пораката за грешка (Порака 5028) се чини дека е поврзана со датотеката LOG. Сепак, ова е погрешно известување. Вистинскиот проблем сè уште е предизвикан од расипувањето на базата на податоци на МДФ.
Можете да го користите нашиот производ DataNumen SQL Recovery да ги вратите податоците од оштетената МДФ-датотека и да ја решите оваа грешка.
Примерок датотеки:
Примерок на корумпирани MDF датотеки што ќе предизвикаат Порака 5028 грешка:
SQL Server верзија | Оштетена датотека МДФ | МДФ датотека фиксирана од DataNumen SQL Recovery |
SQL Server 2014 | Грешка 3.mdf | Error3_fixed.mdf |