权限一般都是针对用户来说的吧。你针对ip,如果别人ip换了,有登陆和连接权限,不一样可以访问你的数据库么?那你这么做还有什么效果?

解决方案 »

  1.   

    可以参考一下这个;sql server 限制ip登录(登录触发器)
    http://www.cnblogs.com/gaizai/archive/2013/05/23/3095145.html
      

  2.   

    而且你是用户数据库级别的权限控制,服务器级别的(也就是你说的整个SQL Server)可以用IP,但是单个数据库上的,我还没看到过能不能这样做,但就你说的来看,你这样是不合理的。针对用户做的话,用户A能访问DB1,DB2,那么不管他的电脑的IP是多少他都不能访问DB3......以此推,而IP的话肯定不行,只要IP一换,我还是这个用户,不就可以访问你的DB3了吗?
      

  3.   

    IP是会经常变的,尤其是你这种内网IP。建议根据用户来设置可以访问的数据库,在系统上设立该权限管理。
      

  4.   

    建议以数据库登录名(login)来分配不同的权限,系统中需自建一张IP<->登录名的对应关系表,如下数据
    IP                  登录名     密码
    --------------      -------    -------
    192.168.1.1          A          xxx
    192.168.1.2          B          xxx当程序启动时,获取本机IP,读取该表,找到对应的登录名及密码,然后生成数据库连接串..
      

  5.   

    客户端改IP地址造成不能登录,那是他的事,不是我要考虑的事用IP地址来限制登录是为了更好的安全(即使密码泄露,也能尽量减少登录的机会)