none
sql server2008用户权限问题,难道是系统的BUG吗? RRS feed

  • 问题

  • 遇到一个很奇怪的问题;在sql server 2008中,所有系统管理员权限用户建的表都是dbo开头的,如dbo.table_name;另有一个用户ptnmc,也是系统管理员权限,建的表都是ptnmc开头的;如ptnmc.table_name;现在新增一用户inforeader;只想给他对所有数据库的只读权限;现在发现无论我怎么弄,把他添加到db_datareader角色成员;或者dbowner成员;或者通过修改架构为 dbo或者ptnmc或者dbowner等;当然权限始终是 datareader;结果就是inforeader这个用户只能在查询分析器里面查到ptnmc的表,在编写代码时提示信息里面也会显示ptnmc的那些表的;但是在 对象资源管理器里面始终都看不到ptnmc的表,只有dbo的;该怎么做才能让用户在对象管理器里面也能看到ptnmc的表呢?难道这是系统的限制吗?还是说是系统的bug?各位看到的能帮忙解决吗?记得在2005里面是可以的啊;

    如果可以的话,麻烦能帮忙写出建用户及授权的代码吗?

    非常感谢!

    2011年1月6日 4:08

答案

  •                 v浮沉,你好!

                    在赋予权限后,你刷新过Object Explorer吗?

                    如果没有,请右键点击Tables并选择Refresh

     

                    如果有什么不清楚的地方,请及时联系我。


    Regards,
    Tom Li
    • 已标记为答案 Mog Liang 2011年2月1日 2:02
    2011年1月6日 7:21
    版主

全部回复

  • Member of db_datareader should be able to see all tables/views in the db, ensure ssms and sql are in same service pack level.
    2011年1月6日 4:20
  • 可以确定,我新建的这个用户是db_datareader组的成员;但奇怪的是在对象管理器里面还是看不到ptnmc的表啊;超郁闷;

    2011年1月6日 6:39
  •                 v浮沉,你好!

                    在赋予权限后,你刷新过Object Explorer吗?

                    如果没有,请右键点击Tables并选择Refresh

     

                    如果有什么不清楚的地方,请及时联系我。


    Regards,
    Tom Li
    • 已标记为答案 Mog Liang 2011年2月1日 2:02
    2011年1月6日 7:21
    版主