首页 > 解决方案 > 如何在 ubuntu 16.04 中为 mssql 实例启用 TCP/IP?

问题描述

我无法使用我的程序连接托管在 Ubuntu 16.04 中的 SQL Server,我相信这是因为我尝试连接的实例禁用了 TCP/IP(SQL Server 网络配置下的 SQLEXPRESS 协议)。

我如何确定,因为我试图将我的程序连接到托管在 Windows 中并且能够连接的 SQL Server。

例如,我的实例名称是 SQLEXPRESS,因此我尝试使用 IP Adress\SQLEXPRESS 通过 SSMS 进行连接,但它失败了。但是如果我只使用 IP 地址作为服务器名称,我就能够连接到 SQL。

我试图搜索 sqlcmd 以启用 tcp/ip,但所有这些都只是显示更改端口的指南。

那么,如何在 Ubuntu 16.04 中为 ip\SQLEXPRESS 实例启用 tcp/ip 连接?

下图只是在 windows 中为 sql 实例启用 tcp/ip 的示例

windows sql server 配置中的设置

标签: sql-serverubuntuubuntu-16.04sqlcmd

解决方案


我相信这在 linux 上不起作用的原因是它没有 Windows 可用的 SQL Server Browser 应用程序。此应用程序将请求重定向到 1433 到它当前正在侦听的任何随机端口——这就是为什么它只会在指定端口时连接。就我而言,这很糟糕,因为我不得不处理一个我们没有源代码的古老应用程序。我正在考虑编写一个小应用程序,它将默认流量重定向到 linux msssql 的正确端口。


推荐阅读