mssql sqlserver 限制指定IP访问服务器


摘要:
下文分享禁止指定IP访问sqlserver服务器的方法分享
实验环境:sqlserver 2008 R2


例:–禁止sa账户使用相应的非(10.15.162.155)的IP访问sqlserver服务器

CREATE  TRIGGER tr_stop_ip
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN

--使用testuser这个帐号的连接
IF ORIGINAL_LOGIN()= 'sa'
   AND
 (SELECT COUNT(*) FROM sys.dm_exec_sessions
            WHERE [host_name]<>'localhost' AND
                original_login_name = 'sa') > 0

--以下代码中的IP是被允许的
and
(select top 1 b.client_net_address from sys.dm_exec_sessions a inner join master.sys.dm_exec_connections b on
a.session_id=b.session_id and a.login_name='sa' 
order by login_time desc
)
not in('10.15.162.155')
     ROLLBACK;
END;


注意事项:当我们使用限制的ip访问sqlserver服务器时,会出现以下错误提示信息

mssql_sqlserver_禁止指定ip访问服务器

mssql_sqlserver_禁止指定ip访问服务器