Azure Search连接Azure SQL Database失败原因、解决方法及连接咨询
连接Azure Search与Azure SQL Database相关问题解答
一、"Failed to fetch"错误的原因及解决办法
- 网络/防火墙限制:Azure SQL Database的防火墙未允许Azure Search的访问。解决:进入Azure SQL的防火墙设置,勾选"允许Azure服务和资源访问此服务器";或者在Azure Search资源的"网络"页面获取出站IP,手动添加到SQL防火墙规则中。
- SQL账号权限不足:用于连接的账号没有读取目标表/视图的权限。解决:给账号分配
db_datareader角色,或直接授予SELECT权限(执行GRANT SELECT ON [表名] TO [用户名];)。 - 数据源配置错误:数据库名、表名拼写错误,或连接字符串参数异常(如未启用加密)。解决:核对连接字符串的
Database参数,确认目标表/视图存在;用SSMS等工具测试相同连接字符串是否能正常访问SQL数据库。 - Azure Search网络隔离限制:若Azure Search启用了专用端点或虚拟网络隔离,无法访问公共Azure SQL实例。解决:将Azure SQL加入同一虚拟网络,或为Azure SQL配置专用端点并在Azure Search中启用对应连接;也可调整Azure Search的网络设置,允许访问外部资源。
- 临时服务故障:Azure平台临时问题导致连接失败。解决:等待10-15分钟重试,查看Azure状态页确认相关服务运行正常。
二、Azure Search连接Azure SQL Database的步骤
- 准备基础资源:确保Azure SQL Database和Azure Search服务已创建,推荐部署在同一Azure区域以降低延迟。
- 配置SQL访问权限
- 进入Azure SQL Database的"防火墙和虚拟网络"设置,勾选"允许Azure服务和资源访问此服务器";
- 创建或使用现有SQL登录账号,确保该账号拥有目标表/视图的
SELECT权限(可通过SSMS执行ALTER ROLE db_datareader ADD MEMBER [用户名];快速授权)。
- 创建Azure Search数据源
- 登录Azure门户,进入目标Azure Search资源;
- 左侧菜单选择"数据源",点击"+ 添加";
- 数据源类型选择"Azure SQL Database",选择对应订阅、SQL服务器、数据库名称,或手动输入连接字符串;
- 输入SQL账号的用户名和密码,选择要同步的表/视图,或输入自定义查询;
- 点击"测试连接"验证通过后,保存数据源。
- 同步数据(可选)
- 创建匹配数据源结构的搜索索引;
- 创建索引器,关联已创建的数据源和索引,设置同步计划(如每日同步或一次性同步);
- 运行索引器,启动数据同步。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

