У меня есть задача, в которой я контролирую базу данных, но не приложение, которое выполняет операции CRUD в базе данных SQL Server 2008 R2.Лучший способ получить оповещение вскоре после ввода данных в таблицу SQL Server
В идеале, я хотел бы позвонить (POST) веб-API (обратите внимание, что мне не нужно ждать ответа API) вскоре после операции вставки в таблице данных.
вещи на мой взгляд, для достижения этой цели
Создание триггера SQL Server на таблице данных (включен CLR, но это SQL Server 2008R2 так он использует .Net 2.0).
Возможно, мне понадобится создать хранимую процедуру для вызова веб-API (POST) (она должна быть пожарной и забыть, поскольку мне не нужно ждать ответа API) как часть триггера.
Служебный брокер и предупреждение о введении в эксплуатацию ---> Это хорошо работает, но я беспокоюсь о параллелизме.
Традиционный опрос
Вопросы: Если я иду с первым раствором, делает триггер выполняются в том же объеме сделки как операции вставки? Если веб-API отключен, будет ли он задерживать операцию вставки? Поддерживает ли этот метод параллелизм?
Есть ли какой-либо другой метод, который вы бы порекомендовали? (Пожалуйста, укажите плюсы и минусы в качестве части решения)
Как скоро «скоро»? – Solarflare
Хорошо. Я должен был использовать «в реальном времени» вместо «скоро» – Jayee
Я не знаю много о третьем. Что касается 1-го и 2-го, я думаю, вы должны сделать как для защитного подхода: создание триггера SQL защищает ваш уровень персистентности; сервисный брокер и инъекция зависимостей обеспечивают уровень вашего веб-приложения. 1 - задача для администратора баз данных, а 2 - для инженеров-программистов. Оба хороши иметь.Обратите внимание, что вы не должны создавать хранимую процедуру (SP), а TRIGGER, которая выполняется сразу после операции _INSERT_ с помощью SQL Server. Эта проверка триггера (ов) включена в ту же транзакцию. Если возникнет какая-либо ошибка, транзакция будет отменена. –