迁移至Azure后出现报错:登录Web App无法获取数据库数据
问题描述
- 操作:将Web App及数据库迁移至Azure平台
- 迁移前:收到警告信息
- 迁移后:登录Azure上的Web App时出现报错,无法获取数据库数据,报错内容:
建立与SQL Server的连接时出现与网络相关的或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确并且SQL Server已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)
排查与解决步骤
检查数据库连接字符串
确认Web App应用设置中的连接字符串,服务器名称、数据库名、账号密码需与Azure SQL数据库的实际信息完全一致。标准Azure SQL连接字符串格式:Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-db-name};Persist Security Info=False;User ID={your-username};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;配置SQL数据库网络权限
进入Azure门户的SQL数据库资源,在「网络设置」中:- 开启「允许Azure服务和资源访问此服务器」选项;
- 若Web App使用固定公网IP,将该IP添加到SQL服务器的防火墙规则列表。
确认SQL远程连接配置
通过Azure SQL查询编辑器执行命令,检查远程访问状态:EXEC sp_configure 'remote access';若返回的
config_value为0,执行以下命令开启:sp_configure 'remote access', 1; RECONFIGURE;回溯迁移前警告
针对迁移前的警告逐一排查:- 若提示版本不兼容,将数据库升级至Azure支持的SQL Server版本;
- 若提示权限不足,确保迁移使用的账号拥有数据库读写、权限配置等完整权限。
测试连通性
- 使用Azure门户的「连接测试」功能,验证Web App所在区域与SQL数据库的网络连通性;
- 本地用SSMS连接Azure SQL数据库,确认数据库本身可正常访问。
内容的提问来源于stack exchange,提问作者chithra prajith
相关产品推荐
相关产品推荐

