Я пытаюсь использовать Уведомления о запросах в качестве облегченного (er) весового способа определения изменения данных в таблице. Я знаю, что они используют Service Broker, и (хотя мне трудно объяснить, почему именно) они выглядят так, как будто они предпочтительнее чего-то вроде CDC или Trigger.
Уведомления о запросах настраиваются путем предоставления базе данных запроса, который отправляет уведомление " ... когда результаты [предоставленного] запроса изменяются ".
Для меня это звучит так, как будто они говорят, что любой вопрос, который вы ему задали, будет повторяться снова и снова. Я думаю, что, возможно, неправильно истолковываю, что именно SQL делает под прикрытием с этим запросом для отслеживания указанных изменений, но я не смог найти в Интернете ничего о том, что происходит на самом деле. Я надеюсь, что это что-то вроде того, что он анализирует запрос и устанавливает супер-легковесные «триггеры» для любого объекта, на который есть ссылка в запросе, но, поскольку я не знаю, я не хочу использовать эту функцию.
Кто-нибудь достаточно знаком с компонентом Service Broker и функцией уведомления о запросах, чтобы объяснить, как ядро базы данных отслеживает изменения в предоставленном запросе?