Suena como algo que haría usando el firewall de Windows (puede bloquear los puertos de SQL Server y permitir excepciones para ciertas direcciones IP).
Podría hacer esto con algo como un activador de inicio de sesión que verificara la dirección IP usando sys.dm_exec_connections pero creo que es una opción mucho menos deseable que bloquear el tráfico por completo.
Sin duda mucho más difícil de hacer a nivel de base de datos.