在客户端软件中可以设置 sql server 的连接字符串,通过 ado.net 可以方便得连接到 sql server 数据库.
但默认情况下,通过该连接字符串,同样可以在 企业管理器 ssms 上进入并访问 sql server 数据库.
我觉得这样做不是很安全.我不想让不相干人通过 ssms 查看到表结构甚至看到具体的数据.
请问如何设置才能禁止该sql登陆名只能通过客户端软件来连接到数据库引擎,而不允许登陆ssms呢?

解决方案 »

  1.   

    1,客户端机器不安装SQL客户端,只用ADO连接数据库
    2,将连接数据库的密码加密存放,连接数据库时再解密
      

  2.   

    以上都不是解决方法.由于我们是团队开发的一些产品,数据库连接字符串始终会被一些人知道的.
    我想了解的是即使知道了该连接字符串也无法登陆到ssms的方法
    请高手路过不吝赐教哦!
      

  3.   

    在客户端只装MSDE.
      

  4.   

    关键问题是他如果知道数据库的用户名和密码,他自己机器上装一个SQL SERVER并不是很难的事情。
    建议你的SQL SERVER用WINDOWS认证,不用SQL SERVER认证。
      

  5.   

    客户端应该是不可控的.可以在权限上做些手脚,比如这样:帐号user1角色为public,然后对库A里的所有的表单独付增删改、对存储过程函数有exec权限,对视图有select权限.
    该帐号对master库有public角色权限.
    然后转到master库,执行:
    deny select on sys.databases to user1这样,即使客户端可以连上你的sql server ,也无法看到任何库.
    当然,同理还可以把其它管理视图也deny掉.