从Microsoft Fabric连接Docker部署的SQL Server失败求助
问题:Microsoft Fabric Data Factory复制活动连接Docker部署的SQL Server失败
错误提示
发生异常:DataSource.Error: Microsoft SQL: 建立与SQL Server的连接时出现与网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,并且SQL Server配置为允许远程连接。(provider: Named Pipes Provider, error: 40 - 无法打开到SQL Server的连接)
当前配置信息
数据源连接设置
Server - localhost:1433 Database - stock_market Username - sa Password - yourStrong(!)Password
Docker启动SQL Server的命令
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=yourStrong(!)Password" --name sqlserver -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
错误截图

解决步骤
- 替换localhost为宿主机公网IP:Fabric Data Factory是云端服务,无法识别本地
localhost,必须填写运行Docker的宿主机公网IP,同时确保该IP的1433端口对外开放。 - 确认Docker端口映射生效:执行
docker ps查看容器状态,确认端口映射显示为0.0.0.0:1433->1433/tcp,说明宿主机端口已正确映射到容器。 - 启用SQL Server远程连接:
- 进入容器执行命令:
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong(!)Password - 在SQL命令行中执行:
sp_configure 'remote access', 1; RECONFIGURE; - 确保TCP/IP协议已启用:容器内SQL Server默认开启TCP/IP,若未开启可通过SQL Server配置管理器或命令行调整。
- 进入容器执行命令:
- 检查防火墙规则:
- 宿主机本地防火墙需允许1433端口的入站连接;
- 若宿主机在云服务器上,需在云平台安全组中开放1433端口的入站权限。
- 测试端口连通性:使用在线端口检测工具或telnet命令,测试宿主机公网IP的1433端口是否可访问,确保网络通路正常。
内容的提问来源于stack exchange,提问作者JohnnyDevv
相关产品推荐
相关产品推荐

