我正在添加一个使用 SQL Server 身份验证的新登录名。我将其服务器角色设置为公共,然后进入用户映射,选择此用户应有权访问的唯一数据库。然后,我将默认架构更改为 dbo,并将此用户设为 db_owner。
然后,我使用新用户的凭据连接到实例,不仅可以看到他应该有权访问的数据库,还可以看到所有其他附加的数据库。
我如何才能限制该用户只能看到他有权访问的数据库?
提前致谢!
答案1
为此,您需要删除所有其他数据库的来宾帐户。虽然用户可以查看其他数据库,但他无法打开它们并执行任何操作(除非来宾帐户或这些数据库中的公共角色有权访问任何内容)。
答案2
答案3
对 Nick Kavadias 答案的补充:不确定这是否是您所需要的,但是它有用吗?
USE AdventureWorks
GO
GRANT VIEW MyDatabase TO User1