>Если у тебя файл БД обнулился, то чем тебе поможет журнал?Журнал поможет, если в журнале есть все данные для восстановления. Если журнал начинается с точки Х, а БД началась с точки Х-100500, то журнал, естественно, не спасет. См. ответ ниже, я там тебе подробно все изъяснил.
>Как ты будешь откатывать изменения, если транзакция уже начала применяться к БД, а журнал потерян?
Не совсем понятно, что имеется ввиду, точнее, не ясно какой момент БД подразумевается. В случае, если журнала нет, а БД есть и точкой времени для описываемой ситуации является начало работы БД, то имеется несколько развязок (зависит от конфигурации):
0. Во всех случаях БД сообщит, что файл журнала был нарушен.
1. БД может не стартовать, т.к. такая ситуация является критической (требует вмешательства DBA).
2. БД может стартовать в штатном режиме, если имеются НЕповрежденные копии журнала.
3. БД может стартовать в штатном режиме и восстановить работу журнала. Если последнее не удастся сделать, то опять вилка: либо критическая ситуация, либо продолжение работы (пофигизм).
В случае, если журнал теряется при работающей БД, то тогда могут применяться различные методики: от пофигизма до полной остановки БД или перехода в режим RDONLY. В любом случае, это критическая ситуация, даже если тупо закончилось место на диске. Задача DBA _снизить_ риск потери всех данных до минимума, а не пытаться создать _идеальную_ систему (кои ты увидел в raw-дисках ^_^). Она в любом случае будет не идеальной, т.к. даже в случае кластера может накрыться вообще _всё_. Тут-то и спасут фулбэкапы :)