С моей точки зрения, нет необходимости разрешать клиентам подключаться к серверу БД напрямую.Здесь должен быть еще один уровень, который будет подключаться только к серверу и кэшировать информацию об обновлениях.Ваши клиенты должны подключиться к этой дополнительной информации и работать с кэшированной информацией.
ОБНОВЛЕНИЕ Насколько я понимаю, проблема возникает потому, что все ваши клиенты пингуют ваш сервер БД каждые две секунды.Решением этой проблемы является создание специального модуля, который будет иметь доступ только к серверу БД и запрашивает его обновление.Например, каждые две секунды.Если обновление готово, оно должно быть в состоянии извлечь его из БД и сохранить.Это то, что я имел в виду под дополнительным уровнем.
Теперь давайте вернемся к вашим клиентам.Они должны иметь возможность общаться с этим модулем и получать от него информацию о готовом обновлении (эта информация кэшируется, и поэтому ее очень быстро получить. Кроме того, вам не нужно пинговать сервер при каждом запросе клиента).Если обновление готово, загрузите его на стороне клиента и работайте на стороне клиента.
Что касается связи между этим дополнительным уровнем и клиентами.Поскольку вы работаете с .NET, я бы посоветовал вам взглянуть на WCF, который, с моей точки зрения, становится стандартным подходом для реализации межпроцессного взаимодействия в .NET.В сети много информации об этом, я скоро опубликую ссылки.
Вот моя любимая книга WCF:
Программирование служб WCF
MSDN-запись:
Windows Communication Foundation