【问题标题】:How to give sysadmin permission to user in Azure SQL Database如何向 Azure SQL 数据库中的用户授予系统管理员权限
【发布时间】:2015-11-27 09:15:19
【问题描述】:

如何向 Azure SQL 数据库中的用户授予系统管理员权限,或者如何向 Azure SQL 数据库中的用户授予相同级别的访问权限?

【问题讨论】:

    标签: sql-server azure azure-sql-database


    【解决方案1】:

    使用天蓝色门户。应使用服务器级主体登录来授予对各个数据库的访问权限。

    可以创建新用户并授予对一个或多个数据库的权限:

        -- in master
    create login [XXXX] with password = 'YYYYY'
    create user [XXXX] from login [XXXX];
    
    -- if you want the user to be able to create databases and logins
    exec sp_addRoleMember 'dbmanager', 'XXXX';
    exec sp_addRoleMember 'loginmanager', 'XXXX'
    
    -- in each individual database, to grant dbo
    create user [XXXX] from login [XXXX];
    exec sp_addRoleMember 'db_owner', 'XXXX';
    

    如果您刚刚创建了登录名和相应的用户,则必须添加适当的角色成员资格...

    例如,

    exec sp_addrolemember 'dbmanager', 'login1User';
    exec sp_addrolemember 'loginmanager', 'login1User';
    

    【讨论】:

    • 您好 Nishant,我想为用户启用对一个特定数据库的完全权限。 create user [XXXX] from login [XXXX]; exec sp_addRoleMember 'db_owner', 'XXXX';
    • 这对您有帮助吗? stackoverflow.com/questions/6058058/…
    • 无法将用户添加到单个数据库。您能否提供一些应在 XXXXX 处传递的示例参数...我的实际错误是“错误 #: 2778 -- 只有系统管理员可以为 RAISERROR 命令指定 WITH LOG 选项”
    • 我编辑了答案,你能试试吗。此外,dbmanager 允许您创建数据库,loginmanager 允许您创建登录名,但必须使用服务器级别的主体登录名来授予对单个数据库的访问权限
    • 嗨 Nishnat,感谢您的帮助,但这并不能解决目的.. 我需要在 sql azure 中复制系统管理员....因为我们在本地为用户提供 SysAdmin 权限sql 服务器。
    【解决方案2】:

    您不能将 sysadmin 授予 Azure SQL 数据库[1] 中的登录名。

    Azure 数据库中有两个特殊角色[2]:

    • `dbmanager
    • loginmanager

    相反,master 数据库中有两个特殊的数据库角色

    USE master
    CREATE LOGIN myadmin WITH PASSWORD = '<some password>' 
    CREATE USER myadmin FOR LOGIN myadmin
    
    ALTER ROLE dbmanager ADD MEMBER myadmin
    ALTER ROLE loginmanager ADD MEMBER myadmin
    

    [1]https://docs.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage
    [2]https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver15#special-roles-for--and-azure-synapse

    【讨论】:

      【解决方案3】:

      据我分析,SQL azure 不存在物理系统。数据库保存在不同的文件存储中。所以没有必要特别赋予系统管理员访问权限/角色。

      【讨论】:

        猜你喜欢
        • 2015-06-19
        • 2019-05-18
        • 2016-01-18
        • 2022-01-07
        • 2020-12-11
        • 2012-02-22
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多