ЗагрузитьWindows

Утилита для восстановления базы данных MS SQL

Как восстановить базу данных SQL Server

SQL Server Recovery Kit

SQL Server Recovery Kit поможет исправить поврежденные MDF файлы MS SQL Server всех версий

Как восстановить поврежденное хранилище Microsoft SQL Server

Как исправить поврежденную/неработоспособную базу данных Microsoft SQL Server с помощью SQL Server Recovery Kit. Как восстановить данные из поврежденного файла *.mdf - пошаговая инструкция:

  1. Загрузите SQL Server Recovery Kit здесь: https://all-recovery-inc.com/download/SQLServerRecoveryKitInstall.exe
  2. Установите SQL Server Recovery Kit
  3. Запустите SQL Server Recovery Kit
  4. Выберите поврежденный файл *.mdf
  5. Сделайте предпросмотр данных, которые могут быть извлечены из поврежденной базы данных Microsoft SQL Server
  6. Выберите способ экспорта данных
    • Сохранить как SQL-скрипты на диск
    • Выполнять SQL скрипт непосредственно в базе данных
  7. Выберите информацию, которая должна быть восстановлена и сохранена
  8. Нажмите Start recovery (Начать восстановление)
sql server восстановление

Как исправить нерабочую базу данных MS SQL Server?

SQL Server Recovery Kit это программа для восстановления поврежденных файлов баз данных MS SQL Server.

Возможности ПО для восстановления MDF файлов:

  • Восстановления нечитаемых баз данных, имеющих состояние Suspend
  • Исправление поврежденных баз данных Microsoft SQL Server различных версий: 7/2000/2005/2008/2008 R2/2012/2014/2016/2019
  • Восстановление наиболее важных и значимых элементов баз данных MS SQL: типы данных, табличные данные, просмотры, сохраненные процедуры, пользовательские функции, триггеры, индексы, главные и внешние ключи, ограничения и т.д.
  • Восстановление баз данных распределенных между несколькими файлами (*.mdf + *.ndf)
  • Исправление поврежденной таблицы размещения при восстановлении mdf файлов
  • Утилита восстановления SQL MDF файлов может экспортировать данные непосредственно в Microsoft SQL Server
  • Сохранение восстановленных данных как SQL скрипты на диске
  • Экспорт данных в новую базу
  • Выборка данных для последующего сохранения
  • Восстановление SQL сервера под различными версиями Windows 98/Me/2000/XP/Vista/7/8/10/11 или Windows Server 2003/2008/2012/2016 и выше
  • Софт для восстановления баз данных MS SQL включает многоязыковой интерфейс на 14 языках
  • Предварительный просмотр восстановленных объектов и данных из поврежденного MDF файла
  • Восстанавливает данные после атаки вирусом шифровальщиком вымогателем (ransomware).
  • Утилита просмотра MDF файлов

Специальная, оптимизированная утилита восстановления SQL Server способна исправить многие типы повреждений баз данных и *.mdf файлов.

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

Для возвращения данных из поврежденной базы данных SQL Server можно воспользоваться последней резервной копией или попытаться использовать SQL Server Recovery Kit. С большой вероятностью SQL Server Recovery Kit может вернуть базу данных SQL Server в исходное состояние до повреждения. Для проверки этой гипотезы достаточно:

  1. Скачать, установить и запустить ДЕМО версию SQL Server Recovery Kit
  2. Выбрать поврежденный MDF файл для анализа
  3. Запустить анализ поврежденной базы данных SQL Server
  4. Изучить список восстановленных таблиц
  5. Просмотреть данные из восстановленных таблиц
  6. Изучить список восстановленных пользовательских объектов
  7. Настроить параметры сохранения данных
  8. Выбрать данные и объекты для сохранения
  9. Сохранить данные (доступно в полной версии)

Как исправить базу данных SQL Server

Если требуется быстро исправить MDF файл поврежденной базы данных SQL Server, то SQL Server Recovery Kit может сделать это за пару кликов. Исправление MDF файла поврежденной базы данных SQL Server происходит путем копирования и исправления данных из поврежденного MDF файла SQL Server в новую базу данных или в отдельные файлы SQL скриптов на диск. Утилита не исправляет и не модифицирует имеющиеся MDF файлы SQL Server’а. Все восстановленные данные из *.mdf файлов переносятся в новую базу данных или в файлы SQL скриптов.

