我们有一种情况,我们使用Windows身份验证连接到SQL Server(类似于How to add Active Directory user group as login in SQL Server)。将使用该应用程序的所有Active Directory用户都已添加到AD组(我们称之为GroupX)
然后在GroupX的SQL实例上创建了一个登录名。仅为此登录分配了“公共”服务器角色。在数据库本身上,为GroupX创建了一个用户。 “db_Owner”角色权限已分配给该组用户。我们需要“db_Owner”权限,因为应用程序需要读/写访问权限以及进行模式更改的权限。
当桌面应用程序尝试连接到数据库时,我们会收到异常:“无法打开登录请求的数据库z。登录失败。用户y登录失败。
SQL安全领域对我来说有点新鲜,因为我习惯于在自己的SQL实例上成为一个系统管理员,而我在这种环境中开发并且在某种环境中一切正常。
任何想法都将不胜感激。
答案 0 :(得分:0)
您能确保db_owner权限显示在数据库中的用户组吗?
转到SQL Server>>安全>>登录并右键单击组X并选择属性
在新打开的登录属性屏幕中,转到“用户映射” 标签。然后,在“用户映射”选项卡上,选择所需的数据库 - 特别是显示此错误消息的数据库。上 在屏幕下方,检查角色db_owner。单击“确定”。