1)创建一登录账户
2)将此账户只映射到TA数据库,成为admin
3)此时此登录账户成为TA的用户了,且只能对TA起作用

解决方案 »

  1.   

    我想,可以使用创建架构的方法来实现
    CREATE LOGIN 用户名 WITH PASSWORD=“密码”
    GO
    USE TA
    GO
    CREATE USER 用户名 FROM LOGIN 用户名LZ参考下,互相学习。
      

  2.   

    USE pubs--创建角色 r_test
    EXEC sp_addrole 'r_test'--授予 r_test 对 jobs 表的所有权限
    GRANT ALL ON jobs TO r_test
    --授予角色 r_test 对 titles 表的 SELECT 权限
    GRANT SELECT ON titles TO r_test--添加登录 l_test,设置密码为pwd,默认数据库为pubs
    EXEC sp_addlogin 'l_test','pwd','pubs'--为登录 l_test 在数据库 pubs 中添加安全账户 u_test
    EXEC sp_grantdbaccess 'l_test','u_test'--添加 u_test 为角色 r_test 的成员
    EXEC sp_addrolemember 'r_test','u_test'--拒绝安全账户 u_test 对 titles 表的 SELECT 权限
    DENY SELECT ON titles TO u_test/*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select权限--*/--从数据库 pubs 中删除安全账户
    EXEC sp_revokedbaccess 'u_test'--删除登录 l_test
    EXEC sp_droplogin 'l_test'--删除角色 r_test
    EXEC sp_droprole 'r_test'
      

  3.   

    谢谢,我一个一个地试! 首先,试了那第一位朋友的最简单的方法,先创建一个用户,然后赋给其public, dbowner角色,然后,我以新建的用户名登录,确实对其它数据库无访问权限,对那个指定数据库有全权,不错!
    但是,却发现,它居然可以在安全性登录名那里,可以看到sa, 还可以更改sa的密码, 怎么不可以让它看到sa呢? 求解,谢谢
      

  4.   

    use master
    create login test002 with password='123'
    go 
    use bktest
    go
    create user test002 from login test002用以上方法测试时,发现可以创建test002 , 但是用test002登录后,却发现两个问题:
    1.那个bktest数据库可以打开,但是看不到其中的用户建立的表.
    2.那个安全性登录名,那里仍然可以看到sa,也可以更改密码,这个绝对不能让test002用户看到安全性登录那里的用户名啊!所以,以上方法存在问题!
      

  5.   

    use master 
    create login test002 with password='123' 
    go 
    use bktest 
    go 
    create user test002 from login test002 那为什么看不到其中的表呢? 还要加什么语句?