用户如果有这个数据库的db_owner权限,即使deny掉create table 的权限,也一样能用alter table 修改表,当然那是用写Sql语句alter
这个问题如果是在Sql2005中可以直接用DDL触发器来控制,相当方便设置每个职工只能查询自己的工资,这个要求跟业务有关了,可以通过程序来控制

解决方案 »

  1.   

    我当然不希望用户有DB_Owner的权限,所以才考虑给其赋Alter Table的权限,但2000中根本没办法设置,是不能?还是方法不对?
      

  2.   

    grant alter on 表名 to username
      

  3.   

    “grant   alter   on   表名   to   username” 不对
      

  4.   

    sp_helprotect 表名,
    看有那些权限,不需要的
    用revoke alter on 表名 from username  去掉,
    还要注意public的权限,你的username权限
    很可能包含了public权限,所以public有的权限username也有.
      

  5.   

    revoke [alter]|[select].....  on 表名 from username
      

  6.   

    还是不对啊,是SQL Server2000里的用法吗?