У нас есть неудачный случай, когда многие наши приложения обращаются напрямую к базе данных (в основном нативные приложения, наши управляемые приложения проходят через DAL). У нас более 300 таблиц, и нам нужно вызывать события на основе модификаций определенных таблиц. Эти события будут генерироваться через Enterprise Service Bus (nServiceBus) или MSMQ, и наши приложения будут подключаться к этим событиям.
Например:
- Если есть вставка в таблице 1 и обновление в таблице 2, вызовите некоторые события.
- Если есть обновление в таблице 1, удаление в таблице 2 и обновление в таблице 3, вызовите некоторые события.
В целом мы ожидаем, что не будет более 25 событий, и каждое событие не затронет не более 5 таблиц.
Информация:
- Мы выполняем много длительных задач, и нашим приложениям необходим опрос для завершения.
- У нас есть набор действительно старых приложений, которые общаются напрямую с базой данных, и изменение их для использования какого-либо DAL невозможно.
- Нам потребуется выполнить некоторую примитивную фильтрацию событий, чтобы некоторые события только проверялись и не генерировались.
- Мы используем SQL Server 2008 R, но не можем иметь корпоративные лицензии на всех наших установочных площадках.
Мы ищем CDC-подобное решение, к которому мы можем подключиться. Указатели на возможные решения или вклад / опыт были бы очень полезны:)