3
SQL Server:在视图中而不是在其表中授予对用户的选择访问权限
我有一个带有几个数据库的SQL Server 2012实例。在其中一个视图中,我创建了一个视图,该视图在多个数据库中选择表。 我希望用户能够选择该视图,但是它不能选择其表。正是由于用户无法选择表而创建了视图。 我已阅读/programming/368414/grant-select-on-a-view-not-base-table和http://msdn.microsoft.com/zh-cn/library/ms188676。 aspx仍然无法正常工作。 如果我GRANT SELECT TABLE TO USER对所有表都执行操作,则用户可以选择视图。但是,如果我撤消到任何表,它将失败。 这应该是一个简单的过程,但是我很难使它起作用。我曾经见过它发生过(实例的所有者为我提供了访问视图的权限,但未在其表中进行操作),但我无法做到这一点或找不到某个知道怎么做的人。 有人可以给我提供有关如何做的教程或代码示例吗? 当用户SELECTs查看我的消息时: 对对象<TABLE>,数据库<DB>,模式的SELECT权限被拒绝dbo。 如果我将select授予该表,则错误消息会将表名更改为该视图读取的另一个表。