2

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

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

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

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

2 ответа2

0

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

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

Единственное, о чем я могу думать, это присоединить 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, но я не уверен, что вы можете сделать с этим оттуда.

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

Удачи!

0

Это невозможно. В файле PDF есть изменения с конкретными номерами транзакций.

Даже если вы создаете совершенно новую базу данных, ТОЧНО такую же, как и в оригинале, номера транзакций в новой базе данных не будут связаны с номерами транзакций файла ldf.

Восстановить можно только с помощью файла mdf. Связанное сообщение StackOverflow

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .