当前位置: 代码迷 >> Sql Server >> 禁止指定软件链接SQL SERVER2008解决办法
  详细解决方案

禁止指定软件链接SQL SERVER2008解决办法

热度:40   发布时间:2016-04-24 10:04:46.0
禁止指定软件链接SQL SERVER2008
怎么禁止指定软件链接SQL SERVER2008,现在知道软件名称,求教!
------解决方案--------------------
写一个数据库级触发器,给你个例子 你自己改改
你要做的是根据 sys.dm_exec_sessions 判断应用程序的名称 等,详细请看 sys.dm_exec_sessions

--限制IP访问数据库 
CREATE  TRIGGER connection_limit_trigger ON ALL SERVER
    WITH EXECUTE AS 'testuser'
    FOR LOGON
AS
    BEGIN
 
--使用testuser这个帐号的连接
        IF ORIGINAL_LOGIN() = 'testuser'
            AND
 
--以下是判断非本地的,你可以不使用
            ( SELECT    COUNT(*)
              FROM      sys.dm_exec_sessions
              WHERE     [host_name] <> 'localhost'
                        AND original_login_name = 'testuser'
            ) > 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 = 'testuser'
                  ORDER BY  login_time DESC
                ) NOT IN ( '192.100.168.149', '192.100.168.179' ) 
            ROLLBACK ;
    END ;

  相关解决方案