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

Azure Web部署任务失败:ASP.NET Core API EF迁移连接字符串无效

解决ASP.NET Core Web API部署时EF迁移的连接字符串错误(ERROR_INVALID_CONNECTION_STRING)

部署ASP.NET Core Web API到Azure环境,使用Entity Framework迁移连接Azure SQL数据库时,触发ERROR_INVALID_CONNECTION_STRING错误,提示连接字符串Data Source=nzwalksapi1dbserver2.database.windows.net,1433;Initial Catalog=NZWalksAPI1_db;Authentication=ActiveDirectoryManagedIdentity无效,导致Web部署任务失败。

排查与解决方案:

  • 确认驱动版本兼容性
    Authentication=Active Directory Managed Identity参数需要Microsoft.Data.SqlClient 4.0及以上版本支持,同时项目需基于.NET 6或更高版本。低版本驱动无法识别该身份验证参数,会直接判定连接字符串无效。

  • 修正连接字符串参数格式
    托管身份验证的参数值存在格式要求,正确的参数写法应为带空格的Active Directory Managed Identity,而非无空格的ActiveDirectoryManagedIdentity。修正后的连接字符串:

    Data Source=nzwalksapi1dbserver2.database.windows.net,1433;Initial Catalog=NZWalksAPI1_db;Authentication=Active Directory Managed Identity
    
  • 验证Azure托管身份配置

    • 确保部署Web API的Azure App Service已启用系统分配或用户分配的托管身份
    • 为该托管身份授予Azure SQL数据库的权限,至少需要DB Contributor角色(或db_ddladmin+db_datareader+db_datawriter组合权限,满足迁移执行需求)
    • 检查Azure SQL数据库的防火墙规则,已开启“允许Azure服务和资源访问此服务器”选项
  • 调整迁移执行方式
    避免在Web部署流程中自动执行迁移,推荐更可控的方式:

    1. 本地生成迁移脚本:执行dotnet ef migrations script -i -o migration.sql生成包含所有迁移的SQL脚本
    2. 通过Azure Portal的SQL数据库查询编辑器、SSMS或Azure CLI手动执行脚本到目标数据库
    3. 若需在应用启动时自动执行迁移,需确保App Service的托管身份权限足够,且连接字符串已正确配置

内容的提问来源于stack exchange,提问作者Akurathi sathvik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:27:40