.Net Web 应用 SQL 服务器连接字符串 Linux 问题

.Net Web app SQL Server Connection String Linux Issue

我遇到 SQL 服务器连接字符串的问题,该字符串由部署在 Linux 环境中的 .net 核心应用程序使用。 .net 核心应用程序需要访问不同服务器上的 sql 服务器。

我使用的连接字符串如下

"ConnectionStrings" : {
SQLDbContext": "Server=serverabc\dev_xys;Database=mynewDatabase;Integrated Security = True"
}

当我 运行 在我的 windows 电脑上本地

时,它工作正常

但是当它部署到 Linux 框时我得到以下错误

ExtendedSocketException: Name or service not known

System.Net.Dns.GetHostEntryOrAddressesCore(string hostName, bool justAddresses) in Dns.cs, line 323

Exception: Cannot connect to SQL Server Browser. Ensure SQL Server Browser has been started

我已经检查了运行部署的 .Net 服务有权访问数据库的服务帐户。

连接字符串需要修改吗?

这只有在

时才有效
  1. SQL 服务器已启用 TCP/IP,并且浏览器服务 运行
  2. Windows 防火墙允许 UDP 端口 1434 和 SQL 服务器实例正在侦听的任何端口上的 TCP。
  3. 客户端可以解析主机名

或者您可以使用 SQL 服务器配置管理器将 SQL 服务器实例设置为侦听固定端口(默认为 1433),并指定该端口而不是实例名称你的连接字符串。