Требования:

  • Windows 98/Me/2000/XP/Vista/7/8/10/11 или Windows Server 2003/2008/2012/2016 и выше
  • Microsoft SQL Server: 7/2000/2005/2008/2008 R2/2012/2014/2016/2019
Примечания:
  • SQL Server Recovery Kit не восстановливает целостность баз данных 1С.

Ответ:

Существует два способа сохранить данные, которые были получены с помощью программы SQL Server Recovery Kit:

  1. Вы можете сохранить SQL скрипты на жесткий диск, они создадут объекты баз данных, например таблицы и поместить данные в эти таблицы.
  2. Вы также можете запустить скрипты в базах данных, определяемых пользователями, эти скрипты написаны на языке SQL.

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

Конвертация данных в скрипты и сохранение их на диск

1. Отображение сохраненных данных

Если вы выбрали сохранение данных на диск, SQL Server Recovery Kit создаст подкаталог, включающий название исходного MDF файла, этот подкаталог создается в каталоге, указанном пользователем, все скрипты будут помещены туда. Все скрипты создаются в соответствии с правилом, названия состоят из слова и цифры. Слово означает роль скрипта, цифра указывает на его номер. Существует множество типов скриптов, например:

  • Types*.sql – это скрипты, которые создают типы данных, определяемые пользователем.
  • Tables*.sql – скрипты, которые создают таблицы.
  • Indexes*.sql – скрипты, которые создают первичные ключи и индексы.
  • ForeignKeys*.sql – скрипты, которые создают вторичные ключи.
  • Procedure*.sql – скрипты, которые создают хранимые процедуры.
  • Function*.sql – скрипты, которые создают функции, определяемые пользователями.
  • View*.sql – скрипты, которые создают просмотры.
  • Triggers*.sql – скрипты, которые создают триггеры.
  • Data*.sql – скрипты, которые заполняют таблицы данными.

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

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

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

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

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

  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. Нельзя менять местами параметры.
  3. Если же файл install.bat будет запущен без указания параметров, вы увидите небольшую инструкцию, как запускать этот файл.

4. InstallTrusted.bat

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

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

Ответ:

Восстановление базы данных формата MS SQL Server из нескольких источников

База данных формата MS SQL Server включает один или несколько файлов. Существует несколько типов файлов: основной файл данных (с расширением mdf), дополнительный файл данных (с расширением ndf) и лог транзакций (с расширением ldf). Если Вы хотите восстановить данные с помощью SQL Server Recovery Kit, Вам нужно указать путь ко всем дополнительным файлам данных, равно как и к основному файлу. Это может быть сделано с помощью диалога Open File (открыть файл). Если ваша база данных включает только основной файл данных и лог(и) транзакций, то нужно выбрать только основной файл данных (см рис.1).

Рисунок.1

Если поврежденная база данных включает основной файл данных, дополнительный (или дополнительные) файлы, данных и лог(и) транзакций, Вам следует выбрать основной файл данных формата .mdf и все дополнительные файлы данных формата .ndf) (см рис.2).

Рисунок.2

Ответ:

Для восстановления баз данных MS SQL Server с большим размером требуется значительное кол-во оперативной памяти. Разработчиками программы рекомендуется восстанавливать большие базы данных на компьютерах с достаточным количеством свободной Физической памяти (Physical Memory). Размер физической памяти (Physical Memory), используемой программой, должен быть не меньше размера, восстанавливаемого файла деленного на 500, плюс 20-100 Мб дополнительной памяти для работы программы. Т.е. если Вы пытаетесь восстановить .mdf файл размером 100 Гб, то на компьютере должно как минимум (100 Гб / 500) + 120 Мб = 320Мб свободной Физической памяти (Physical Memory).

Ответ:

