Microsoft SQL Server
Журнал транзакций

Пропали данные: бэкапа нет, но есть журнал

Опубликовано: 20 дек 02
Рейтинг:

Автор: jimmers
Прислал:

Можно попробовать восстановить данные по журналу транзакций. Для этого предлагается немедленно скопировать все файлы журналов (как правило, *.LDF) в отдельный каталог и использовать программу Lumigent LogExplorer для работы с ними. Возможно “спасение” удаленных данных (delete, truncate) даже для случая модели восстановление Simple, если своевременно спохватиться и сделать копию файлов журналов до того, как они будут переписаны новыми транзакциями. Для копирования файлов журналов придется остановить сервер.

Комментарии


  • По TRUNCATE данные в LOG все же заносятся
    только
    MSDN:Removes all rows from a table without logging the individual row deletions. TRUNCATE TABLE is similar to the DELETE statement with no WHERE clause; however, TRUNCATE TABLE is faster and uses fewer system and transaction log resources.



    USE tempdb
    GO

    CREATE TABLE T1(
    ID int NOT NULL identity(1, 1),
    DATA char(5) NULL,
    N int NULL
    )
    GO

    INSERT T1 DEFAULT VALUES
    GO 10

    BEGIN TRAN

    TRUNCATE TABLE T1

    SELECT
    *
    FROM
    T1

    ROLLBACK

    GO

    SELECT
    *
    FROM
    T1
    GO

    DROP TABLE T1

  • Вообще-то, удаленные по truncate данные в лог транзакций не заносятся.

  • Вот если бы сюда вложили эту чудесную программу! Цены бы не было!

  • Спасибо. Как раз надо восстановить удаленные данных без бэкапа. Сейчас буду пробовать этот способ.



Необходимо войти на сайт, чтобы оставлять комментарии

Раздел FAQ: Microsoft SQL Server / Журнал транзакций / Пропали данные: бэкапа нет, но есть журнал