You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure SQL Database中添加Azure AD组并配置权限?

将Azure AD组添加到SQL Server数据库的正确步骤

针对你遇到的Azure AD组添加到SQL Server数据库时的权限错误问题,以下是正确操作流程及常见问题排查:

操作步骤

1. 确认Azure AD组已准备完成

确保已在Azure AD中创建目标组,且将需要授权的用户加入该组。

2. 创建服务器级AD组登录

在SQL Server的master数据库中执行命令,组名必须与Azure AD中的组显示名或组UPN完全一致:

CREATE LOGIN [你的Azure AD组名] FROM EXTERNAL PROVIDER

示例:若组UPN为db-access-team@contoso.com,则命令为:

CREATE LOGIN [db-access-team@contoso.com] FROM EXTERNAL PROVIDER

3. 在目标数据库创建对应组用户

切换到需要授权的目标数据库,执行命令,组名需与上述登录名完全匹配:

CREATE USER [你的Azure AD组名]
    FOR LOGIN [你的Azure AD组名]
    WITH DEFAULT_SCHEMA = dbo
GO

4. 为组分配数据库角色

根据需求将组添加到对应数据库角色,比如授予只读权限:

ALTER ROLE db_datareader ADD MEMBER [你的Azure AD组名]
GO

其他常用角色示例:

  • 读写权限:ALTER ROLE db_datawriter ADD MEMBER [你的Azure AD组名]
  • 管理员权限:ALTER ROLE db_owner ADD MEMBER [你的Azure AD组名]

常见错误排查

  • 组名不匹配:SQL Server中使用的组名必须和Azure AD中的组名/UPN完全一致,包括大小写、特殊字符,不能随意简化
  • 权限不足:执行操作的账号需具备服务器级ALTER ANY LOGIN权限和数据库级ALTER ANY USER权限,或拥有sysadmin角色
  • 同步延迟:Azure AD组创建或修改后,可能需要几分钟同步到SQL Server,可等待片刻后重试

验证配置

执行以下命令检查登录和用户是否成功创建:

-- 检查服务器级登录
SELECT name FROM sys.server_principals WHERE type = 'E' AND name = '你的Azure AD组名'

-- 检查数据库级用户
SELECT name FROM sys.database_principals WHERE type = 'E' AND name = '你的Azure AD组名'

内容的提问来源于stack exchange,提问作者jairo buitrago

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:07:21