我想创建一个user
对服务器内两个数据库的最低访问权限。将商业智能工具集成到我们数据库中的第三方人员将使用该用户。他们已经指定他们只需要创建视图。
所以我在服务器上创建了一个新用户,然后使用每个数据库上的数据库属性来授予他们对该数据库的SELECT
权限CREATE VIEW
。
然后我使用该用户登录 SSMS,并尝试创建一个视图,但我收到一条消息说
'dbo' 要么不存在,要么我无权使用它。
我试图通过反复试验自己解决这个问题,但我只是不了解 sql server 上的用户权限。我做错了什么,我需要采取哪些额外/不同的步骤?
请记住,我不希望他们拥有比他们需要的最低限度更多的控制权。
您的用户应该有权修改 dbo 架构。您可以通过将权限分配给用户所属的角色来实现:
所以它就像:
授予权限后,重新运行之前的
CREATE VIEW
语句。现在它将成功。