Восстановить базу данных только с помощью файла LDF

2058
Martin

Прежде всего, я знаю, как глупо не иметь никакой резервной копии. Я не могу с этим поделать, но я должен (попытаться) решить это.

У меня есть файл журнала транзакций (LDF) из базы данных SQL Server 2000, который содержит все транзакции с момента создания базы данных. Усечения не было сделано. Файл MDF пропал. Вероятно, из-за сбоя диска. Резервной копии нет. Не из исходной базы данных и не из журнала транзакций.

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

Кто-нибудь знает решение для меня? Он может содержать стороннее программное обеспечение, но я предпочитаю чистое решение SQL Server.

2
Мне любопытно, как вы пришли, чтобы получить файл PDF без файла MDF. Насколько я знаю, вам не повезло. Если вы решили это, дайте нам знать, как! DForck42 11 лет назад 0

1 ответ на вопрос

0
Steven

Так как же ушел МДФ? Диск данных был поврежден или вышел из строя?

Помимо использования стороннего инструмента, у вас не так много вариантов.

Единственное, о чем я могу думать, это присоединить LDF к фиктивной базе данных, а затем взять хвост резервной копии журнала. Но даже тогда он вам ничего не купит.

Вот основной процесс:

create database MyDatabase go  -- run a full backup, this can be disgarded  alter database MyDatabase set offline go  -- go delete the mdf and ldf  alter database MyDatabase  set online go  backup log MyDatabase to disk = 'C:\SQL Backups\MyDatabase-tail.trn' with no_truncate go 

Теперь у вас есть резервная копия журнала вашего файла LDF, но я не уверен, что вы можете сделать с этим оттуда.

Может быть, искать продукт, который позволяет читать файл резервной копии ...

Удачи!