Для исправления этой проблемы необходимо:

  1. Сохранить данные в виде скриптов
  2. Запустить файл install.bat со всеми необходимыми параметрами в командной строке
  3. Проверить по ответным файлам ( *????.sql.txt), какие из скриптов не были успешно выполнены
  4. Загрузить скрипты выполненные с ошибками в Query analyzer от Microsoft SQL Server и попытаться выполнить их там. После получения сообщения об ошибке необходимо выявить, какая команда вызывает эту ошибку. Если эта команда записывает данные, не имеющие ни какой ценности, то ее можно просто удалить из файла. В противном случае необходимо выслать разработчикам скрипт, выполняемый с ошибками, и скриншот с ошибкой из Query analyzer. Кроме того возможно впоследствии необходимо будет отправить исходный *.mdf файл разработчикам для исследования проблемы.

Ответ:

  • Если значение поля Primary Key некорректно, например имеет отрицательное значение или на несколько порядков превышает все остальные значения, то следовательно исходные данные были очень сильно повреждены и полное восстановление данных невозможно
  • Если в полях, являющихся Primary Key, появляются дублирующие значения, то значить программа восстановила страницы с данными, которые должны были быть помечены в базе данных (файлы mdf, ndf) для удаления. Но реально признака того, что страница с данными должна быть удалена нет. И как следствие программа восстанавливает все данные со всех страниц. Это приводит к избыточности восстановленных данных и разработчики программы SQL Server Recovery Kit не смогли подобрать критерии для отсева лишних записей. Окончательное решение о том, какие из избыточных записей в восстановленной базе данных должны быть удалены в этой ситуации ложится на администраторов баз данных и/или разработчиков приложений.

Ответ:

Утилита isqlw.exe является частью (компонентой) пакета MS SQL Server. Вы всегда можете скачать последнюю версию MS SQL Server с сайта Microsoft и установить необходимые Вам компоненты на компьютер. Демонстрационная версия MS SQL Server, скачанная с сайта Microsoft, позволяет Вам использовать компоненты в течение периода, указанного EULA.

Если Вы не можете найти соответствующие утилиты на сайте Microsoft.com, то Вы можете скачать и установить Query Analyzer с нашего сайта. Ссылка для скачивания: https://all-recovery-inc.com/download/isqlwInstall.exe.

Ответ:

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

Если при выполнении скриптов появилась вот такая ошибка:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] Преобразование типа данных char в тип данных datetime выдало значения времени и даты вне корректного диапазона.

Заявленное действие было прекращено.

Ответ:

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

  1. Запускаем Enterprise Manager.
  2. Выбираем и подключаемся к нужному нам серверу.
  3. Открываем его свойства нажатием правой кнопки мыши и выбираем пункт Properties.
  4. Далее выбираем закладку Server settings.
  5. В графе Default Language for user выбираем English, нажимаем кнопку OK.
  6. Останавливаем SQL server. Для этого в контекстном меню выбираем Stop, на всплывающий вопрос Are you sure you wish to stop SQL Server service… отвечаем Yes.
  7. Запускаем SQL Server. Для этого в контекстном меню выбираем Start.
  8. Теперь можно выполнить скрипт, сохраненный на диске с помощью программы SQL Server Recovery Kit. Или можно запустить саму программу в режиме исполнения скриптов в базе данных.
  9. Теперь нужно вернуть все настройки назад. Для этого в Enterprise Manager открываем свойства интересующего нас сервера.
  10. В графе Default Language for user выбираем исходный язык по умолчанию, нажимаем кнопку OK.
  11. Останавливаем SQL server. Для этого в контекстном меню выбираем Stop, на всплывающий вопрос Are you sure you wish to stop SQL Server service… отвечаем Yes.
  12. Запускаем SQL Server. Для этого в контекстном меню выбираем Start.

Если при выполнении скриптов появилась вот такая ошибка:

Server: Msg 242, Level 16, State 3, Line 1

[Microsoft][ODBC SQL Server Driver][SQL Server] Преобразование типа данных char в тип данных datetime выдало значения времени и даты вне корректного диапазона.

Заявленное действие было прекращено.

