首页 文章

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

提问于
浏览
0

我在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
    REVOKE select 
    ON tablename
    FROM {user_name}
    

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

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

相关问题