使用Tableau Bridge通过专用端点连接Azure Synapse与Tableau Cloud失败
解决Tableau Bridge通过专用端点连接Azure Synapse Analytics(关闭公网访问)失败的问题
问题重现
无法连接到Azure Synapse Analytics 详细错误信息:数据库连接发生未知错误。下方错误信息包含更多详情,您可能需要联系数据库管理员查看数据库日志。[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]原因:建立SQL Server连接时发生实例特定错误。由于“拒绝公共网络访问”设置为“是”,连接被拒绝。请从虚拟网络内部使用专用端点连接到此服务器。无法连接到Azure Synapse Analytics服务器'workspacename.privatelink.sql.azuresynapse.net'。请检查服务器是否正在运行,以及您是否拥有请求数据库的访问权限。
已确认的环境配置:
- 两个对等互联的VNet:分别部署Azure Synapse Analytics和Tableau Bridge专用VM
- 子网均关联Network Security Groups (NSGs),双方入站/出站已开放443(HTTPS)和1433(SQL)端口
- Synapse专用SQL池已创建专用端点
- Tableau Bridge VM启用了托管标识,且已在SQL池中创建对应登录名
- VM上
nslookup可解析专用端点IP,Test-NetConnection显示1433/443端口开放 - 安装ODBC Driver 18,用托管标识连接;VM上SSMS可跨VNet连接SQL池无问题
- 公网模式下Synapse与Tableau Cloud连接正常;关闭公网访问后,Tableau Desktop用CData ODBC驱动可通过专用端点连Tableau Cloud,但Tableau Bridge仍无法连接
排查与解决方案
1. 核对Tableau Bridge使用的ODBC驱动版本
错误信息显示Bridge调用的是ODBC Driver 17,但你已安装Driver 18,需强制Bridge使用新版本驱动:
- 打开Tableau Bridge设置,进入数据源连接配置页面,手动指定使用
ODBC Driver 18 for SQL Server - 确认Bridge服务运行用户拥有Driver 18安装目录的访问权限
2. 验证托管标识的权限与配置
确保Tableau Bridge的身份验证链路完全生效:
- 在Tableau Cloud的数据源设置中,确认连接方式选择系统托管身份,而非用户名密码或其他认证方式
- 检查SQL池权限:给托管标识添加
db_datareader(或必要的读写权限),仅创建登录名不足以访问数据库
3. 排查Bridge服务的DNS解析逻辑
VM层面nslookup正常不代表Bridge服务的解析结果一致:
- 以Tableau Bridge服务运行的用户身份执行
nslookup workspacename.privatelink.sql.azuresynapse.net,确认解析出的私有IP与SSMS测试结果一致 - 确保VM使用Azure DNS或能解析专用端点的自定义DNS服务器,避免使用公共DNS导致解析异常
4. 检查网络路由与端点配置
确认流量完全通过VNet对等互联传递:
- 检查Synapse专用端点所在子网的路由表,确保允许来自Tableau Bridge VM子网的流量
- 检查Tableau Bridge VM子网的路由表,确认到Synapse专用端点IP的流量走VNet对等互联路由,而非默认公网路由
5. 强制TLS加密配置
ODBC Driver 18默认要求加密连接,需明确配置:
- 在Tableau Bridge的连接字符串中添加参数:
Encrypt=YES;TrustServerCertificate=NO(若Synapse使用自签证书,可临时设为YES测试) - 确认VM信任Synapse的SSL证书(可通过SSMS连接时的证书验证弹窗确认)
6. 手动指定连接字符串并升级Bridge
尝试绕过图形化配置的兼容性问题:
- 升级Tableau Bridge到最新版本,避免旧版本的专用端点适配bug
- 在数据源配置中手动输入完整连接字符串:
Driver={ODBC Driver 18 for SQL Server};Server=workspacename.privatelink.sql.azuresynapse.net,1433;Database=your_db_name;Authentication=ActiveDirectoryMSI;Encrypt=YES
内容的提问来源于stack exchange,提问作者user25954371
相关产品推荐
相关产品推荐

