SQL Server 跨网段跨机房复制
一、 背景
搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段、跨机房异地搭建复制的时候就需要注意了,因为SQL Server复制不支持通过IP连接分发服务器,那有什么办法解决跨网段、跨机房的问题呢? 二、 解决方案 在跨网段、跨机房进行SQL Server复制的时候需要区分两种情况:一种是外网IP的1433端口对应了这台机器SQL Server的数据库端口;另外一种情况是外网IP对应SQLServer机器的端口不是1433;下面是几种解决方案: A. 如果外网IP端口是1433,可以在Windows的host文件中指定IP地址与主机名的对应关系,主机名必须跟真实的主机名一样? B. 因为你的外网IP端口不是1433,所以你无法在host文件中跟IP地址一起指定端口;这种情况下,如果条件允许(安全性和端口数),你可以在防火墙中开放外网IP的1433端口对应这个发布服务器的1433端口,并且限制某个IP可以访问这个端口,程序等访问发布数据库就使用另外的21433端口,保证了1433端口的安全;又可以解决端口映射问题,可以画张图解释; (Figure1:逻辑结构图) C. 另外一种方案是在SQL Server配置管理器里建立一个SQL Server别名,这个别名需要跟主机名一样,不需要启用SQL Server Browser服务; 三、 搭建过程 (一) 环境信息 系统环境:Windows Server 2008 + SQL Server 2008 发布服务器:192.168.1.101,1924,192.168.1.101,1433服务器名称:USER-H2B2A89PEK 分发服务器:与发布服务器同一台机器 订阅服务器:192.168.1.102,1433,服务器名称:QuZhoushiwei105 发布数据库:Task 订阅数据库:TaskSubscribe 数据库帐号:ReplicationUser/ ReplicationPassword (二) 搭建步骤 上面的发布服务器的外网IP开通了两个端口,一个是默认的1433,一个是1924,如果是默认的1433,可以通过host文件,而如果只有端口1924的话就只能通过SQL Server别名方式实现,这里为了做测试就一起开通了这2个端口了。 A. 下面是通过host文件的形式创建订阅的具体步骤: 1) 在发布服务器上创建发布,具体操作可以参考:SQL Server 复制事务发布,只有搭建成功之后下面的步骤才能进行; 2) 设置订阅服务器C:WindowsSystem32driversetc目录的host文件,添加分发服务器(我的环境是发布服务器与分发服务器是一起的,所以这里指定的是发布服务器的地址)信息:192.168.1.101 USER-H2B2A89PEK 3) 设置分发服务器C:WindowsSystem32driversetc目录的host文件,添加订阅服务器信息:192.168.1.102 QuZhoushiwei105 4) 在订阅服务器上创建订阅,具体步骤如下: (Figure2:连接发布服务器) (Figure3:成功连接发布服务器) (Figure4:选择推送订阅) (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |