Обновлено: 2026-10-26

Victor Bobrov Автор: Victor Bobrov

Как восстановить поврежденную или неработоспособную базу данных Microsoft SQL Server

Пошаговое описание восстановления элементов базы данных Microsoft SQL Server любой версии из поврежденного файла *.mdf:

  1. Загрузите, установите и откройте SQL Server Repair Toolbox с сайта: https://www.repairtoolbox.com/download/SQLServerRepairToolboxInstall.exe
  2. Выберите поврежденный *.mdf файл на первой странице программы
  3. Выберите способ экспорта:
    1. Сохранить как SQL-скрипты на диск
    2. Выполнять SQL скрипт непосредственно в базе данных
  4. Выберите данные, которые должны быть восстановлены и сохранены
  5. Нажмите Start recovery (Начать восстановление)
sqlserver illustrations
sqlserver illustrations

Программа восстановления баз MS SQL

SQL Server Repair Toolbox является программой восстановления MS SQL баз данных, которая восстанавливает поврежденные базы данных в формате Microsoft SQL Server. Утилита восстановления MS SQL считывает данные из *.mdf и *.ndf файлов, затем сохраняет информацию, ссылки и прочее в формате SQL скриптов, либо экспортирует данные напрямую в Microsoft SQL Server через прямое подключение.

Основные возможности программы восстановления баз данных MSSQL включают в себя:

  1. Восстанавливает данные в форматах MS SQL Server 7, MS SQL Server 2000, MS SQL Server 2005, MS SQL Server 2008, MS SQL Server 2008 R2, MS SQL Server 2012, MS SQL Server 2014, MS SQL Server 2016.
  2. Восстанавливает типы данных.
  3. Восстанавливает табличные данные.
  4. Восстанавливает виды.
  5. Восстанавливает хранимые процедуры.
  6. Восстанавливает функции.
  7. Восстанавливает триггеры.
  8. Восстанавливает индексы.
  9. Восстанавливает ключи.
  10. Восстанавливает требования.
  11. Восстанавливает базы данных, состоящие из множества файлов.
  12. Сохраняет разделы таблиц.
  13. Экспортирует данные в MS SQL Server.
  14. Сохраняет восстановленные данные на диск в виде SQL скриптов.
  15. Гибкий и практичный интерфейс
  16. Возможность выбора данных для экспорта и сохранения.
  17. Работает с Windows 98, NT 4.0, 2000, Me, XP, Vista, 7, 8/8.1 и Windows 10, 11.

Требования

  1. Windows 98/Me/2000/XP/Vista/7/8/10/11 или
  2. Windows Server 2003/2008/2012/2016 и выше

Далее...

  1. Как восстановить mdf файл базы данных Microsoft SQL Server из состояния suspend
Примечание:

SQL Server Repair Toolbox не является бесплатной программой с открытым исходным кодом. Пользователи могут попробовать эту программу перед приобретением, используя демонстрационную версию. Программа не обладает такими лицензиями, как GNU General Public License (GPL) или GNU Lesser General Public License (LGPL).

FAQ

Ответ:

Есть несколько способов сохранить восстановленные данные, полученные в результате работы программы SQL Server Repair Toolbox:

  1. Можно сохранить данные в виде SQL скриптов на жесткий диск, и далее выполнить эти скрипты. В результате будут созданы таблицы и объекты (индексы, процедуры, функции и прочее). Затем импортировать данные в эти таблицы.
  2. А также можно запустить данные SQL скрипты, используя SQL Server Repair Toolbox, настроив connection string к заданному хранилищу (SQL Server и другую базу данных).

SQL скрипты могут различаться, несмотря на то, что они основываются на тех же файлах базы данных. Это связанно с особенностью синтаксиса в запросах, которые выполняются при соединении с серверов с помощью ADO, а также с выполнением SQL запросов в среде Query Analyzer’а, которая поставляется вместе с Microsoft SQL Server (использование «:», команды Go и т.д.).

  1. Конвертация восстановленных данных в SQL скрипты и сохранение их на жестком диске
    1. Просмотр сохраненных данных

      Если вы выбрали режим сохранения данных на жесткий диск, программа автоматически создаст подкаталог, который в свою очередь создается в каталоге, указанном пользователем, и все скрипты будут помещены туда. Имена всех создаваемых скриптов, соответствуют правилам и состоят из слов и цифр, где слово означает его роль, а цифра указывает на номер. Типов скриптов существует множество, например:

      1. Types*.sql – типы данных, определяемые пользователем.
      2. Tables*.sql – таблицы.
      3. Indexes*.sql – первичные ключи и индексы.
      4. ForeignKeys*.sql – вторичные ключи.
      5. Procedure*.sql – хранимые процедуры.
      6. Function*.sql – функции, определяемые пользователями.
      7. View*.sql – просмотры.
      8. Triggers*.sql – триггеры.
      9. Data*.sql – таблицы с данными.

      Порядковый номер скрипта используется для разделения данных и сохранения их во множество небольших документов, вместо одного большого файла. Необходимо отметить, что каждый файл типа Data может включать данные только одной таблицы.

      Внимание: в некоторых файлах могут отсутствовать номера, это означает что в некоторых таблицах отсутствуют данные или их очень мало.

    2. Последовательность исполнения скриптов

      На рисунке можно увидеть рекомендуемую последовательность исполнения:

      objects restore

      Последовательность исполнения скриптов зависит от существующих ограничений для имеющихся данных и структур таблицы. Пожалуйста, обратите особое внимание на эти факторы:

      1. Укажите соответствующий первичный ключ, если вы хотите создать вторичный. Это позволит сохранить эти операции в различные файлы, которые нужно запустить в этой последовательности.
      2. Перед созданием индексов и вторичных ключей, программа заполняет таблицы. Это необходимо, так как проверка ссылочной целостности выполняется при заполнении таблицы, в которой определен вторичный ключ. Когда таблицы с вторичными ключами заполняются до таблиц с соответствующими первичными ключами, возникает ошибка. Помимо этого, данный способ обладает другой особенностью. Если восстановленная информация конфликтует с первичным ключом, уникальным индексом, и т.д., то в этом случае таблица в любом случае будет заполнена, но тогда ограничения не будут созданы (индекс, первичный ключ и т.д.). Если пользователям необходимо другое поведение, они могут сами выбрать последовательность запуска скриптов.
      3. Создание таких объектов, как Procedures, Functions, Views, Triggers в базе данных имеет особенности, потому что эти объекты могут обладать запутанными и сложными зависимостями. Procedure может ссылаться на другие объекты Procedure, View может ссылаться на Function, а Trigger может ссылаться на все объекты. Поэтому, программа не может помочь распутать эти сложные взаимозависимости. Пользователям нужно вручную найти все зависимости и запустить SQL в нужной последовательности. Другая возможность состоит в запуске всех скриптов этой группы несколько раз, пока перестанут выдаваться сообщения об ошибках.
    3. Файл Install.bat

      Файл install.bat создается для того, чтобы обеспечить автоматическое выполнение всех скриптов. Этот файл исполняет все скрипты, которые были ранее сохранены с помощью этой программы. Последовательность исполнения скриптов будет такой же, как и при выполнении скриптов на базе данных. Этот пакетный файл требует наличия установленной утилиты isqlw, которая входит в состав клиентской части MS SQL Server. Пожалуйста, укажите такие параметры, как Имя сервера, Имя базы данных, Имя пользователя, Пароль в командной строке. Например: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword.

      Примечание:
      1. Параметры нужно указывать через пробел. Если какой-либо из параметров сам содержит пробел, вам нужно указать его в двойных кавычках.
      2. Нельзя менять местами параметры.

      Если же файл install.bat будет запущен без указания параметров, вы увидите небольшую инструкцию, как запускать этот файл.

    4. InstallTrusted.bat

      Если Вы используйте авторизацию в Microsoft SQL Server с помощью учетной записи Windows, то используйте файл InstallTrusted.bat . Файл InstallTrusted.bat имеет 2-а параметра: Server name, Database name.

      Пример использования: installtrusted.bat SQLServer SQLDatabase Подробные сведения об авторизации через учетную запись Windows тут: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/authentication-access/principals-database-engine?redirectedfrom=MSDN&view=sql-server-ver15

Ответ:

Если база данных состоит из нескольких файлов, это основной MDF файл и дополнительные NDF файлs, то чтобы восстановить данные с помощью программы SQL Server Repair Toolbox, необходимо указать все MDF и NDF файлы в диалоговом окне выбора исходного файла. Для выбора всех файлов нажмите клавишу CTRL и выберите нужные файлы мышью. Также можно нажать клавишу Shift и нажимая клавиши передвижения курсора (стрелки влево, вправо, вверх или вниз) выделить нужные файлы.

Примечание: Файлы с расширением *.ldf содержат логи текущих операций и их не нужно выделять для восстановления базы данных.
open sql

Купить SQL Server Repair Toolbox

Персональная Лицензия

для личного пользования в некоммерческих целях

Бизнес Лицензия

для коммерческого пользования

Локальная Лицензия

для использования на нескольких компьютерах (до 100 электронных устройств)

Купить продление SQL Server Repair Toolbox

Купить продление лицензии на 1 год

Персональная Лицензия

для личного пользования в некоммерческих целях

Бизнес Лицензия

для коммерческого пользования

Локальная Лицензия

для использования на нескольких компьютерах (до 100 электронных устройств)

yookassa

ЮKassa cервис для работы с платежами в российском сегменте интернета. ЮMoney (ранее Яндекс.Касса) - российская финтех-компания. ЮMoney сделали для пользователей электронный кошелёк ЮMoney, а для бизнеса - сервис по приёму платежей ЮKassa.

paypro

PayPro Global (PayPro Global, Inc., 250 The East Mall street, Etobicoke, ON Canada, M9B 0A9) является быстрорастущей компанией в электронной коммерции, разрабатывающей пользовательские решения, позволяющие быстро и эффективно продавать программное обеспечение онлайн. PayPro Global поддерживает более 100 различных валют, основные кредитные карты и широкий выбор других платежных систем. PayPro Global предлагает эффективную поддержку пользователям 24/7 и внимание к персональным запросам пользователей.

Как это работает?

  1. Скачать программу с сайта.Скачать

  2. Установить программное обеспечение:

    1. Нажать на скачанное программное обеспечение в браузере
    2. Выбрать скачанный инсталляционный файл в Проводнике (Windows Explorer) и нажать кнопку Enter или дважды кликнуть на файл.
  3. Подтвердить предупреждающее сообщение.

    open file sqlserver
  4. Пройти инсталляционный мастер.

  5. Запустить установленную программу:

    1. Дважды кликнуть на иконку на Рабочем столе
    2. или
    3. Выбрать в главном меню пункт: Пуск | Программы | SQL Server Repair Toolbox | SQL Server Repair Toolbox.
    start sqlserver
  6. Пожалуйста, выберите или введите имя файла для восстановления. Исходный файл (.mdf).

    select file sqlserver
  7. Нажмите кнопку Далее (Next).

    next button
  8. Подтвердить старт восстановления.

    confirm
  9. Содержимое исходного файла базы данных MS SQL. Нажмите кнопку Далее чтобы выбрать метод сохранения.

    next button
  10. Пожалуйста, выберите режим восстановления и место назначения.

    recovery mode
  11. Нажмите кнопку Далее (Next).

    next button
  12. Содержимое исходного файла базы данных MS SQL. Нажмите кнопку Старт Восстановления (Start Recovery) чтобы сохранить результаты.

    start recovery
  13. На последней странице отображается детальная информация о процессе восстановления.

    log sqlserver

Ошибки

С помощью программы SQL Server Repair Toolbox вы можете исправить следующие ошибки:

  • SQL Server: Повреждение на уровне страницы
  • SQL Server: Ошибка, повреждение таблицы
  • Ошибка целостности базы данных, выявленная DBCC CHECKB
  • Повреждение на страницах данных
  • Ошибка повреждения метаданных
  • Заголовок для файла 'xxx.mdf' не соответствует заголовку базы данных.
  • Значение свойства РАЗМЕР ФАЙЛА некорректно. (Microsoft SQL Server, Ошибка:5172)
  • SQL Server обнаружил критическую ошибку на уровне логических операций ввода/вывода: Некорректная контрольная сумма. (Microsoft SQL Server, Ошибка:824)
  • Страница расположения карты индексов указывает на следующий указатель страницы карты индексов.
  • I/O ошибка ввода/вывода (некорректный ID страницы) обнаружена при чтении по смещению 0x###### в файле FileName.mdf.
  • Представленный файл был обрезан Операционной Системой.
  • В процессе переделывания операции логирования в базе данных 'Имя базы данных', появилась ошибка логирования с Id.

Скриншоты

Выбрать поврежденную базу данных в формате MS SQL Server, для того, чтобы восстановить из нее данные
Просмотреть данные, которые могут быть восстановлены из поврежденных файлов с расширением *.mdf
Выбрать способ экспорта данных
Просмотреть отчеты об экспорте данных

Видеоурок

Реальные отзывы клиентов на Trustpilot

Victor G. Bobrov, ведущий инженер по восстановлению данных / Senior Software Engineer.

MCSD, MCDBA

Эксперт в области структур данных, хранения данных и восстановления информации из поврежденных файлов с более чем 20-летним опытом работы.

Рейтинги программы и сервиса

Я восстановил 99,99% данных MS SQL Server из файла .MDF.
Вирусный кодер VVEW зашифровал мой огромный файл.
Теперь я доволен своей БД.

SQLTim