Восстановление поврежденных баз данных SQL Server в Linux

Сервер 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:
  • Сначала откройте Терминал в 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.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

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