SQL 服务器查询通知 - 如果我们无法将数据库 SA 角色授予用户 运行 网站,是否需要 Active Directory 中的权限?
SQL Server Query Notifications - Needed permissions in Active Directory if we can't grant the database SA role to the user running the web site?
我已经在 DEV 数据库中配置了使用存储过程在 SQL Server 2005 中使用查询通知的权限。
问题是,当 运行 从我的本地计算机访问网站时,它与我的用户帐户一起工作,而当代码移至 DEV 网络服务器时,它不起作用。
DBA 已验证我的用户在 DEV 数据库中具有 'sa' 权限,但来自 DEV 网络服务器的服务帐户 运行 站点没有这些权限,并且它不是可以在 QA 或 PROD 中分配此权限。他还临时给用户设置了'sa'权限,查询通知就生效了。
数据库返回的错误信息是:
An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user 'DOMAIN\WebServiceAccount', error code 0x5.
我尝试过的一些事情:
运行xp_logininfo 'DOMAIN\WebServiceAccount'
returns同样的错误:
Could not obtain information about Windows NT group/usermessage
运行 xp_logininfo 'DOMAIN\MyUserAccount'
returns 我的用户出现相同的错误消息:
Could not obtain information about Windows NT group/user
目前我找到的可能解决方案是:
- 将 运行 SQL 服务器服务的帐户更改为具有管理员权限的帐户。但是哪个管理员权限?
- 在 ADFS 服务帐户上提供 "Authenticated Users"、"Read Permissions",或者将 tokenGroupsGlobalAndUniversal 分配给用户,并且可能还会将他们添加到组 "Pre-Windows 2000 Compatible Access"。这对单个用户有效,还是需要对一个组有效?这安全吗?
- 要获得更高级别的读取权限,请同时添加 "Windows Authorization Access Group"。这准确吗?
- 授予用户域管理员权限。这是在 Active Directory 中配置的吗?
不幸的是,由于对开发人员的限制,我无法在我们拥有的 Active Directory 中测试所有这些,所以我想问问是否有人知道我们必须授予用户什么确切的权限运行 Active Directory 中的 SQL 服务器服务,以便它能够查询其他用户的帐户?
非常感谢您!
我们的系统人员执行了以下有效的步骤:
- 在 Active Directory 中,搜索用户 DOMAIN\WebServiceAccount
- 在 "Security" 选项卡中,将用户 运行 添加到具有读取权限的 Sql 服务器服务
我已经在 DEV 数据库中配置了使用存储过程在 SQL Server 2005 中使用查询通知的权限。
问题是,当 运行 从我的本地计算机访问网站时,它与我的用户帐户一起工作,而当代码移至 DEV 网络服务器时,它不起作用。
DBA 已验证我的用户在 DEV 数据库中具有 'sa' 权限,但来自 DEV 网络服务器的服务帐户 运行 站点没有这些权限,并且它不是可以在 QA 或 PROD 中分配此权限。他还临时给用户设置了'sa'权限,查询通知就生效了。
数据库返回的错误信息是:
An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user 'DOMAIN\WebServiceAccount', error code 0x5.
我尝试过的一些事情:
运行
xp_logininfo 'DOMAIN\WebServiceAccount'
returns同样的错误:Could not obtain information about Windows NT group/usermessage
运行
xp_logininfo 'DOMAIN\MyUserAccount'
returns 我的用户出现相同的错误消息:Could not obtain information about Windows NT group/user
目前我找到的可能解决方案是:
- 将 运行 SQL 服务器服务的帐户更改为具有管理员权限的帐户。但是哪个管理员权限?
- 在 ADFS 服务帐户上提供 "Authenticated Users"、"Read Permissions",或者将 tokenGroupsGlobalAndUniversal 分配给用户,并且可能还会将他们添加到组 "Pre-Windows 2000 Compatible Access"。这对单个用户有效,还是需要对一个组有效?这安全吗?
- 要获得更高级别的读取权限,请同时添加 "Windows Authorization Access Group"。这准确吗?
- 授予用户域管理员权限。这是在 Active Directory 中配置的吗?
不幸的是,由于对开发人员的限制,我无法在我们拥有的 Active Directory 中测试所有这些,所以我想问问是否有人知道我们必须授予用户什么确切的权限运行 Active Directory 中的 SQL 服务器服务,以便它能够查询其他用户的帐户?
非常感谢您!
我们的系统人员执行了以下有效的步骤:
- 在 Active Directory 中,搜索用户 DOMAIN\WebServiceAccount
- 在 "Security" 选项卡中,将用户 运行 添加到具有读取权限的 Sql 服务器服务