Parece algo que você faria usando o firewall do Windows (você pode bloquear as portas do SQL Server e permitir exceções para determinados endereços IP).
Você poderia fazer isso com algo como um gatilho de logon que verificasse o endereço IP usando sys.dm_exec_connections, mas acho que é uma opção muito menos desejável do que bloquear o tráfego diretamente.
Certamente muito mais difícil de fazer no nível do banco de dados.