Power BI Service:跨虚拟机数据库网关连接失败问题咨询
本地数据网关跨虚拟机连接SQL Server故障排查方案
1. 先确认网络连通性
- 拿部署网关的虚拟机(下称网关VM)ping目标数据库所在的虚拟机(下称数据库VM),不通的话先搞定网络——比如检查两台VM的防火墙规则、子网是否互通、有没有开启安全组限制。
- 在网关VM上用
telnet <数据库VM的IP/主机名> 1433(SQL默认端口,改了的话换对应端口)测端口是否能通,确保SQL端口没被拦截。
2. 核对网关服务的访问权限
- 本地网关默认用
NT SERVICE\PBIEgwService账户运行,这个账户得有访问目标SQL Server的权限:去数据库VM的SQL Server里,给这个账户(如果是域环境,也可以用网关VM的机器账户DOMAIN\网关VM名称$)添加登录权限,再给目标数据库加数据读取权限。 - 非域环境的话,直接在SQL Server建个SQL身份验证账号,Power BI Service里用这个账号连,同时在网关VM上测试用这个账号能不能登进目标库。
3. 确认网关选择和状态
- 进Power BI Service的「设置-管理连接和网关」,先看要用的那台网关(就是你用来创建报表的第一台VM的网关)是不是在线状态,有没有红色报错。
- 别搞混两台网关:你要用来连目标库的是第一台VM的网关,不是数据库VM上的那台,创建SQL连接的时候一定要选对网关实例。
4. 本地测试验证
- 在网关VM上打开Power BI Desktop,用和Service端一模一样的参数连目标数据库。连不上的话,问题就在本地网络或数据库权限,和Power BI Service没关系;能连上的话,再回到Service端找问题。
5. 查网关日志找具体原因
- 打开网关VM上的「本地数据网关」应用,切到「日志」标签,看最近的错误记录——里面会写清楚是权限不够、网络超时还是DNS解析失败,直接定位问题。
额外提醒
- 如果目标SQL用了动态端口,去数据库VM的SQL Server配置管理器里改成固定端口,同时在防火墙开放这个端口。
- 两台VM的网关版本尽量保持一致,版本差太多可能有兼容性问题,建议更到最新稳定版。
内容的提问来源于stack exchange,提问作者Tiago
相关产品推荐
相关产品推荐

