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

Azure Pipelines中使用Azure SQL Server SMI创建包含用户失败的解决方法

解决方案:使用Azure SQL Server系统分配托管身份执行管道脚本

1. 为SQL Server SMI授予数据库操作权限

使用具有Azure AD管理员权限的账户(例如被设为SQL Server AAD管理员的账户)登录目标SQL数据库,执行以下脚本,为SQL Server的系统分配托管身份创建数据库用户并赋予必要权限:

-- 替换为你的Azure SQL Server名称(系统分配SMI的名称与服务器名称一致)
CREATE USER [your-sql-server-name] FROM EXTERNAL PROVIDER;
-- 授予足够权限:这里使用db_owner,也可根据需求分配更细粒度权限(如ALTER ANY USER、ALTER ANY ROLE)
ALTER ROLE db_owner ADD MEMBER [your-sql-server-name];

2. 配置Azure发布管道任务

在Azure DevOps发布管道中,修改Azure SQL Database部署任务的配置,使其使用SQL Server的系统分配托管身份认证:

  • Authentication type:选择 Managed Identity
  • Server name:填写你的SQL服务器全名(格式:xxx.database.windows.net)
  • Database name:指定目标数据库名称
  • Managed Identity:选择 System-assigned managed identity,并选中你的Azure SQL Server对应的系统分配托管身份
  • Inline SQL script:保留原有脚本:
    CREATE USER [my-func-dev-weu] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = dbo;
    ALTER ROLE [db_owner] ADD MEMBER [my-func-dev-weu];
    

补充验证

确保之前的AAD组配置生效:包含Directory Readers角色的AAD组已添加SQL Server的SMI作为成员,这样SQL Server的SMI才能读取Azure AD中的Function App主体信息,成功创建外部用户。


内容的提问来源于stack exchange,提问作者Panayotis Tzedakis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:57:09