Дело №1: «История одного .mdf» — 3 июня 2026 г. в 10:10:44.055
Дело №1: «История одного .mdf» 2015 год. Компания «Купи пакет». Молодой сисадмин Петя решает сэкономить на лицензии для бэкапов. На форуме пишут: «База данных — это просто файл. Переведи в offline, скопируй .mdf — и порядок». Петя в среду вечером переводит SQL Server в OFFLINE, копирует заветный файл на внешний диск и спокойно уходит в отпуск. Через месяц основной диск сервера выходит из строя. Петя достаёт внешний диск, пытается присоединить скопированный .mdf… и получает: «Ошибка 3456: Невозможно выполнить откат транзакций. База данных помечена как подозрительная». В логах SQL Server за тот вечер сохранилась запись: «LSN chain broken. Ghost transaction found». А ночной охранник позже припомнил, что слышал короткий необычный скрежет из серверной — но камеры ничего не зафиксировали. Что погубило данные? 1)🦠 Месть антивируса Во время копирования штатный антивирус начал проверку внешнего диска. Часть страниц .mdf показалась ему вредоносной, и он изолировал их в карантин. Разрыв цепочки LSN и ошибка 3456 — результат физической пропажи блоков данных. 2)🗿 Зависть предшественника Бывший сисадмин оставил в планировщике задание-бомбу. Если кто-то переведёт базу в OFFLINE без корректного sp_detach_db, скрипт модифицирует заголовок .mdf и дописывает в лог пугающую строку. Царапина на корпусе сервера — его «автограф». 3)💰 Плата за жадность База работала на урезанной редакции SQL Server. В ней есть скрытый механизм контроля: при попытке копирования .mdf в обход BACKUP сервер намеренно искажает контрольную сумму и оставляет «Ghost transaction» как метку. Никакой мистики — только ограничения лицензии. 4)👻 Проклятие спешки Петя не дождался отката активных транзакций и не выполнил sp_detach_db. Файл скопировался с разорванной цепочкой LSN. Журнал транзакций остался на старом диске, а зависшая операция так и не попала в .mdf. Ошибка 3456 — классическое следствие несогласованного состояния. 5)🤪 Петя сделал вообще все неверно Герою следовало выполнить штатную процедуру Back Up, упаковывать базу в формат .bak (включая журналы транзакций) причём в обычном режиме без выключения сервиса. Принять участие в конкурсе и выиграть мерч можно в нашем телеграм канале. Подарим подарки 3-м участникам, выбравшим правильный вариант ответа. ✨ Разгадка — в пятницу.

