配置Azure Hybrid Connection后无法连接SQL Server Analysis Services
我之前也踩过Hybrid Connection连SSAS的坑,结合实战经验给你梳理几个关键排查方向,应该能定位问题:
验证SSAS实际监听端口
虽然你配置了2383,但得确认本地SSAS服务确实在这个端口上监听。在本地服务器打开命令提示符,运行:netstat -ano | findstr :2383检查输出里是否有对应
msmdsrv.exe(SSAS进程)的条目。如果没有,要么SSAS未启动,要么端口配置错误——比如命名实例默认不用2383,或者你修改了SSAS端口但未生效(需要重启SSAS服务)。检查Hybrid Connection目标配置
登录Azure Portal找到你的Hybrid Connection,确认:- 「目标主机」是本地SSAS服务器的NetBIOS名称或完全限定域名(FQDN),绝对不能用IP地址(Hybrid Connection依赖主机名解析)
- 「目标端口」严格设置为2383,没有拼写错误
确认Hybrid Connection Manager(HCM)运行权限
本地HCM的运行账户需要有访问SSAS服务的权限。右键本地的Hybrid Connection Manager服务,查看「登录」选项卡的账户:- 优先使用有SSAS访问权限的域账户或本地管理员账户
- 如果用的是本地系统账户,可能会因权限不足导致流量无法转发,建议更换账户后重启HCM服务
本地服务器防火墙规则检查
确保本地SSAS服务器的防火墙(Windows防火墙或第三方防火墙)已开放2383端口:- 如果HCM和SSAS在同一台机器,需允许本地回环(127.0.0.1)的2383端口入站流量
- 如果HCM在另一台服务器,需允许HCM服务器IP的2383端口入站连接
在App Service端测试连通性
打开App Service的Kudu控制台(https://<你的应用名>.scm.azurewebsites.net/),运行:telnet <Hybrid Connection目标主机名> 2383- 如果telnet失败,说明Hybrid Connection的流量转发存在问题,重点排查HCM或Azure端配置
- 如果telnet成功,问题大概率出在SSAS权限或应用连接字符串上
验证应用的SSAS连接字符串
确保应用中的连接字符串正确指向Hybrid Connection配置的主机名和端口,示例:Data Source=<目标主机名>:2383;Initial Catalog=<你的分析服务数据库>;Integrated Security=SSPI;注意不要用IP地址,必须使用Hybrid Connection中配置的主机名。
重置Hybrid Connection连接
有时候Hybrid Connection显示「已连接」但实际存在隐性故障,可以尝试:- 本地重启Hybrid Connection Manager服务
- 在Azure Portal中先禁用再重新启用Hybrid Connection
- 如果部署了多个HCM节点,确认所有节点都处于正常连接状态
内容的提问来源于stack exchange,提问作者Narsimlu K

