Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Dans des scénarios de ce type, la sécurité des accès est particulièrement importante :

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 :

L’article complet est ici : https://www.sqlservercentral.com/articles/Security/66151/ ![]()