M$ SQL 2005 — же-е-е-сть…

Posted: 2010-04-15 in IT
Метки:

Понадобилось тут создать тестовую базу на основе рабочей, восстановив её из ночного бэкапа. Восстановил первый раз — нет нужных данных. Я в шоке. Второй раз. Бля, наверно не выспался. Третий раз. Ну нет, и хоть тресни… Восстановил копирование рабочей, ОК. Полез разбираться, чего за нахер, почему в бэкапе нет нужных данных — и весьма конкретно охуел.

Блджад, перестал делаться бэкап у M$SQL-сервера.
Делалось оно через отдельную встроенную учетку SQLServer, парольная политика конкретно для этой учетки была выключена нахх (ибо для встроенной учетки с 20-символьным паролем она нах не нужна, да и истечение пароля на такой учетке приведет к нарушению бэкапа в будущем), все работало как часы больше года. С какого-то момента стало не зайти под этим пользователем. В логах ничего криминального не нашел. Пока пароль не сменил — ничерта не работало. Все секурити-патчи стоят. Ну вот что, скажите мне, что могло в этом несчастном сервере поломаться ? Обычная встроенная учетка SQL Server, используемая сугубо для выполнения команд типа BACKUP DATABASE локально, где ломаться по идее просто нечему.
И это еще один из самых приличных серверных продуктов Microsoft…

В связи с этим вспомнился похожий случай — когда бэкап другого подобного сервера, но более продвинутой версии, делался встроенной службой SQL Server Agent. Все работало года два вообще без нареканий, после чего в один прекрасный момент у заданий (SQL Server Agent -> Jobs) слетели владельцы. Соответственно, нихера не бэкапилось, никакие оповещения не срабатывали, только изредка в евент-логе появлялась скромная запись, сообщающая, что такой-то логин не смог выполнить такую-то команду. Учитывая, что неправильный ввод пароля пользователем в учетной системе дает почти такое же сообщение в логе, то становится понятно, насколько удобно отлавливать такую подлянку.

Так что даже хорошо настроенный и долгое время работающий сервис вполне может выкинуть подобное.
Ну а поскольку бэкап пишется в бэкап-контейнеры, то узнать о случившемся обычно можно двумя путями: либо глубокой раскуркой мудотнейше организованного евент-лога, либо заглянув внутрь бэкап-контейнера и внимательно сверив даты.

Кстати, если такое вовремя не обнаружить, то в час "Ч" никакой вазелин не спасет.

Обсуждение закрыто.