1. Разумевање оштећења МДФ датотеке
МДФ датотеке су основа SQL Serverмеханизам складиштења података. Овим критичним компонентама је потребно брзо откривање и одговарајуће методе опоравка када се оштете како би се смањио губитак података. Хајде да сазнамо више о MDF датотекама и како да поправимо оштећене MDF датотеке.
1.1 У чему је МДФ датотека SQL Server?
МДФ (Мастер Датабасе Филе) служи као главна датотека података у SQL Server који садржи све корисничке податке као што су табеле, индекси, ускладиштене процедуре, погледи и други објекти базе података. Ова датотека има и шему и стварне податке, што је чини мost важан део било ког SQL Server база података. Екстензија .мдф идентификује ову примарну датотеку која ради заједно са датотекама евиденције (.лдф). Ове датотеке евиденције прате информације о трансакцијама које су потребне за операције опоравка.
1.2 Уобичајени узроци оштећења МДФ датотеке
Ваше МДФ датотеке се могу оштетити из неколико разлога:
- Прекиди струје или неправилно SQL Server искључивања
- Кварови хардвера, посебно проблеми подсистема за складиштење података
- Лоши сектори на диску за складиштење
- Напади малвера или вируса на незаштићене системе
- Грешке у систему датотека које утичу на складиштење базе података
- Грешке у софтверу SQL Server себе
Падови система током активних операција базе података могу знатно повећати ризик од оштећења јер могу зауставити важне операције писања.
1.3 Корисни савети за спречавање оштећења МДФ датотеке
Ево како можете да заштитите своје МДФ датотеке од оштећења:
- Правите редовне резервне копије и аутоматски проверавајте њихов интегритет
- Користите ЦХЕЦКСУМ као опцију за проверу странице за све базе података
- Покрените команде БАЦКУП ДАТАБАСЕ са ЦХЕЦКСУМ
- Набавите УПС да бисте избегли изненадна искључења
- Често проверавајте простор на диску да бисте спречили проблеме са складиштењем
- Ажурирај SQL Server и оперативни систем са безбедносним закрпама
- Покрени ДБЦЦ ЦХЕЦКДБ редовно на свим базама података
1.4 Уобичајени знаци оштећене МДФ датотеке
Брзо откривање оштећења МДФ датотеке може вам уштедети много времена за опоравак. Испод су неки од уобичајених знакова оштећења МДФ датотеке:
- Поруке о грешци када покушате да приложите или приступите бази података
- База података се приказује у режиму СУСПЕЦТ или РЕЦОВЕРИ_ПЕНДИНГ
- И/О грешке у SQL Server евиденције, посебно грешке 823, 824 или 825
- Грешке у алокацији на GAM/SGAM/IAM/PFS страницама.
- Грешке конзистентности током операција базе података
- Изненадни проблеми са перформансама
У наставку су наведене неке од уобичајених порука о грешци када је MDF датотека оштећена:
Није успело преузимање података за овај захтев. (Microsoft.SqlServer.Management.Sdk.Sfc) xxx.mdf није примарна датотека базе података. (Microsoft SQL Server, Грешка: 5171)
Прикључивање базе података није успело за сервер „xxx“. (Microsoft.SqlServer.Smo) Заглавље за датотеку „xxx.mdf“ није важеће заглавље датотеке базе података. Својство FILE SIZE је нетачно. (Micosoft) SQL Server, Грешка:5172)
SQL Server детектовао грешку И/О засновану на логичкој доследности: нетачна контролна сума (очекивана: 0к2абц3894; стварна: 0к2ебе208е). Догодило се током читања странице (1:1) у бази података ИД 12 на офсету 0к00000000002000 у датотеци 'ккк.мдф'. Додатне поруке у SQL Server дневник грешака или дневник системских догађаја могу пружити више детаља. Ово је озбиљно стање грешке које угрожава интегритет базе података и мора се одмах исправити. Довршите потпуну проверу доследности базе података (ДБЦЦ ЦХЕЦКДБ). Ова грешка може бити узрокована многим факторима; за више информација погледајте SQL Server Боокс Онлине (Мицрософт SQL Server, Грешка:824)
SQL Server откривена је грешка у улазно/излазним операцијама заснована на логичкој конзистентности: поцепана страница (очекивани потпис: 0x########; стварни потпис: 0x#######).
2. Бесплатне ручне методе за поправку МДФ датотеке
SQL ServerИзворне методе пружају бесплатне методе за поправку оштећених MDF датотека. Ови ручни приступи могу спасити базе података којима не можете приступити, али захтевају пажљиво извршавање.
2.1 Враћање из недавне резервне копије
Њихost поуздан метод опоравка сtarтс са враћањем из недавне резервне копије. Овај приступ заобилази корупцију враћањем у здраво стање. Можете да користите наредбу РЕСТОРЕ ДАТАБАСЕ са одговарајућим параметрима ФРОМ ДИСК-а да вратите своју базу података у стање пре оштећења. Интегритет ваших података остаје нетакнут без угрожавања односа између објеката базе података.
2.2 Користите DBCC CHECKDB са опцијама REPAIR
ДБЦЦ ЦХЕЦКДБ вам даје уграђене могућности поправке ако враћање резервне копије није опција:
DBCC CHECKDB (database_name, REPAIR_ALLOW_DATA_LOSS)
WITH ALL_ERRORMSGS, NO_INFOMSGS;
Команда има три нивоа поправке:
- РЕПАИР_ФАСТ: Задржава синтаксу само за компатибилност уназад; не врши поправке
- ПОПРАВКА_ОБНОВА: Врши поправке без губитка података
- РЕПАИР_АЛЛОВ_ДАТА_ЛОСС: Исправља све пријављене грешке, али може жртвовати неке податке
Имамо Свеобухватни водич за DBCC CHECKDB који покрива све опције и сценарије (доступна је и званична документација компаније Microsoft ovde).
2.3 Ризици коришћења REPAIR_ALLOW_DATA_LOSS
Опције поправке долазе са ризицима. REPAIR_ALLOW_DATA_LOSS може потпуно уклонити оштећене странице, што доводи до трајног губитка података. Такође игнорише ограничења спољног кључа, што може нарушити релациони интегритет између табела. Дакле,
- Пре поправке, требало би ручно да направите резервну копију оштећене МДФ датотеке.
- Након поправке, требало би да проверите ограничења користећи DBCC CHECKCONSTRAINTS да бисте пронашли недостатке у пословној логици.
2.4 Користите DBCC CHECKTABLE
ДБЦЦ ЦХЕЦКТАБЛЕ вам даје а tarдобио приступ за корупцију у одређеним табелама:
DBCC CHECKTABLE (table_name, REPAIR_ALLOW_DATA_LOSS);
Ова команда гледа на једну табелу уместо на целу базу података. Ради брже и има мање ризика када знате које табеле имају проблема.
2.5 Подесите базу података на режим ХИТНО и ЈЕДНОГ_КОРИСНИКА
Тешко оштећеним базама података ће можда бити потребан ХИТНИ режим као последња опција:
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DBCC CHECKDB ([DatabaseName], REPAIR_ALLOW_DATA_LOSS);
Администратори базе података добијају приступ само за читање у хитном режиму ако нормалан приступ не успе. Процес поново гради дневник трансакција, али губите конзистентност трансакција и прекидате ланац РЕСТОРЕ. Направите резервну копију датотека базе података пре него што покушате да извршите хитне поправке да бисте одржали отворене опције опоравка.
2.6 Метод „хаковања“
Ако не можете да приложите оштећену MDF датотеку у SQL Server, можете испробати метод „хакованог прикључивања“:
- Направите лажну базу података са истим именом као ваша оштећена база података
- Скините лажну базу података ван мреже
- Избришите лажне датотеке базе података
- Копирајте оштећену МДФ датотеку на локацију лажне датотеке
- Донесите базу података на мрежу
Овај метод неће поправити корупцију, али помаже SQL Server препозна датотеку и омогућава команде за поправку.
2.7 Поправка оштећене главне базе података
Оштећење главне базе података захтева ове кораке:
- Копирајте оштећену датотеку master.mdf као корисничку базу података на други сервер.
- Користите ручне методе или DataNumen SQL Recovery опоравити предмете из њега.
- Извезите опорављене објекте у скрипту.
- Поново изградите главну базу података
на оригиналном серверу.
- Покрените скрипту генерисану у кораку 3 да бисте поново креирали кориснике и објекте.
КСНУМКС. Користећи DataNumen SQL Recovery да поправите оштећену МДФ датотеку
Ако горе наведене ручне методе не успеју, можете испробати професионалне алате, као што су DataNumen SQL Recovery, што вам помаже да поправите оштећене МДФ датотеке које SQL Serverуграђени алати не могу да поднесу. Софтвер користи напредне алгоритме да би добио мost могуће податке из оштећених датотека и пружа вам много опција за опоравак.
3.1 Поправите једну датотеку
Процес поправке једне датотеке је једноставан и лак за праћење:
- Затворите све програме који могу променити МДФ датотеку.
- Start DataNumen SQL Recovery.
- Изаберите оштећену МДФ датотеку тако што ћете укуцати њено име или кликнути на дугме за претрагу.
- Укључите све повезане НДФ датотеке ако су вам потребне.
- Изаберите формат изворне базе података или дозволите систему да га открије:
- Изаберите где желите да сачувате опорављену датотеку.
- Кликните на „Сtarт Рецовери” дугме, софтвер ће се повезати са вашим SQL Server инстанце са именом вашег сервера и детаљима за пријаву.
- Затим ће софтвер поправити вашу датотеку својим напредним алгоритмима за опоравак.
Видећете траку напретка која показује како се поправка одвија. Када се то заврши, можете прегледати своју опорављену базу података SQL Server Студио за управљање.
3.2 Поправите серију датотека
Компаније са неколико оштећених база података уштедеће време серијским поправкама. Можете додати све своје оштећене МДФ датотеке у ред чекања, поставити жељене поставке за излаз и сtarт опоравка. Ова функција одлично функционише у пословним окружењима која морају да реше системске проблеме са базом података.
Детаљни кораци:
- Идите на картицу „Батцх Рецовери“.
- Кликните на „Додај датотеке“ да бисте додали више SQL Server МДФ датотеке за поправку.
- Такође можете кликнути на „Претражи датотеке“ да бисте пронашли датотеке које треба поправити на локалном рачунару.
- Кликните на „Сtarт дугме за опоравак”.
- Све ПСТ датотеке на листи биће поправљене једна по једна.
3.3 Опоравак са чврстог диска, слике диска или резервних копија датотека
DataNumen SQL Recovery ради више од стандардног опоравка. Може да добије СКЛ податке од:
- ВМВаре ВМДК датотеке диска виртуелне машине
- ВХД датотеке виртуелног рачунара
- ИСО датотеке слика
- Виндовс НТБацкуп датотеке (.bkf)
- Ацронис Труе Имаге датотеке (.тиб)
- Нортон Гхost датотеке (.гхо, .в2и)
Ова флексибилност је одличан начин да вратите своје податке у различитим сценаријима, као што су:
- Избришете базу података SQL Server.
- Ви форматирате чврсти диск.
- Квар чврстог диска.
- Виртуелни диск у ВМВаре-у или Виртуал ПЦ-у је оштећен или оштећен и на њему чувате базу података.
- Датотека резервне копије на медију за резервну копију је оштећена и не можете да вратите датотеку базе података са ње.
- Датотека слике диска је оштећена и из ње не можете опоравити своју МДФ датотеку.
У горе наведеним случајевима, можда ћете и даље моћи да се опоравите SQL Server податке директно са чврстог диска, слике диска или резервне копије.
Ако имате при руци слику диска или резервне датотеке, можете да урадите следеће:
- Кликните на дугме „…“ да бисте изабрали изворну датотеку.
- У дијалогу „Отвори датотеку“ изаберите „Све датотеке (*.*)“ као филтер.
- Изаберите слику диска или датотеку резервне копије као изворну датотеку коју треба поправити.
- Подесите излазно фиксно име датотеке базе података, као што је Е_Дриве_фикед.мдф.
Ако желите да се директно опоравите са чврстог диска, можете да користите DataNumen Disk Image да бисте креирали датотеку слике диска чврстог диска као изворну датотеку у DataNumen SQL Recovery:
- Изаберите чврсти диск или диск.
- Подесите име датотеке излазне слике.
- Кликните на „Сtarт Клонирање” дугме за креирање датотеке слике диска са чврстог диска/диска.
3.4 Опоравак обрисаних записа и табела
Ако грешком обришете неке записе у табели или неке табеле у бази података, можете их опоравити путем DataNumen SQL Recovery.
За необрисане записе, они се можда неће појавити у истом редоследу пре него што буду избрисани, тако да ћете након опоравка можда морати да користите СКЛ изразе да бисте пронашли ове необрисане записе.
За необрисане табеле, ако се њихова имена не могу повратити, они ће бити преименовани у „Рецоверед_Табле1“, „Рецоверед_Табле2“ и тако даље…
3.5 Опоравак од Рансомваре-а или вируса
Стандардне методе обично не успевају да поправе базе података шифроване малвером. DataNumen SQL Recovery користи посебне алгоритме за добијање података из МДФ датотека шифрованих рансомваре-ом без плаћања нападача. Софтвер може да опорави датотеке чак и након што је шифровање оштетило њихова заглавља или унутрашње структуре.
3.6 Поправите враћену датотеку
Ако су МДФ датотеке опорављене од DataNumen Data Recovery (или друге алатке за опоравак података) не могу да се прикаче SQL Server, ове датотеке и даље могу бити оштећене. У таквом случају користите DataNumen SQL Recovery да их поново поправи, како би се осигурало да су њихови подаци доступни у SQL Server.
3.7 Опоравак из tempdb.mdf датотеке
Када SQL Server ради, сачуваће сав темпоrarи податке, укључујући сав темпоrarи табеле и процедуре складиштења, у темпуrarи бази података под називом темпдб.мдф. Када дође до катастрофе података, ако не можете да повратите жељене податке из постојеће мдф и повезаних ндф датотека, можда ћете и даље моћи да повратите своје податке из темпдб.мдф користећи DataNumen SQL Recovery, као што следи:
- Стоп SQL Server Дата Енгине сервис.
- Коришћење Виндовс функције претраге за претрагу датотеке темпдб.мдф на рачунару где је SQL Server инстанца је инсталирана.
- Након што пронађете датотеку tempdb.mdf, можете је одабрати као изворну датотеку коју треба опоравити и користити је DataNumen SQL Recovery да га поврати.
3.8 Примери датотека
SQL Server верзија | Оштећена МДФ датотека | МДФ фајл поправљен од DataNumen SQL Recovery |
SQL Server 2014 | Еррор1_4.мдф | Еррор1_4_фикед.мдф |
SQL Server 2014 | Еррор2_4.мдф | Еррор2_4_фикед.мдф |
SQL Server 2014 | Еррор4_4.мдф | Еррор4_4_фикед.мдф |
SQL Server 2014 | Еррор5_4.мдф | Еррор5_4_фикед.мдф |
4. Услуге опоравка на мрежи
Онлајн сервиси вам пружају другачији начин за поправку SQL база података када преузимање и инсталирање софтвера за опоравак није могуће или практично. Ови онлајн сервиси помажу у поправљању оштећених MDF датотека без потребе за дубоким техничким знањем.
4.1 Једноставне процедуре опоравка
Услуге опоравка СКЛ-а на мрежи прате процес који је једноставан за коришћење:
- Отпремите оштећену датотеку – Ваша оштећена МДФ датотека се безбедно преноси на сервер провајдера услуге преко шифроване везе
- Обрада и анализа – Услуга скенира вашу датотеку специјализованим алгоритмима и идентификује податке који се могу вратити
- Прегледајте резултате опоравка – Можете да прегледате објекте базе података који се могу опоравити пре него што извршите потпуни опоравак
- Преузмите поправљену датотеку – Поправљена датотека базе података или СКЛ скрипте постају доступне након обраде
Ове услуге у облаку раде са SQL Server датотеке базе података као што су .mdf, .ndf и .ldf. Величина датотеке и озбиљност оштећења одређују време обраде, које се креће од неколико секунди до неколико минута.
4.2 за и против
Предности опоравка на мрежи:
- Не морате да инсталирате софтвер – савршено за ограничена окружења или кориснике без администраторских права
- Ради на било ком оперативном систему укључујући мацОС и Линук
- Спреман за употребу без преузимања великих софтверских пакета
- Усер-фриендли интерфејс одговара људима са основним техничким вештинама
- Можете видети податке који се могу вратити пре куповине
Ограничења о којима треба размишљати:
- Отпремање осетљивих информација базе података на сервере трећих страна изазива забринутост за приватност
- Максимална величина базе података има ограничења
- Мање опција прилагођавања од офлајн алата
- Брзина опоравка зависи од перформанси и оптерећења сервера
- Демо верзије приказују само неке податке који се могу опоравити до куповине
Алати за опоравак ван мреже дају вам више контроле и приватности, али им је потребно више техничке стручности. Мost онлајн услуге вам омогућавају да тестирате њихову ефикасност помоћу бесплатних демонстрација. Ове демонстрације обнављају узорке података и означавају друге ставке које се могу опоравити помоћу чувара места.
Најбољи избор између опоравка на мрежи и ван мреже своди се на ваше потребе. Временски притисак, техничке вештине, осетљивост података и врста оштећења МДФ фајла играју важну улогу у овој одлуци.
5. Више решења
Док методе обухваћене претходним одељцима обрађују мost сценарији оштећења MDF датотека, пејзаж опоравка базе података нуди додатна специјализована решења. Проценили смо бројне приступе и саставили овај свеобухватни списак мost ефикасне алтернативне методе које допуњују основне стратегије поправке.
6. Након поправке: Проверите и обезбедите своју базу података
Поправка ваше оштећене МДФ датотеке решава само половину проблема. Ваша база података треба да се докаже исправном и безбедном након успешног опоравка да би се одржао интегритет података и спречили будући проблеми.
6.1 Провера интегритета опорављених података
Детаљна провера ваљаности осигурава да сви подаци остају нетакнути након поправке. Команда ДБЦЦ ЦХЕЦКДБ са ДАТА_ПУРИТИ скенира неважеће вредности:
DBCC CHECKDB (database_name) WITH DATA_PURITY, NO_INFOMSGS;
Ова команда открива вредности колона које могу бити неважеће или ван опсега за њихове типове података. Имајте на уму да све откривене грешке морате да исправите ручно јер опције поправке не могу да их исправе аутоматски.
ДБЦЦ ЦХЕЦКЦОНСТРАИНТС помаже да се потврди да пословна логика остаје нетакнута јер операције поправке не проверавају или одржавају ограничења страног кључа.
6.2 Реконструкција индекса и ограничења
Оптимизација перформанси постаје следећи корак када се провери интегритет података. Операције поправке често остављају индексе фрагментоване, што захтева брзу пажњу:
ALTER INDEX ALL ON table_name REBUILD;
Основни тим би прво требало да обнови специфичне индексе велике употребе да би се брзо повратио учинак на критичним системима. Ово ствара нове, правилно хostед индекси који боost времена одговора на упит.
6.3 Направите резервну копију поправљене базе података
Одмах направите потпуну резервну копију своје новопоправљене базе података:
BACKUP DATABASE database_name
TO DISK = 'path\backup_file.bak'
WITH CHECKSUM, FORMAT;
Опција ЦХЕЦКСУМ проверава интегритет резервне копије током операције. Након тога тестирајте резервну копију на тест серверу да бисте се уверили да исправно ради пре него што је употребите за опоравак производње.
6.4 Подешавање праћења и упозорења
Проактивно праћење помаже у откривању потенцијалних проблема пре него што оштете податке. Подесите упозорења за кључне показатеље укључујући:
- ЦПУ проценат (праг: 90%)
- Проценат искоришћеног простора за податке (праг: 95%)
- Коришћење радника (праг: 60%)
- Застоји (било која појава)
- Системске грешке у покушајима повезивања
Азуре Монитор или SQL Server Манагемент Студио може да конфигурише ова упозорења. Упозорења о стању остају активирана док се не реше, што спречава олује са обавештењима током текућих проблема.
Недељне провере интегритета помоћу ДБЦЦ ЦХЕЦКДБ треба да се покрећу на критичним базама података да би се проблеми рано открили.
7. Честа питања
Оштећење базе података ствара многа питања од корисника. Хајде да погледамо нека уобичајена питања о поправци МДФ датотека SQL Server.
7.1 Могу ли да опоравим MDF датотеку без LDF датотеке?
Одговор: Да, са професионалним алатима као што су DataNumen SQL Recovery, можете опоравити MDF датотеку без LDF датотеке.
7.2 Да ли треба да користим алате за поправку трећих страна или уграђене методе?
Одговор: Уграђене методе заслужују први покушај јер имају званичну подршку. Упркос томе, алати трећих страна могу повратити више података у случајевима тешке корупције. Најбољи избор зависи од:
- Критичност података
- Доступност резервних копија
- Временско ограничење
- Буџетска ограничења
- Толеранција ризика за губитак података
КСНУМКС. закључак
SQL Server оштећење базе података захтева брзо откривање и одговарајуће методе опоравка да би се смањио губитак података. Знаци оштећења МДФ датотеке помажу вам да брзо реагујете када се појаве проблеми. Имате више опција опоравка, од уграђених SQL Server алате за специјализована решења трећих страна као што су DataNumen SQL Recovery алаткаУ наставку је резиме овог чланка:
Превенција ради боље од лечења. Редовно одржавање базе података, одговарајуће процедуре за прављење резервних копија и праћење здравља диска значајно смањују ризик од корупције. Систем такође треба да докаже опорављене базе података путем провера интегритета и поновне изградње индекса како би подаци били поуздани након поправки.