gpt4 book ai didi

sql-server - SQL Server 2005 中 'CREATE USER' 所需的权限?

转载 作者:行者123 更新时间:2023-12-01 09:40:26 27 4
gpt4 key购买 nike

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

我已经获得了服务器登录权限 - 即现有用户/登录可以创建新登录 - 通过将登录添加到“securityadmin”服务器角色 - 授予“ALTER ANY LOGIN”权限。

我试图对数据库用户做同样的事情——将他们添加到“db_accessadmin”数据库角色——据说它授予了 CREATE USER 所需的 ALTER ANY USER 权限。

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

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

最佳答案

从技术上讲,是的。不管是对是错……不做评论。

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

  • db_accessadmin 来管理用户(或您提到的“ALTER ANY USER”权限)
  • db_securityadmin允许您管理角色成员资格和对象权限(或“ALTER ANY ROLE 权限)

  • 这是为 sp_addrolemember 提到的.

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

    关于sql-server - SQL Server 2005 中 'CREATE USER' 所需的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372834/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com