【问题标题】:How to set network adapter used by SQL Server Replication?如何设置 SQL Server 复制使用的网络适配器?
【发布时间】:2009-03-10 12:26:55
【问题描述】:

我有 2 台运行 SQL Server 2005 的服务器,它们之间设置了合并复制。

每台服务器都连接到建筑物网络,但它们也有一根交叉电缆将它们连接起来,从而创建一个专用网络。

如何配置合并复制以使其使用专用网络而不是建筑物网络?

专用网络不属于任何域,但构建网络可能有也可能没有域,具体取决于客户端。

我尝试使用专用网络 IP 地址设置复制,但某些存储过程仅适用于 Windows 服务器名称。我想服务器名称可以通过任一网络解析,并且我想防止复制流量在构建网络上发送。

【问题讨论】:

    标签: sql-server database sql-server-2005 replication


    【解决方案1】:

    我不知道这是否可行,但值得一试。

    • 确保将交叉电缆设置为机器之间的私有子网。与每个端点关联的 IP 地址必须有一个公共前缀,该前缀不同于建筑物网络的前缀。例如,将一个端点设置为 192.168.24.1,将另一个端点设置为 192.168.24.2,并将两个端点的子网掩码设置为 255.255.255.0。

    • 将这些 IP 地址添加到主机文件 \WINDOWS\system32\drivers\etc\hosts。确保您使用与现有名称不同的服务器名称。下面我用过server1和server2。

      192.168.24.1 服务器 1

      192.168.24.2 server2

    测试使用

       ping server1
       ping server2
    

    以确保他们可以互相交谈。

    使用 server1 和 server2 名称来配置复制。

    【讨论】:

    • 不幸的是,这不起作用。我在订阅者上收到以下错误:“远程服务器“ReplicationPrimary”不存在,或未被指定为有效发布者,或者您可能无权查看可用发布者。”
    • 我在使用 sp_adddistributor 设置发布者时也出错:“无法连接到服务器 'TEST-SERVER',因为 'distributor_admin' 未定义为服务器上的远程登录。验证您有指定了正确的登录名。”
    • 另一种选择可能是使用 ROUTE -p ADD 10.2.3.4 MASK 255.255.255.255 192.168.24.1 METRIC 0 设置静态路由。这里 10.2.3.4 是建筑物上另一台机器的 IP 地址网络。在另一个节点上执行相同(向后)。使用常规名称进行复制。
    • 实际上,我确实是这样工作的。第一次设置时,我将 new 服务器名称放在 hosts 文件中,并使用这些设置复制。您需要在 hosts 文件中添加相同的 windows 计算机名称才能使其正常工作。非常感谢!
    【解决方案2】:

    这是一个猜测。也许 SQL 没有在那个 IP 上监听。

    转到 SQL Server 配置管理器 > SQL2005 网络配置 > TCP/IP 属性 > 为本地网络添加 IP(x)

    SQL 还会在启动日志中说明它正在侦听的 IP/端口。

    【讨论】:

      【解决方案3】:

      thinkcube's answer 是正确的,除了我想在这里分享的一个细节,以防人们不阅读 cmets:

      确保您使用不同的服务器 名称比现有名称。

      我需要在 hosts 文件中使用相同的服务器名称。这是因为发布者需要 Windows 服务器名称,而订阅者可以使用其他名称。

      由于windows looks in the hosts file first,IP 地址(在专用网络上)将被使用,但发布者仍会看到正确的名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-20
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多