SQL SERVER 2016跨网段和局域网发布订阅

 

       由于工作需要,需定时同步数据库中的不同数据,你们是否和我有着同样的需求?其实有两种方式可以实现,一种方式是今天所写的复制的新建发布-新建订阅,另一种方式是AlwaysOn高可用性。下面先来看看复制的发布和订阅。

一:同网段定时同步数据

1.环境:

SQL2016PC1

系统:win10

数据库版本:SQL Server 2016

IP:10.88.20.133

Sqlserver端口:1433

计算机名:SQLT1

工作组:WORKGROUP

用户名:Administrator

 

SQL2016PC2

系统:win10

数据库版本:SQL Server 2016

IP:10.88.20.134

Sqlserver端口:1433

计算机名:SQLT2

工作组:WORKGROUP

用户名:Administrator

2.准备工作(SQLT1和SQLT2务必同样的配置)

  1. )开共享

SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅

2.)打开防火墙1433端口

SQL SERVER 2016跨网段和局域网发布订阅

3.)新建入站规则

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

4.)开启TCP/IP

SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅

选中TCP/IP右键“属性”,在属性中把对应的ip 10.88.20.133的Enabled设置为“是”,端口号为默认的1433

SQL SERVER 2016跨网段和局域网发布订阅

5.)Sql Server Browser 服务和代理服务开启

SQL SERVER 2016跨网段和局域网发布订阅

6.)两台机子有相同的账户和密码

SQL SERVER 2016跨网段和局域网发布订阅

7.)数据库添加windows账户

SQL SERVER 2016跨网段和局域网发布订阅

8.)数据库开启远程连接

SQL SERVER 2016跨网段和局域网发布订阅

9.)测试网络是否连接成功

打开cmd命令窗口(windows+R 输入cmd回车)。

使用ping命令测试网络连接是否有问题(SQL2016PC1 和SQL2016PC2都要ping测试是否互通)

SQL SERVER 2016跨网段和局域网发布订阅

接着测试1433端口是否可用

使用telnet命令测试端口是否可用 telnet 10.88.20.134 1433

弹出下框则表示成功可用

SQL SERVER 2016跨网段和局域网发布订阅

3.发布设置

在SQL2016PC1新建了一个新的数据库Test,Test里面有一张表table, table插入了几条测试数据,把数据库test备份复制到SQL2016PC2机器上还原。

配置SQL2016PC1 作为分发服务器

打开数据库的 复制->本地发布,右键新建发布

SQL SERVER 2016跨网段和局域网发布订阅

发布数据库选择的是测试用的test目的是要把SQL2016PC1 test数据库同步到SQL2016PC2 的数据库test

SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅

4.配置SQL2016PC2 作为订阅服务器

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅SQL SERVER 2016跨网段和局域网发布订阅

SQL SERVER 2016跨网段和局域网发布订阅

二、跨网段配置

由于公司的两台服务器不在同一个网段,所以上面的配置的过程中出现了问题。

SQL2016PC1在23段,SQL2016PC2在21段,发现telnet端口测试也通讯正常,但是用ip登陆数据库连接的时候报使用数据库实例名称登录的错误这个时候需要用windows验证,输入服务器名称连接就好了。

在发布服务器的C:\Windows\System32\drivers\etc 目录下找到hosts 文件,配置订阅服务器的ip地址和数据库实例名称,这样发布服务器就可以找到不在同一个网段的订阅服务器实例了

SQL SERVER 2016跨网段和局域网发布订阅