Uma resposta bastante longa, mas sua melhor aposta seria algo como SqlCacheDependency .
Além disso, você pode usar algo chamado de técnica "Reverse AJAX", que é usada pelas notificações do Google Mail e comentada aqui:Como funciona a notificação de e-mails recebidos no Gmail?
Além desses dois, suas outras opções AFAIK é uma simples pesquisa de servidor.
Além disso, você não mencionou o que seu cliente é.
É um site público na internet? É um aplicativo de intranet, é um aplicativo WPF?
Se for um site, o melhor é fazer callbacks do lado do cliente usando a técnica Reverse AJAX que mencionei.