在允许多个用户同时连接的 VDI 上,如何配置 SQL 以便为每个用户使用不同的端口运行?

在允许多个用户同时连接的 VDI 上,如何配置 SQL 以便为每个用户使用不同的端口运行?

我正在尝试在允许多个用户同时连接的 VDI 中启动一个名为 Aura 的应用程序,该应用程序使用 SQL 作为其数据库引擎。

当程序首次启动时,它运行良好,但是当第二个用户启动它时,我收到以下错误: 通过研究我发现软件每次都试图使用同一个端口,这显然是不可能的

所以我进入了 SQL 配置管理器 > SQL Server 网络配置 > 协议我的应用程序> IP 地址并将 IPV4 端口更改为 0(因此每次启动时都会选择一个动态端口)。

它确实似乎每次启动时都会选择不同的端口,但该端口仍然由所有连接到系统的用户共享,因此问题仍然存在。

如何配置 SQL 以便为每个登录的用户提供不同的端口?

答案1

SQL Server 允许在同一端口上建立多个连接,因此我非常怀疑错误是由 SQL Server 引起的。很可能是因为 Aura 中有一些程序(例如服务)在端口 95110 上进行监听。

但是我也不喜欢做出这样的随机假设,因为它可能是任何事情。我的第一步 - 在服务器上启动 Aura,然后以管理员身份在服务器上启动命令提示符会话并运行:

  1. netstat -ab > netstat.log
  2. 记事本 netstat.log

netstat 将显示计算机上正在使用的端口以及本地和远程 IP。添加 -ab 将显示所有正在使用的端口 (-a) 和正在使用该端口的应用程序 (-b)。“> netstat.log”仅将 stdout(标准输出,而不是错误输出)输出到名为 netstat.log 的文件中。您可以在调查后删除它,因为数据仅在您运行命令后才有效,因为正在使用的端口会随时间而变化。

在记事本中,搜索 95110 以查看哪个应用程序正在使用该端口。我怀疑它要么是 Aura,要么是 Aura 使用的仅允许单个连接的服务。如果它是 SQL Server(可能性很小,因为我知道我编写的应用程序有 100 个用户同时在同一端口上连接到同一个 SQL 实例,没有任何问题),我的第一步是确保我已将所有修补程序应用于 SQL Server,并确保它是该工具支持的版本。版本号(例如 2016)和版本(例如标准版)。

如果我确定我的环境设置正确,下一步就是联系 Aura 支持。Aura 很可能不支持 VDI 环境;如果它是桌面应用程序并且希望在桌面环境中运行,则很可能不支持允许多个用户同时连接到同一台物理机器的 VDI 环境。

注意 - 因为我不知道这个“Aura”程序的作用或工作原理,每次启动服务/应用程序时端口可能会发生变化,因此请将“95110”替换为在屏幕上显示错误消息时从错误消息中获取的端口号。

相关内容