0

我们有一个 Windows 应用程序使用 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 实例上担任系统管理员,我根据该实例进行开发,并且在那种环境中一切正常。

任何想法将不胜感激。

4

1 回答 1

0

您能否确保数据库中的用户组显示 db_owner 权限?

转到 SQL Server >> 安全 >> 登录并右键单击组 X 并选择属性

在新打开的登录属性屏幕中,转到“用户映射”选项卡。然后,在“用户映射”选项卡上,选择所需的数据库——尤其是显示此错误消息的数据库。在下方屏幕上,检查角色 db_owner。单击确定。

来源:http: //blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed- for-user-nt-authoritynetwork-service/

于 2013-03-08T08:54:32.477 回答