Cela ressemble à quelque chose que vous feriez en utilisant le pare-feu Windows (vous pouvez bloquer le(s) port(s) SQL Server et autoriser des exceptions pour certaines adresses IP).
Vous pouvez le faire avec quelque chose comme un déclencheur de connexion qui vérifie l'adresse IP à l'aide de sys.dm_exec_connections, mais je pense que c'est une option beaucoup moins souhaitable que de bloquer purement et simplement le trafic.
Certainement beaucoup plus difficile à faire au niveau de la base de données.