日期:2014-05-18  浏览次数:20587 次

SQL Server2000 关于用户权限问题
我想给用户赋予这样的权限:
1 为用户赋予修改T表表结构的权限。--SQL Server中好像不能赋予Alter table的权限,grant alter table to u2这样的语句运行不成功,而且我希望能只设置他能对T表的表结构进行修改
2 设现有一职工工资表,希望设置每个职工只能查询自己的工资,也就是行级权限设置,这个我找了很久都没有找到除了视图以外的解决办法

在线等待。。。

------解决方案--------------------
用户如果有这个数据库的db_owner权限,即使deny掉create table 的权限,也一样能用alter table 修改表,当然那是用写Sql语句alter
这个问题如果是在Sql2005中可以直接用DDL触发器来控制,相当方便



设置每个职工只能查询自己的工资,这个要求跟业务有关了,可以通过程序来控制
------解决方案--------------------
设置每个职工只能查询自己的工资
-----
客户端程序 的事
------解决方案--------------------
sp_helprotect 表名,
看有那些权限,不需要的
用revoke alter on 表名 from username 去掉,
还要注意public的权限,你的username权限
很可能包含了public权限,所以public有的权限username也有.
------解决方案--------------------
revoke [alter]|[select]..... on 表名 from username