Откройте файлы SQL Server .mdf и .ldf из восстановления

Недавно у меня возникла проблема с удаленным сервером, на котором работает небольшой SQL Server.

Я использовал PhotoRec 7.0 для восстановления всех файлов, включая файлы mdf и ldf, но теперь я не иметь какую-либо связь между именами и файлами. См. пример, прикрепленный ниже:

примеры файлов

Я не смог прикрепить файлы mdf в SQL Server Studio, так как в той же папке нет файлов ldf с таким же именем.

Я использовал сторонний инструмент для открытия файлов mdf, и я могу видеть содержимое этих файлов, но мне не повезло с проверкой ldf.

Любые идеи относительно файлов mdf с их соответствующими ldf? Или способ исключить файл ldf, чтобы импортировать файл mdf в SQL Server Studio?


person Alex Deiwor    schedule 19.04.2017    source источник
comment
Вы должны сделать резервную копию базы данных и сохранить эти резервные копии, не трогая файлы .mdf и .ldf. Попробуйте начать здесь: документы. microsoft.com/en-us/sql/relational-databases/   -  person Mikhail Lobanov    schedule 19.04.2017
comment
Следующим шагом после аварийного восстановления является настройка реального сценария резервного копирования. Резервное копирование файлов возможно несовместимо.   -  person Hybris95    schedule 19.04.2017
comment
@MikhailLobanov С тобой все в порядке. Я думал, резервные копии уже настроены.   -  person Alex Deiwor    schedule 20.04.2017


Ответы (1)


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

Ниже приведены инструкции по восстановлению базы данных в сети.

1.Создайте базу данных с тем же именем (скажем, newdb )
2.Выключите сервер
3.Замените файлы newdb mdf ,ldf на свои старые (olddb) и попробуйте запустить сервер sql
4. Ваша новая БД не запускается и может* перейти в подозрительное состояние.
5. В этом случае попробуйте установить для базы данных аварийный режим и установить однопользовательский режим, как показано ниже.

alter database dbname set SET EMERGENCY;
alter database dbname  SET SINGLE_USER

6. теперь попробуйте запустить DBCC checkDB

DBCC CHECKDB (N'dbname', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;

99% проблем будут устранены DBCC, и если да, то вам повезло.

Теперь пытаемся настроить БД онлайн и многопользовательскую

* Может быть шанс, что ваша база данных полностью отключена (без активных транзакций), в этом случае вы можете попробовать выполнить команду ниже, до вышеуказанных шагов. SQL создаст для вас новый файл журнала.

Create database dbname 
    On 
    (   
    Filename= 'path where you copied files'   
    )
    For attach; 

Ссылки:
http://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-emergency-mode-repair-the-very-very-last-resort/
http://www.sqlskills.com/blogs/paul/corporation-last-resorts-that-people-try-first/

person TheGameiswar    schedule 19.04.2017
comment
Спасибо!! База данных была спасена почти на 100% по вашей ссылке - person Alex Deiwor; 20.04.2017
comment
@AlexDeiwor: используя вариант 1 или 2 - person TheGameiswar; 20.04.2017
comment
в моем случае был первый. @TheGameiswar - person Alex Deiwor; 12.05.2017