Что привело к исчезновению записей SQL Server? - PullRequest
0 голосов
/ 07 декабря 2010

MS SQL Server 2008 Standard, ShadowProtect Server Edition 4.0.0.5885 - В пятницу наш клиент обнаружил, что записи отсутствуют в базе данных. Я обнаружил, что резервная копия SQL вечера четверга содержала все недостающие записи. Ошибка пользователя исключена по нескольким причинам.

  • Все отсутствующие записи попадают в 8-дневный диапазон
  • Диапазон дат начался за 22 дня до пятницы и закончился за 14 дней до пятницы
  • Все добавления и все изменения, сделанные в течение 8-дневного диапазона, отсутствуют в 14 отдельных таблицах
  • Все отсутствующие записи присутствуют в резервной копии в четверг в 23:00
  • Насколько я вижу, в журналах приложений нет необычных инцидентов.

Я не нахожу ничего необычного в списке приложений в средстве просмотра событий MS SQL Server. Мы используем сервер ShadowProtect, чтобы каждый час создавать резервные копии образов двух дисков сервера. Такой же инцидент произошел 4 месяца назад.

ShadowProtect выполняет почасовое резервное копирование базы данных.

Одна из теорий заключается в том, что программное обеспечение образа диска ShadowProtect Server 4, которое выполняет ежечасное разностное резервное копирование, каким-то образом вызывало потерю данных во время резервного копирования в пятницу, 9:00 утра. Я не знаю о какой-либо другой деятельности. кроме обычных обращений пользователей, между обычным резервным копированием базы данных в четверг в 23:00 и обнаружением пропущенных записей в пятницу.

Спасибо за помощь. Как вы можете себе представить, клиент очень обеспокоен.

Ответы [ 3 ]

0 голосов
/ 13 апреля 2012

Мы так и не выяснили причину утерянных записей.Мы переустановили базу данных в другом экземпляре MS SQL Server, обновили базу данных до нового выпуска и перенесли данные из старой базы данных в новую.Кажется, это решило проблему.

0 голосов
/ 05 марта 2019

У меня была похожая проблема на ВМ. Ошибка указывала на базу данных, но SQL Server фактически не работал. По какой-то неизвестной причине SQL Server остановился. Кажется, что виртуальная машина была перезапущена, и служба не запускалась автоматически. После запуска службы с помощью средств администрирования Windows сервер снова включился и база данных была там

0 голосов
/ 07 декабря 2010

Если вы хотите знать, что удаляет записи или когда они были удалены, в базе данных должны быть настроены контрольные таблицы, которые включают имена пользователей и даты изменений.Затем вы можете просмотреть журналы аудита, чтобы увидеть, когда записи были удалены и кем или каким процессом.Все базы данных, которые содержат важную бизнес-информацию, должны иметь аудит.К сожалению, после того, как событие произошло, уже слишком поздно, чтобы узнать, кто сделал это на этот раз с помощью аудита.Возможно, вам удастся найти какой-либо сторонний продукт для просмотра журналов транзакций и, по крайней мере, узнать, когда произошло удаление, если нет, то кто.Вы также должны делать резервные копии журнала транзакций каждые 15 минут или около того.

Я не знаком с сервером ShadowProtect, но отсутствующие данные звучат точно так же, как был запущен сценарий (и было удалено каскадное удаление), и вряд ли это сервер ShadowProtect.Если бы это мешало, я бы ожидал более случайное изменение, которое можно легко сделать с помощью SQL-запроса.Вы разрешаете прямой доступ к своим столам?У вас может быть кто-то, пытающийся навредить данным или скрыть мошеннические действия.Угрозы данным не всегда исходят из внешних источников или приложений, которые были бы в журнале событий.У кого есть доступ к удаленным данным в базе данных о производстве?Я бы заподозрил недовольного сотрудника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...