Сервер Microsoft MS SQL поддерживает операционные системы Linux, включая Red Hat Enterprise Linux, Ubuntu, а также образы контейнеров на платформах виртуальных машин, таких как Kubernetes, Docker engine и OpenShift. Независимо от платформы, на которой вы используете SQL Server, Базы данных подвержены повреждениям и несоответствиям. Если ваши файлы MDF/NDF в системе Linux по какой-либо причине повреждены, вы можете их восстановить. В этом посте мы рассмотрим процедуру ремонта и восстановления поврежденной базы данных SQL в системе Linux.
Причины повреждения файлов MDF/NDF в Linux:
Файлы баз данных SQL, хранящиеся в системе Linux, могут быть повреждены по одной из следующих причин:
- Внезапное отключение системы.
- Ошибки в сервере
- На жестком диске системы, где хранятся файлы базы данных, повреждены сектора.
- Внезапный сбой операционной системы во время работы с базой данных.
- Аппаратное заражение или заражение вредоносным ПО.
- В системе закончилось свободное место.
Способы ремонта и восстановления поврежденных баз данных SQL в Linux
Чтобы восстановить поврежденный файл базы данных SQL, хранящийся в системе Linux, вы можете использовать студию управления SQL Server на Ubuntu или Red hat enterprise или воспользоваться профессиональным инструментом для восстановления SQL.
Шаги по восстановлению поврежденной базы данных SQL в системе Linux:
- Сначала запустите SQL Server в системе Linux, выполнив следующие действия:
- Откройте Терминал с помощью Ctrl + Alt + T или ALT + F2
- Далее выполните приведенную ниже команду с именем приложения, а затем нажмите клавишу Enter.
sudo systemctl start mssql-server
- В SSMS выполните следующие действия для восстановления и ремонта файла базы данных в системе Linux:
- Шаг 1 – Если у вас есть обновленный файл резервной копии, вы можете использовать его для восстановления поврежденной базы данных. Вот команда:
BACKUP DATABASE [AdventureWorks2019] TO DISK = NC:\backups\DBTesting.bak WITH DIFFERENTIAL, NOFORMAT, NOINIT, NAME = NAdventureWorks2019-Full Database Backup, SKIP, NOREWIND, NOUNLOAD, STATS = 10
- Шаг 2 – Если у вас нет резервной копии, то с правами администратора запустите команду DBCC
CHECKDBв SQL Server Management Studio (SSMS). Здесь имя поврежденной базы данных – DBTesting. Перед использованием команды сначала измените статус на SET SINGLE_USER. Вот команда:
ALTER DATABASE DBTesting SET SINGLE_USER DBCC CHECKDB (DBTesting, REPAIR_REBUILD)

Если инструментREPAIR_REBUILDне смог восстановить проблемный MDF-файл, попробуйте воспользоваться командойREPAIR_ALLOW_DATA_LOSSкоманды DBCC CHECKDB:
DBCC CHECKDB (N Dbtesting, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;

Затем измените режим базы данных с SINGLE_USER на MULTI_USER, выполнив следующую команду:
ALTER DATABASE DBTesting SET MULTI_USER

Использование вышеуказанной команды может помочь вам восстановить поврежденный MDF-файл, но в процессе восстановления может быть удалено большинство страниц данных, содержащих противоречивые данные. В результате вы можете потерять свои данные. - Шаг 3 Используйте профессиональный инструмент для восстановления SQL:
Если вы не хотите рисковать данными в базе данных, установите профессиональный инструмент для восстановления MS SQL, например Stellar Repair for MSSQL. Этот инструмент оснащен улучшенными алгоритмами, которые помогут вам восстановить поврежденный или несовместимый файл MDF/NDF даже в системе Linux. Ниже описаны шаги по установке и запуску Stellar Repair for MS SQL:
- Шаг 1 – Если у вас есть обновленный файл резервной копии, вы можете использовать его для восстановления поврежденной базы данных. Вот команда:
- Сначала откройте Терминал в Linux/Ubuntu.
- Затем выполните следующую команду:
sudo apt install app_name
*_Здесь*_: Добавьте абсолютный путь к инструменту Stellar Repair for MSSQL. - Далее запустите приложение в Ubuntu, выполнив следующие действия:
- На рабочем столе найдите и нажмите кнопку
- В окне «Обзор деятельности» найдите приложение Stellar Repair for MS SQL и нажмите клавишу Enter.
- Введите системный пароль для аутентификации.
- Далее выберите базу данных в пользовательском интерфейсе Stellar Repair for MS SQL, нажав на кнопку Выбрать базу данных.

Выбрав файл MDF, нажмите кнопку Восстановить. Для получения подробной информации о шагах вы можете прочитать в KB
Заключение
Если вы работаете с SQL Server, установленным в системе Linux на виртуальной машине, ваша система внезапно дает сбой, и файл MDF оказывается поврежденным. В этом или любом другом случае, когда файл базы данных SQL становится недоступным в системе Linux, вы можете восстановить его с помощью двух описанных выше методов. Чтобы восстановить поврежденные файлы MDF быстро, без потери данных и ограничений по размеру файла, вы можете воспользоваться помощью профессионального инструмента MS SQL Repair. Этот инструмент поддерживает восстановление файлов MDF в системах Windows и Linux.




Комментарии (0)