【发布时间】:2013-12-14 20:18:06
【问题描述】:
我希望用户通过视图选择和修改数据,但不授予对基表的权限。
通过视图选择数据可以正常工作。
但是当我想通过视图INSERT、UPDATE 或DELETE 数据时,SQL Server 说基表缺少权限。
以下对象:
- 表,命名:
dbo.test - 查看,命名:
dbo.vw_test
表格有两列:
-
Column_1身份.... -
Column_2int(可更新列)
视图有如下声明:
SELECT * FROM dbo.test;
我已经在这个数据库上创建了一个 LOGIN 和一个 USER,在这个视图上具有 SELECT、INSERT、UPDATE、DELETE 权限。基表上没有 DENY。
如前所述,SELECT 有效,但更新 Column_2 无效。
为什么?我需要授予基表的所有权限吗?
我希望不会。我已经在视图上创建了一个INSTEAD OF INSERT 触发器来测试它。但它不起作用。
我可以做什么,通过视图修改数据?
【问题讨论】:
标签: sql sql-server permissions views