具有静态和动态端口的混合 SQL Server 实例

Mic*_*Sim 2 sql-server configuration

假设某人有 5 个不同的 SQL Server 实例在服务器上运行。最初都使用动态端口。

限制其中一个实例使用静态端口 1433 而所有其他实例仍然使用动态端口是否安全?

通常,根据启动顺序,一个动态实例可能会声明端口 1433,因此固定端口实例以后无法获取它。这可能会阻止固定端口实例运行吗?

或者在 SQL Server 中是否有任何内部机制先启动固定端口实例,然后再启动动态端口实例?

spa*_*dba 6

当启动配置了动态端口的 SQL Server 命名实例时,动态端口由 windows 提供。动态端口范围在众所周知的静态端口范围之外,端口 1433 位于该范围内。动态端口范围在 49152 和 65535 之间,如此处所述

在后续启动时,实例会重用先前启动时使用的相同动态端口(端口写入注册表中)。如果发现该端口正在使用中,SQL Server 会要求操作系统提供一个新端口。此行为记录在此页面的“动态端口分配”部分中。

用一句话来回答您的问题:您描述的场景是不可能的(在正确配置范围的受支持的 Windows 版本中)。