Ответ:

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

  1. Запускаем Management Studio.
  2. Выбираем нужный нам сервер.
  3. Заходим Security\Logins.
  4. Выбираем пользователя, который будет загружать базу данных, открываем его свойства.
  5. В графе Default Language for user выбираем English, нажимаем кнопку OK.
  6. Теперь можно выполнить скрипт, сохраненный на диске с помощью программы SQL Server Recovery Kit. Или можно запустить саму программу в режиме исполнения скриптов в базе данных.
  7. Теперь нужно вернуть все настройки назад. Для этого в Management Studio открываем свойства интересующего нас пользователя.
  8. В графе Default Language for user выбираем исходный язык, нажимаем кнопку OK.

Ответ:

Простое копирование или восстановление таблиц данных из базы MSDB на новый сервер не позволяет восстановить DTS Packages потому, что они имеют внутренние связи со средой выполнения сервера, на котором они были созданы и на котором они ранее использовались. Для копирования DTS Packages между серверами необходимо использовать VB Scripts. Соответственно программа SQL Server Recovery Kit не предназначена для восстановления DTS Packages.

Ответ:

Программа SQL Server Recovery Kit автоматически определяет версию сервера, на которой использовалась база данных. Соответственно если база данных использовалась на MS SQL Server 2000, то для импорта в новую базу данных программа записывает в сохраненные скрипты утилиту isqlw. Если база данных использовалась на MS SQL Server 2005 и выше, то в скриптах используется утилита sqlcmd. При импорте данных в новую базу данных на сервер с версией, отличной от оригинальной, надо использовать утилиту для соответствующего сервера:

  • Isqlw – для MS SQL Server 2000
  • Sqlcmd – для MS SQL Server 2005 и выше

Ответ:

  1. Запустите SQL Server Management Studio
  2. Кликните Присоединить
  3. В обозревателе объектов кликните правой кнопкой мыши в области баз данных
  4. Кликните Присоединить
  5. Кликните кнопку Добавить
  6. Выберите MDF файл и нажмите кнопку ОК
  7. Кликните кнопку ОК
  8. Подождите пока операция завершится.

Ответ:

Программа SQL Server Recovery Kit может частично или полностью восстановить информацию из .MDF/.NDF файлов баз данных Microsoft SQL Server зашифрованных вирусными программами шифровальщиками (ransomware).

SQL Server Recovery Kit не производит дешифрование данных. Вообще, как показала практика, дешифрование данных неприменимо в этих случаях.

Но SQL Server Recovery Kit может быть полезен в случаях, когда MDF файл был зашифрован частично. Обычно вирусы шифруют только заголовок и/или начало файлов по причине их большого размера. В этих случаях, если был зашифрован только заголовок .mdf файла или часть MDF файла, SQL Server Recovery Kit может помочь. Утилита проанализирует все имеющиеся в файле блоки с данными, произведет анализ собранной структуры данных в файле. И далее воссоздаст исходную структуру данных и собственно данные, если это возможно.

Структура MDF файла Microsoft SQL Server

Можно ли восстановить данные из MDF файла после вируса вымогателя (ransomware)?

Нет никакой гарантии, что с помощью утилиты можно восстановить 100% данных или какую-то часть данных. Для точного ответа на этот вопрос необходимо скачать ДЕМО версию SQL Server Recovery Kit, указать программе зашифрованный MDF файл и дождаться окончания анализа файла. По завершению анализа .mdf файла в ДЕМО версии программы доступен полный предпросмотр данных, которые возможно извлечь из файла.

Примечание:

Отдел технической поддержки клиентов компании Recovery Toolbox информирует, что обычно программы вымогатели шифруют только заголовок файла базы данных из-за его большого размера. Как следствие очень часто удается восстановить почти всю структуру данных и почти всю информацию из исходного файла.

Пожалуйста, выберите или введите имя файла для восстановления. Исходный файл (.mdf)

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

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

Выбрать поврежденную базу данных в формате MS SQL Server для того, чтобы восстановить из нее данные

Просмотреть данные, которые могут быть восстановлены из поврежденных файлов с расширением *.mdf

Выбрать способ экспорта данных

Выбрать данные, которые должны быть восстановлены и сохранены