强制使用SQL Server身份验证,这样客户端必须有分配的用户才可以访问了。

解决方案 »

  1.   

    楼上的办法不管用。推!
    我也再说说我的思路:
    设一个权限相当小的登录SQL的帐号,这个帐号只能读到数据库里的一个表,这个表中含有权限更大的登录SQL的帐号的记录,比如userid ,password,sqluser,sqlpassword并且这张表的数据经过简单的转换(比如abc按某一规则换成了cba等),然后应用程序通过权限小的登录SQL的帐号登录sql再根据用户的登录找出sqluser,sqlpassword,再利用这个东西登录sql。
      

  2.   

    zqllyh(找感觉)的意思大概已清楚,主要就是程序要怎么实现了。那还有没有不用程序而只用SqlServer可以实现的呢???
      

  3.   

    这个怎么可能,对server有操作权限了
    还要什么帐号不帐号?
    用企业管理器想怎么做不可以?
      

  4.   

    企业管理器就是一个客户端应用程序,所以想自己的客户端可以访问数据库服务器而企业管理器不能访问是很难的。
    所以思路是不给客户端程序有足够的权利登陆系统(企业管理器也就不行了),然后在自己的程序中通过非SQL1433断口的验证方式来验证获得访问权限了。
      

  5.   

    我说明白一点就是如果我有一个Access的数据库,我加了一个足够长的密码,不管什么人用Access2000软件打开这个Access库时都将要密码验证,但是用软件访问此Access库就不用这个密码验证了,因为大家也知道在程序当中实现了。现在我要用SqlServer就是想达到这种效果,或者类似,尽量避免客户端大批量的导出数据。
      

  6.   

    建立application role,把用户放进去,连接数据库之后,再执行sp_setapprole,就可以了
      

  7.   

    tjan(安安),你所讲的怎么做,我对SqlServer不是很熟悉......
      

  8.   

    启动企业管理器-选择你的数据库服务器-选择数据库-选择你的数据库名称-选择角色-右键新建数据库角色-输入角色名称-选择应用程序角色,就可以建起来了,然后把你的用户访到这个角色中,在你的应用程序中连接数据库之后,再执行sp_setapprole,就可以了
      

  9.   

    建议最好使用sysbase
    当然对于用户来将用什么都不是很有效.