ОПИСАНИЕ ПРОБЛЕМЫ:
Локальная сеть гигабитная, сервер MS SQL 2005, пара десятков клиентов. База данных на MS SQL 2005 (порядка 100 таблиц), к ней написан интерфейс пользователя на C#. Практически все формы интерфейса решают задачу отображения данных и позволяют их редактирование. Причем отображаемые на одной форме данные сильно зависят функционально от данных из множества разных таблиц и получены путем выполнения сложных запросов. Потенциально в текущий момент времени, когда пользователь смотрит результаты запроса в интерфейсе, сами данные уже могут быть изменены другим пользователем.
ВОПРОС:
Как отслеживать обновления данных в таблицах БД для принятия решения о повторном запросе и отображении его результатов в интерфейсе в режиме времени, близком к реальному?
Перевыполнять запрос раз в ...цать секунд — не решает проблемы при большом количестве клиентов и интерфесных приложений.
Спасибо.