SELECT访问SQL 2005视图,限制访问基础表

时间:2012-05-02 19:39:56

标签: sql security sql-server-2005 view schema

我在SQL 2005数据库中创建了SQL用户标识,角色和模式。我在此模式下创建了一个SQL视图,该视图从dbo模式中的表中进行选择。但是,我不希望SQL用户能够从此表中进行选择。

例如:

CREATE VIEW [MySchema].[vwMyView]
AS
SELECT
    *
FROM
    dbo.MyTable

用户可以访问 MySchema 视图,并且可以毫无问题地查询 vwMyView 。但是,他们也可以从dbo.MyTable中选择。

如何限制对 dbo.MyTable 的所有访问权限?如果我拒绝dbo架构的SELECT权限,则用户无法从视图中进行选择。

1 个答案:

答案 0 :(得分:0)

REVOKE select 
ON tablename
FROM {user_name} 

只是撤销select本身并不会撤销其他权限。

然后在视图上执行显式授权选择。不知道这是否会起作用,因为我从未尝试过这种方式,但值得一试。