This question был задан довольно давно, и хотя он охватывает возможные решения для SQL 2005 и 2008, у него нет хорошего решения для SQL 2000, которое все еще слишком распространено.Как отслеживать таблицы в SQL Server для изменений
Мне нужно отслеживать определенные поля таблицы базы данных для изменений и уведомлять мое приложение, когда происходят эти изменения, с тем чтобы я мог взорвать их в локальной сети в виде широковещательных сообщений, где любой пользователь с клиентом может их прослушать и отображать их как оповещения (думаю, что-то похожее на данные фондового рынка, достигающие определенных пороговых значений).
Я НЕ хочу опросить базу данных по нескольким причинам. 1) Я не хочу добавлять дополнительную нагрузку на серверы. 2) Я предпочел бы получать уведомления почти в режиме реального времени, а не ждать, пока частота опроса истечет.
Теперь я могу поместить логику в приложения, которые обновляют базу данных, но данные могут быть обновлены из нескольких источников, в том числе в Интернете, и я не хочу иметь дело с веб-серверами, отправляющими уведомления через границы DMZ и т. Д. . И я не хочу поддерживать это в 20 различных приложениях (более сильная проблема).
Я видел это на SQL 2000 с использованием расширенных хранимых процедур и триггеров, но для xp, похоже, сложно сделать кросс-платформу, и они ломаются при установке на SQL 2005 и 2008. Возможно, это просто плохой код в примеры, которые я видел, я не уверен, но я ищу что-то, что работает в SQL 2000 и более поздних версиях.
Любые идеи?
EDIT:
Я думал о потере поддержки в 2000 году, но это на самом деле не решает мою проблему. Я бы хотел, чтобы решение продолжало работать в течение долгих лет. Одна из проблем со многими технологиями microsoft заключается в том, что они отказываются от поддержки для них. Например, службы уведомлений делают то, что мне нужно, но они решили отказаться от этого в 2008 году и не будут доступны в следующей версии. Поэтому я ищу решение, которое имеет хорошие шансы на то, что он будет торчать.