Назад | Перейти на главную страницу

Восстановить базу данных MS SQL 2008 из файлов

можно ли восстановить сервер MSSQL, скопировав его каталог / файлы данных? У меня поврежден жесткий диск, и мне удалось восстановить каталог C: \ Program Files (x86) \ SQL Server 2008 \ MSSQL \ MSSQL10.MYDATABASE. Я скопировал это в свою новую установку и попытался запустить службу, но это не удалось. Возможно ли как-то восстановить базу данных?

Я использую 64-разрядную версию Windows 7 и MS SQL Server 2008 R2.

  1. Вам не следовало копировать весь каталог. Вы должны были скопировать только базу данных и файлы журнала транзакций для рассматриваемой базы данных.

  2. Удалите и повторно установите SQL Server на целевом хосте.

  3. Скопируйте файлы базы данных и журнала транзакций для соответствующей базы данных на целевой хост.

  4. Прикрепите базу данных.

Для восстановления базы данных из файлов вам понадобится файл данных - MDF, иногда также существует NDF, и файл журнала - LDF.

  1. Запустите SQL Server Management Studio
  2. Щелкните правой кнопкой мыши Базы данных узел
  3. Выбрать Прикреплять
  4. Нажмите Добавить
  5. Выберите файл MDF, который вы сохранили
  6. Файл LDF должен быть добавлен автоматически. В противном случае отобразится сообщение «Не найден», и вы должны будете добавить файл вручную, нажав кнопку с многоточием.

Если это не удается, попробуйте прикрепить только файл MDF, используя sp_attach_single_file_db функция

EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012Restored' ,
@physname = N'D:\ApexSQL\backups\CS2.mdf';

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

Восстановление ApexSQL - это инструмент, который может читать поврежденный файл MDF, воссоздавать все объекты и восстанавливать записи таблиц. Он может создать сценарий T-SQL или создать копию базы данных

Отказ от ответственности: я работаю в ApexSQL инженером службы поддержки

В точности то, что сказал @joeqwerty, всего несколько советов на будущее.

Лучше всего хранить файлы базы данных .MDF на отдельном диске от файлов журналов .LDF. Также рекомендуется хранить все базы данных на диске C :. TEMPDB лучше всего работает, когда находится на диске самостоятельно.

Вот статья, как переместить системные dbs Tech Net