我登陆sa用户在新建查询中写下SQL语句
GRANT SELECT
ON STUDENT
TO YP;
STUDENT 是我新建的一张表,YP是另一个用户,可是当我登陆YP用户时还是能对STUDENT 表进行除SELECT之外的其它操作?这是怎么回事啊?

解决方案 »

  1.   

    用户--属性--数据库角色 只勾上 db_datareader 就可以了
      

  2.   

    或者你都不勾,然后
    GRANT SELECT
    ON STUDENT
    TO YP;
      

  3.   

    刚在http://topic.csdn.net/u/20121026/14/5098572e-0784-40ce-8415-8450c12185e9.html?77183#replyachor
    看到你的帖子,然后你就回复了,谢谢你了啊,原来我把db_owner也勾了。刚试了,你说的没错。
      

  4.   

    因为YP用户本身权限就比较高了,所以你首先看先YP 都有些什么权限 再去分配权限。
    查看权限语句:exec sp_helprotect @username='YP'
      

  5.   

    问题已经解决了,也谢谢你的SQL语句了,我还是新手,不过对数据库比较感兴趣。
      

  6.   

    CREATE VIEW SC1
    AS
    SELECT *
    FROM SC
    WHERE SC.Cno = '1';GRANT UPDATE(Grade) ON SC1 TO 张行;上面的SC是记录学生成绩Grade的一张表,现在建立课程号Cno为1的一张视图SC1,然后将更改成绩的权限给予用户张行老师,达到的目的就是让张行老师只能修改课程号为1的学生(仅)成绩。可是现在我登陆张行用户后还是不能够修改Cno=1的学生成绩,请问这是怎么回事?我这段授权代码是在sa用户里面写的,自身权限应该没问题。
      

  7.   

    我知道了,改成“GRANT SELECT, UPDATE(Grade) ON SC1 TO 张行;”就好了,没有SELECT查询,何来的UPDATE更新?