Una risposta piuttosto lunga, ma la soluzione migliore sarebbe qualcosa come SqlCacheDependency .
Inoltre potresti usare qualcosa chiamato la tecnica "Reverse AJAX", che viene utilizzata dalle notifiche di Google Mail e di cui si parla qui:Come funziona la notifica della posta in arrivo su Gmail?
Oltre a queste due, le tue altre opzioni AFAIK sono semplici polling del server.
Inoltre, non hai menzionato il tuo cliente è.
È un sito web pubblico su Internet? È un'app intranet o un'app WPF?
Se si tratta di un sito Web, la soluzione migliore sono i callback lato client utilizzando la tecnica Reverse AJAX che ho menzionato.