SQL Server 2005 中“创建用户”所需的权限?

2024-03-30

我正在尝试从我的应用程序中创建 SQL Server 登录名和数据库用户,以及自定义应用程序用户行。我希望这些用户能够创建其他用户 - 即应用程序将控制谁可以/不能创建用户,但我需要所有用户都具有创建 SQL Server 登录名和数据库用户的权限。

我已经使服务器登录权限正常工作 - 即现有用户/登录名可以创建新登录名 - 通过将登录名添加到“securityadmin”服务器角色 - 这授予“ALTER ANY LOGIN”权限。

我尝试对数据库用户执行相同的操作 - 将它们添加到“db_accessadmin”数据库角色 - 这应该授予 ALTER ANY USER 权限,这是 CREATE USER 所需的。

但是,每当我尝试使用具有上述权限的用户创建新的数据库用户时,我都会遇到权限异常。

我尝试手动向特定用户授予 ALTER ANY USER 权限(GRANT ALTER ANY USER TO demouser),但这也不起作用。


从技术上来说,是的。不管是对是错……不予评论。

无论如何,数据库安全分为两个功能:

  • db_accessadmin 管理用户(或您提到的“更改任何用户”权限)
  • 数据库安全管理员 http://msdn.microsoft.com/en-us/library/ms188685.aspx允许您管理角色成员资格和对象权限(或“更改任何角色权限”)

提到这一点是为了sp_addrolemember http://msdn.microsoft.com/en-us/library/ms187750(SQL.90).aspx.

您实际上是通过运行 sp_addrolemember 来更改角色,而不是用户,因此“ALTER ANY ROLE”就足够了,而无需拥有完整的 db_owner 权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2005 中“创建用户”所需的权限? 的相关文章

随机推荐