- Загубата на данни е често срещан проблем, но ние ще ви покажем как да поправите повредена база данни в SQL Server.
- Този проблем може да произтича от обикновено презаписване или случайно изтриване на файл до вирусни инфекции и неправилна конфигурация.
- Неправилното функциониране на устройството за съхранение също може да доведе до повреда на файловете и това включва вашата SQL база данни.
Разбира се, разочароващо е да откриете повредена база данни на вашия SQL Server по очевидни причини. Нямате достъп до информацията и работата ви спира.
Въпреки това, има много начини, по които можете да решите този проблем с ръчни решения или като използвате интелигентен, специален инструмент на трета страна, наречен Кутия с инструменти за възстановяване за SQL Server.
Но преди да започнем с отстраняването на неизправности, нека разберем и проучим малко защо този проблем се случва на първо място.
Какво е SQL Server и как можем да идентифицираме базата данни?
SQL Server е система от база данни, разработена от Microsoft, която се използва за управление, съхранение и извличане на данни от други приложения.
Има три типа файлове за съхраняване и управление на данни в SQL Server: първични файлове (с разширение .MDF), вторични файлове (с разширението .NDF) и регистрационни файлове (с разширение .LDF).
Ние сме особено заинтересовани от тези MDF файлове, защото те са тези, които осигуряват съхранение на база данни.
Защо базата данни се поврежда на SQL Server?
Има много възможни причини, поради които вашата база данни на SQL сървър може да се повреди, от просто презаписване или случайно изтриване на файл до вирусни инфекции и неправилна конфигурация.
Нека да разгледаме някои от най-честите причини за този проблем:
- Презаписване на файл – Ако пишете върху съществуващ MDF файл по погрешка, рискувате да повредите базата данни
- Опитвам се за отключване на SQL базата данни - Ако ти забравих паролата на SQL и го въведете погрешно твърде много пъти, това може да доведе до повреда на SQL Server
- Повреда на вашето устройство за съхранение – От само себе си се разбира, че неизправността на устройството може да доведе до повреда на файлове, включително базата данни
- Проблеми с конфигурацията на SQL база данни – Ако конфигурацията на SQL се промени, това може да деактивира достъпа до MDF файлове
- Вирусна инфекция – Това е често срещан проблем за повреда на всеки файл, не само файловете на базата данни на SQL и дори ако премахнете вируса с помощта на най-добрите антивирусни програми, за съжаление, все още може да загубите някои данни
- SQL вътрешни грешки – Въпреки че е силно решение, все още може да има своите грешки, които могат да причинят повреда на MDF файловете
Като се има предвид това, следвайте нашето ръководство стъпка по стъпка, за да научите как да поправите файл на SQL база данни на SQL Server.
Как мога да поправя повредена база данни в SQL Server?
ЗАБЕЛЕЖКА
Забележка: Преди да започнете каквото и да е, извършете архивиране на SQL библиотеката.
1. Рестартирайте SQL Server
- Отворете терминал и въведете следната команда, за да спрете SQL Server:
systemctl mysql стоп
- За да проверите състоянието на SQL Server, въведете следната команда и натиснете Въведете:
състояние mysql.service
- Сега рестартирайте SQL Server, като изпълните следната команда в терминала:
рестартирайте mysql.service
Понякога можете да разрешите проблема само като рестартирате SQL Server. Разбира се, това не работи всеки път, но е толкова лесно за изпълнение, че няма да навреди.
2. Поправете повредена маса
- Стартирайте SQL Server.
- Въведете следната команда и натиснете Въведете за да го стартирате:
ПРОВЕРЕТЕ ТАБЛИЦА име_на_таблицата;
- Ако открие някакви проблеми с таблицата, въведете следната команда и натиснете Въведете:
ТАБЛИЦА ЗА РЕМОНТ име_на_таблицата;
ТАБЛИЦАТА ЗА РЕМОНТ ще ви помогне да поправите таблица и можете да направите същото за всички други повредени, но по този начин може да загубите някои данни от таблицата.
3. Използвайте командата mysqlcheck
- Отворете терминал и въведете или поставете следната команда, за да стигнете до папката на базата данни и натиснете Въведете:
cd /var/lib/mysql
- Сега въведете следната команда, за да тествате таблица и натиснете Въведете. Уверете се, че сте заменили и с истинските имена:
mysqlcheck
- Ако получите съобщението, че таблицата е повредена, въведете следната команда, за да я поправите и натиснете Въведете:
mysqlcheck -r
4. Използвайте командите ALTER TABLE
- Въведете следната команда, за да проверите типа на вашата таблица (в нашия случай това е MyISAM таблица):
ПОКАЖЕТЕ СЪЗДАВАНЕ НА ТАБЛИЦА
;
- За да изградите отново таблицата, въведете следната команда и натиснете Въведете:
ПРОМЕНИ ТАБЛИЦА
ДВИГАТЕЛ = MyISAM;
- Ако имате база данни InnoDB, вместо това въведете следната команда:
ПРОМЕНИ ТАБЛИЦА
ДВИГАТЕЛ = InnoDB;
- Изтеглете и инсталирайте Microsoft SQL Server 2019
- Най-добрият софтуер за архивиране на SQL сървър [безплатно и платено]
- Как да защитите база данни на SQL сървър
5. Поправете базата данни с помощта на Recovery Toolbox за SQL Server
- Отидете на специалната страница с инструменти за възстановяване за SQL Server и щракнете върху Изтегли бутон.
- Инсталирайте приложението, след като изберете езика и приемете лицензионното споразумение.
- Щракнете върху завършек за да стартирате инструмента за ремонт на SQL Server MDF.
- Изберете повреденото *.mdf файл, като щракнете върху иконата на изходната папка.
- След като го изберете, щракнете върху Следващия бутон.
- Вече ще можете да прегледате данните, които могат да бъдат извлечени от повредената база данни на Microsoft SQL Server. Щракнете върху Напред в прозореца на инструмента за възстановяване на Microsoft SQL MDF, за да стартирате процеса.
- Сега трябва само да изберете метода за експортиране на данни. Можете да го запазите като SQL скриптове на диск и дори да изпълни SQL скрипта директно в базата данни.
- Накрая изберете какви данни да запишете и щракнете върху Стартиране на възстановяване.
И така, това е как да поправя файлове с база данни на SQL сървър с този прост и ефективен инструмент. Както можете да видите, това ще свърши работата много по-бързо.
В Инструмент за възстановяване на MS SQL сървър също ще ви помогне, ако се сблъскате със следните проблеми с базата данни MDF:
- Грешка 5172 на Microsoft SQL Server – Свойството FILE SIZE е неправилно
- SQL Server е открил I/O грешка, базирана на логическа последователност – Това е неправилна контролна сума, известна още като грешка 824 в SQL Server
- Страницата на картата за разпределение на индекса (IAM) се сочи от следващия указател на IAM страница – Това е доста често срещан проблем
- I/O грешка, лош идентификатор на страница, открит при четене при отместване 0x###### във файл FileName.mdf – Това не изглежда често, но все пак можете да го поправите с този малък инструмент
- Изглежда, че файлът е бил съкратен поради грешка в операционната система – Най-вероятно причинено от проблем с конфигурацията
- Възникна грешка при идентификатор на запис в регистрационния файл – Това се случва по време на повторното изпълнение на регистрирана операция в базата данни
Всъщност с Recovery Toolbox за SQL Server поправете всички обекти на повредени .mdf файлове, включително типове данни, таблица клетъчни данни, изгледи, съхранени процедури, персонализирани функции, тригери, индекси, първични и външни ключове, ограничения и други.
И голямото предимство е, че можете да експортирате поправените данни директно в Microsoft SQL Server безпроблемно от приложението.
Това е то! Сега знаете как да поправите базата данни на SQL Server ръчно или с помощта на специален инструмент.
Ако знаете допълнителни методи или имате някакви въпроси, чакаме ги в секцията за коментари по-долу.