MSSQL: откат БД из резервной копии.MDF/.LDF
Я по ошибке удалил таблицу в Microsoft Server Management Studio, и функция восстановления не была правильно настроена.
У меня есть старые.mdf и.ldf файлы конкретного БД с удаленной таблицей в нем. Как мне правильно восстановить старую версию с этими файлами? Можно ли "отсоединить" и повторно прикрепить старую версию, которая существует в другой папке? Как работает этот функционал? Что произойдет с текущими файлами.mdf/.ldf и будут ли старые файлы, которые я прикрепляю, перемещены в соответствующую папку?
1 ответ
Я бы прикрепил файлы к новой базе данных, написал бы таблицу и заново создал ее в вашей активной базе данных.
Сначала переместите файлы *.mdf и *.ldf в расположение файлов базы данных по умолчанию. Таким образом, они наследуют соответствующие разрешения на уровне файлов.
Теперь создайте новую базу данных из существующих файлов, но с новым именем:
USE master
GO
CREATE DATABASE mydb_restored ON
( FILENAME = N'C:\Program Files\MSSQL\Data\mydb.mdf' ),
( FILENAME = N'C:\Program Files\MSSQL\Log\mydb_log.ldf' )
FOR ATTACH
GO
Теперь вы должны быть в состоянии просмотреть старую базу данных, найти нужную таблицу. Щелкните правой кнопкой мыши, выберите "Таблица сценариев как" и откройте сценарий "CREATE TO" в редакторе запросов.
Отредактируйте сценарий, чтобы использовать исходную базу данных вместо восстановленной, и вы сможете заново создать таблицу.
Вы также можете сгенерировать скрипт, который включает в себя данные из восстановленной таблицы