使用非默认端口配置复制(SQL Server Linux)

适用于:Linux 上的 SQL Server

可以通过 Linux 上的 SQL Server 实例(会侦听使用 network.tcpport mssql-conf 设置配置的任何端口)来配置复制。 如果满足以下条件,则需要在配置过程中将端口追加到服务器名称后:

  • 复制设置涉及 Linux 上的 SQL Server 实例
  • 任何实例(Windows 或 Linux)正在监听非默认的端口。

可以通过在实例上运行 @@SERVERNAME 来查找实例的服务器名称。 请勿使用 IP 地址而不是服务器名称。 为发布者、分销商或订阅者使用 IP 地址可能会导致错误。

注意

在 Linux 上使用非默认端口创建 SQL Server 复制仅适用于 SQL Server 2019 及更高版本。

示例

Server1 侦听 Linux 上的端口 1500。 要配置 Server1 以进行分发,请搭配 sp_adddistributor 运行 @distributor。 例如:

EXECUTE sp_adddistributor @distributor = 'Server1,1500';

Server1 侦听 Linux 上的端口 1500。 若要为分发服务器配置发布服务器,请搭配 sp_adddistpublisher 运行 @publisher。 例如:

EXEC sp_adddistpublisher @publisher = 'Server1,1500' ,  ,

Server2 侦听 Linux 上的端口 6549。 要将 Server2 配置为订阅服务器,请搭配 sp_addsubscription 运行 @subscriber。 例如:

EXEC sp_addsubscription @subscriber = 'Server2,6549' ,  ,

Server3 侦听 Windows 上的端口 6549,其中服务器名称为 Server3,实例名称为 MSSQL2017。 要将 Server3 配置为订阅服务器,请搭配 sp_addsubscription 运行 @subscriber。 例如:

EXEC sp_addsubscription @subscriber = 'Server3/MSSQL2017,6549',  ,

已知问题

在重新创建订阅时,链接服务器的端口未更新。

在订阅服务器上删除并重新创建具有非默认端口的订阅时,系统会重复使用现有的链接服务器,但无法更新端口配置。 这可能会导致尝试连接到订阅服务器时复制失败。

有关此已知问题的详细信息,包括症状、原因和解决方法,请参阅 “删除推送订阅”。