Dans des scénarios de ce type, la sécurité des accès est particulièrement importante :

image

Avec un trigger sur la connexion et  un appel à la fonction EVENTDATA() le tour est joué :

   1:  CREATE TRIGGER tr_logon_CheckIP  
   2:  ON ALL SERVER 
   3:  FOR LOGON 
   4:  AS 
   5:  BEGIN 
   6:    IF IS_SRVROLEMEMBER('sysadmin') = 1 
   7:    BEGIN 
   8:     DECLARE @IP NVARCHAR(15); 

9: SET @IP = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost) [1]', 'NVARCHAR(15)'));

  10:     IF NOT EXISTS(SELECT IP FROM DBAWork.dbo.ValidIP WHERE IP = @IP) 
  11:       ROLLBACK; 
  12:    END; 
  13:  END; 
  14:  GO   

Et voilà le résultat :

image

L’article complet est ici : http://www.sqlservercentral.com/articles/Security/66151/ _us