Приключилась следующая ситуация. Забилась база событий 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.