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

通过Azure Portal和Devops部署Web应用后无法访问Azure SQL数据库

问题描述

本地测试Web应用时可正常访问Azure SQL数据库,但通过Azure Portal和DevOps部署该Web应用后,网站可正常显示,却无法访问Azure SQL数据库。

相关截图信息

连接字符串截图

截图展示Azure门户中配置的SQL数据库连接字符串,包含服务器名称、数据库名称、用户名及密码字段。

防火墙设置截图

截图显示Azure SQL数据库的防火墙规则,已开启「允许Azure服务和资源访问此服务器」选项,同时配置了多条手动添加的IP地址规则。

控制台错误截图

  1. 错误截图1提示数据库连接超时,无法建立到SQL Server的连接
  2. 错误截图2提示身份验证失败,登录用户权限不足或凭据错误
排查与解决方案

1. 验证连接字符串配置

  • 确认Azure Web应用配置中的连接字符串与本地测试时的有效字符串完全一致,重点核对:
    • 服务器名称格式是否为xxxx.database.windows.net
    • 用户名是否带服务器前缀(格式:服务器名\用户名或用户名@服务器名)
    • 密码无额外空格、特殊字符转义错误
  • 避免在代码中硬编码敏感信息,使用Azure Web应用的「应用设置/连接字符串」功能存储配置。

2. 检查SQL数据库防火墙规则

  • 确认「允许Azure服务和资源访问此服务器」选项正常生效(可临时添加0.0.0.0-255.255.255.255的IP规则测试,排查后删除)
  • 若Web应用部署在虚拟网络中,需添加VNet服务端点或私有链接,确保Web应用所在VNet被允许访问SQL数据库

3. 验证SQL数据库用户权限

  • 确认连接字符串中的SQL登录用户拥有目标数据库的读写权限,可通过SSMS执行以下命令检查:
    USE [你的数据库名];
    EXEC sp_helprolemember 'db_datareader';
    EXEC sp_helprolemember 'db_datawriter';
    
  • 检查用户是否被禁用或密码过期:
    SELECT name, is_disabled, login_time FROM sys.sql_logins WHERE name = '你的用户名';
    

4. 检查Web应用网络配置

  • 若Web应用启用专用端点或部署在隔离的App Service环境,需确认网络路由可到达SQL数据库
  • 查看Web应用的「日志流」获取详细错误:进入Azure Portal的Web应用资源 → 「监测」→「日志流」,过滤数据库相关日志

5. 验证DevOps部署过程

  • 确认DevOps部署管道未覆盖或修改连接字符串配置,检查部署任务是否正确保留应用设置
  • 部署完成后,手动进入Web应用的「配置」→「连接字符串」页面,确认配置值与本地测试一致

内容的提问来源于stack exchange,提问作者キムヨンイン

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:27:16