Страница 1 из 1

Забивается база событий AlarmDbLogger`а

СообщениеДобавлено: Пт июн 19, 2015 9:14 pm
IDDIQD
Приключилась следующая ситуация. Забилась база событий AlarmDbLogger`а, размер составлял порядка 11 гигабайт и любые попытки обращения к ней приводили к жестокому зависанию клиента (будь то InTouch или SQL management studio). Буфер событий в логгере заполнился до максимума и события не сливались в базу. Было принято решение удалить базу. Но сделать это штатными методами не удалось: ни Alarm Purge/Archive, ни AlarmDBLogger manager`ом, даже банально службу SQL остановить не удавалось, процесс остановки зависал. В итоге пришлось убить процесс SQL сервера в диспетчере задач, руками удалить файлы базы A2ALMDB, затем в SQL management studio удалить следы базы и создать её заново AlarmDBLoggerManager`ом.
Создание прошло успешно, но при нажатии кнопки «Start» события из буффера не слились в базу, а лог оказался завален сообщениями
«Event Storage Failed to store 500 events in database (elapsed time 43 ms), Could not find stored procedure 'dbo.aaInsertAlarmsAndEvents'., transaction will be retried in a moment [SQL; EventTagPipeline.cpp; 755]»

Данной процедуры действительно не оказалось в базе событий. Начав искать решение я просмотрел другие системы, там так же не было этой процедуры, но события архивировались без проблем. Однако на одной системе всё же удалось обнаружить эту и ещё ряд хранимых процедур, которые отсутствуют на других системах.
Вопрос: откуда взялись эти хранимые процедуры, и почему их нет на ряде систем и всё работает без них?
Установлена Application Platform 2014, на серверах Windows server 2005, SQL 2012.

Re: Забивается база событий AlarmDbLogger`а

СообщениеДобавлено: Сб июн 20, 2015 12:33 am
Steelman63
обычно база A2ALMDB - это база алармов/событий Historian-а(появилась как раз в версии 2014), в нее пишут движки AppServer-а
соответственно AlarmDBLoggerManager никакого отношения к базе A2ALMDB не имеет, у него есть своя база - WWALMDB

Re: Забивается база событий AlarmDbLogger`а

СообщениеДобавлено: Вт июн 23, 2015 2:09 pm
IDDIQD
Steelman63 писал(а):обычно база A2ALMDB - это база алармов/событий Historian-а(появилась как раз в версии 2014), в нее пишут движки AppServer-а
соответственно AlarmDBLoggerManager никакого отношения к базе A2ALMDB не имеет, у него есть своя база - WWALMDB

Спасибо за ответ. Подскажите, как теперь эту базу (A2ALMDB) восстановить корректно? При передеплое она появится или нужно Historian переустанавливать?

Re: Забивается база событий AlarmDbLogger`а

СообщениеДобавлено: Вс июн 28, 2015 9:11 pm
beachbear
На компьютере, где установлен Historian в его директории должен быть выполняемый файл aahHistorianCfg.exe.
Этот .exe с некоторым диалоговым интерфейсом занимается тем, что создаёт с нуля или мигрирует базы данных Runtime и A2ALMDB.
Надо быть осторожным и не обнулить по ошибке базу Runtime заодно с A2ALMDB.
Поэтому надо обязательно сделать полную резервную копию базы Runtime до запуска aahHistorianCfg.exe, чтобы её восстановить если что-то пойдёт не так, как планировалось. Разумеется, Historian-у надо сделать Shutdown and Disable перед запуском этой утилиты и подождать пока он полностью остановится.