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" в редакторе запросов.

Отредактируйте сценарий, чтобы использовать исходную базу данных вместо восстановленной, и вы сможете заново создать таблицу.

Вы также можете сгенерировать скрипт, который включает в себя данные из восстановленной таблицы

Другие вопросы по тегам