Почему truncate работает так быстро? Потому что данные физически не удаляются, а лишь помечаются как доступные для перезаписи. То есть помечаются pfs - страницы как страницы с свободным местом. Иначе говоря - работа с метаданными. Это же и причина почему truncate так мало пишет в лог.
А как можно откатить закоммиченную транзакцию с тем же delete? Искать в логах, что удалила транзакция и вручную восстанавливать?
Самый простой через restore, но можно и заморочиться прочитать лог, найти предыдущее значение и заново его записать. Второй способ трудоемкий и если вы удалили много записей, то проще восстановить из бэкапа.
Нинзи, а вот такой вопрос, перетащили базу на другой сервер путём отсоединения и присоединения, модель базы простая. Вопрос, лог не обязательно тащить и присоединять, можно же с новым логом продолжать работать?