我们有 2 个数据库。
有一些用户想要从 HR 数据库中提取数据。但我们不想直接访问该 HR 数据库。
因此,我们在 Reporting 数据库中创建了特殊视图,并且用户拥有该 Reporting 数据库的dbowner权限。
但是,当他们尝试运行查询时,错误消息显示...
The server principal "test" is not able to access the database "HR" under the current security context.
Run Code Online (Sandbox Code Playgroud)
当我授予他们作为HR 数据库的db_datareader阅读器时,一切都很好,他们可以运行查询。但它破坏了安全性,我们不希望他们直接访问 HR 数据库。这就是我们在报告数据库中制作特殊视图的原因。
如何让这些用户在不直接访问 HR 数据库的情况下运行视图/查询?
sql-server permissions access-control sql-server-2012 signature