20.07.2012, 18:53 | #1 |
Участник
|
Полноценное восстановление записей, используя лог
Коллеги, добрый вечер.
Заинтересовал вопрос полноценного восстановления записей, используя лог. Пример : Был создан обычный складской журнал. В следствии создания строк журнала образовались проводки (ждущие разноски, так скажем). За строками журнала ведется лог. Вдруг, пользователь случайно удаляет строки журнала. В лог это удаление прописывается. Заходим в лог, смотрим - да так оно и есть. Пытаемся вернуть все обратно, используя возможности восстановления лога. Но - в исходное состояние возвращается только строчка журнала - проводка к ней естественно не создается. Кто нибудь решал такую задачу? Я понимаю, что универсальность практически не реализуема. Но хотя бы что-нибудь.Частые ошибки пользователей и текучка кадров дают о себе знать. Были бы интересны мысли по этому поводу. Спасибо.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
20.07.2012, 19:18 | #2 |
Участник
|
Цитата:
суть: восстанавливать надо все записи, удаленные в одной транзакции. недостатки: 1. так восстанавливается не одна строчка, а весь удаленный журнал 2. возможны нарушения логической целостности базы (могут появиться отрицательные остатки например, или повторно занятая ячейка) 3. лог содержит только те поля, которые были на момент удаления. Если между удалением и восстановлением была изменена структура, то в логе отсуствуют новые поля и возможны нарушения constrains уже на уровне базы. лучше не используйте. побочные эффекты хуже лекарства. |
|
|
За это сообщение автора поблагодарили: Pustik (5). |
20.07.2012, 20:31 | #3 |
Участник
|
"Администрирование"-->"Запросы"-->"Журнал базы данных"
Настроить ведение журнала на нужные таблицы. Простейший джоб возвращает данные на место по нужным параметрам. Периодически используем данную возможность. Есть конечно свои минусы. |
|
|
За это сообщение автора поблагодарили: Pustik (2). |
|
|