我有一张桌子和一个视图。它们在不同的模式中,但具有相同的所有者:
- 根据 sys.objects:principal_ID = null,schema_ID 为 1 和 4
- 根据 sys.schemas:两个模式具有相同的 principal_id (1 = dbo)
观点很简单select a,b,c from table
现在用户被赋予了从视图中选择、插入、更新和删除行的权利。他对基础表没有任何权利。
事实上,用户可以选择数据。但是,如果他想更改任何内容,我们会收到两个错误:“未授予表上的 SELECT”和“未授予表上的 UPDATE”。
这里出了什么问题?