Итак, нам надоело ждать завершения нашей транзакции (после полной недели
один кусок SQL, который не будет?), и, как это мешало нашей резервной копии
процесс, мы думали, что убийство было неизбежным злом.
База данных начала откат транзакции.
прошло 5 дней.
Мы заметили в некоторых постах в Интернете, что иногда какая-то магия
произошло, когда база данных была перезапущена, и транзакция «ушла»,
хотя они обычно опровергаются *, и это не имеет смысла, мы думали, что
нечего было терять, поэтому мы попробовали. Мы знали, что база данных войдет в
режим восстановления, но база все равно становилась все более больной и не способной
в любом случае, чтобы запустить что-либо, кроме текущей работы по откату, и мы увидели, что SQL Server неправильно работает с перегрузкой системных ресурсов и не отвлекает их туда, где он должен выполнять работу.
(* мы также знаем достаточно теории баз данных, чтобы знать, что БД не просто «забудет»
о транзакции в процессе, но мы также видели дампы стека в
Журналы ошибок SQL Server, которые говорят нам, что SQL Server получал
все более раздражительный на сумму отката, который он должен был предпринять)
Итак, мы перезапустили базу данных.
Конечно, база данных перешла в режим восстановления. Тем не менее, журнал событий SQL Server
теперь каждые 20 секунд давали нам обновления о том, как долго
принять (в целом, около 25 часов от сообщений журнала, но в конечном итоге
всего полтора часа (!)).
Буду ли этот метод восстановления / отката быстрее, я бы сильно сомневался (как я ожидаю
SQL Server должен был выполнить тот же уровень работы, что и раньше, чтобы завершить транзакцию), однако он завершился в течение полутора часов, в любом случае, я не хочу заводить свою рабочую базу данных, когда она находится на полпути через откат). Сообщения об обновлениях в журнале событий были абсолютной находкой, как и любой, кто написал пакетную программу
скажу тебе; какими бы неточными они ни оказались - по крайней мере, это был наихудший случай.
Поскольку у нас была роскошь быть единственными двумя людьми, использующими эту производственную коробку, выбирая
отправить базу данных в режим восстановления работал для нас, и дал нам информационные сообщения, которые мы
не было доступа только с нашим предыдущим состоянием отката (или, по крайней мере, ничего, что мы могли бы
интерпретировать, учитывая наши недостающие навыки DBA). Я бы порекомендовал сделать это в будущем?
.... Абсолютно нет, однако, надеюсь, что заинтересованные стороны извлекли урок, и
мы можем попросить у платы немного денег для правильного сервера разработки! (эпический Джоэл-Тест провалился!)