ApsaraDB for SQL Server 混合云场景一种解决方案
2018-02-28 15:24
393 查看
点击有惊喜
在服务客户时过程中,有用户需要一种解决方案,来建立本地SQL Server服务与RDS SQL Server服务之间的数据传输或者同步的方案,这里我们利用SQL Server复制技术来实现数据的同步,它的典型应用场景是,写数据在本地,读数据放在RDS,这样实现混合云的一种解决方案。
这是SQL Server典型的2+3的的高可用和高扩展解决方案,主备使用镜像完成数据库同步,以提供故障转移,分发单独放在一台服务器,其目的是解决publisher故障转移时,分发服务器可以提供持续同步数据到订阅。发布(publisher)和分发(distributor)是放在用户本地,拥有自主权限。订阅放在RDS上,我的建议是不要用高可用RDS来做分发,购买单实例来做订阅是比较合适的,因为订阅可以不断扩展,如果有主备高可用,订阅服务器也是利用镜像来实现高可用,一旦发生切换,订阅服务器是无法正常同步数据的。 整个方案过程中,可能会遇到一些意象不到的情况,但都是解决掉。
首先需要配置Distributor,当然你的安装一个SQL Server。特别注意的是分发服务器需要一个单独的服务器来充当,不要将分发服务器放在发布服务器上,那样一旦主备发生切换,分发服务器不能正常工作。
第一步:安装SQL Server ,安装是一定要选上replication功能
第二步:配置分发服务器
第三步: 如果不在域环境,你需要注册一下分发服务器和订阅服务器的别名映射 :
注意:发布服务器很容易注册 。订阅服务器比较麻烦,流程如下:
第四步:在分发服务器上注册发布服务器(主备都需要注册) ,如下图:
在发布服务器上rds-test-master/rds-test-slave上都分别要做一下配置:
订阅端是放在RDS, RDS可以是基础版本,也可以是高可用班,甚至可以是WEB版本,我的实验版本都包含了这些版本。但建议版本只在同一个迭代的版本你选取,即使如果发布、分发是2012,订阅建议也是,这三者建议保持一致。
创建分发注意几个地方:
点击有惊喜
ApsaraDB for SQL Server 混合云场景一种解决方案
场景说明
在服务客户时过程中,有用户需要一种解决方案,来建立本地SQL Server服务与RDS SQL Server服务之间的数据传输或者同步的方案,这里我们利用SQL Server复制技术来实现数据的同步,它的典型应用场景是,写数据在本地,读数据放在RDS,这样实现混合云的一种解决方案。
方案架构
方案解析
1. 整体结构
这是SQL Server典型的2+3的的高可用和高扩展解决方案,主备使用镜像完成数据库同步,以提供故障转移,分发单独放在一台服务器,其目的是解决publisher故障转移时,分发服务器可以提供持续同步数据到订阅。发布(publisher)和分发(distributor)是放在用户本地,拥有自主权限。订阅放在RDS上,我的建议是不要用高可用RDS来做分发,购买单实例来做订阅是比较合适的,因为订阅可以不断扩展,如果有主备高可用,订阅服务器也是利用镜像来实现高可用,一旦发生切换,订阅服务器是无法正常同步数据的。 整个方案过程中,可能会遇到一些意象不到的情况,但都是解决掉。
2. Distributor
首先需要配置Distributor,当然你的安装一个SQL Server。特别注意的是分发服务器需要一个单独的服务器来充当,不要将分发服务器放在发布服务器上,那样一旦主备发生切换,分发服务器不能正常工作。 第一步:安装SQL Server ,安装是一定要选上replication功能
第二步:配置分发服务器
USE master EXEC sp_adddistributor @distributor = N'RDS-TEST-DIST', @password = N'' GO EXEC sp_adddistributiondb @database = N'distribution', @data_folder = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data', @log_folder = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data', @log_file_size = 2, @min_distretention = 0, @max_distretention = 72, @history_retention = 48, @security_mode = 1 GO USE [distribution] GO IF ( NOT EXISTS ( SELECT * FROM sysobjects where name = 'UIProperties' and type = 'U ') ) CREATE TABLE UIProperties(id int) IF ( EXISTS ( SELECT * FROM ::fn_listextendedproperty('SnapshotFolder', 'user', 'dbo', 'table', 'UIProperties', null, null) ) ) EXEC sp_updateextendedproperty N'SnapshotFolder', N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\ReplData', 'user', dbo, 'table', 'UIProperties' ELSE EXEC sp_addextendedproperty N'SnapshotFolder', N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\ReplData', 'user', dbo, 'table', 'UIProperties' GO
第三步: 如果不在域环境,你需要注册一下分发服务器和订阅服务器的别名映射 :
注意:发布服务器很容易注册 。订阅服务器比较麻烦,流程如下:
2.1 在RDS上创建一个可以登录的账户,并分配权限
2.2 查看主机的HOST NAME
2.3 开通实例的外网地址,并获得VIP(VIP估计会变,这里需要特别关注)
2.4 通过SQL Server配置管理器配置好别名,注意32位和64位的SQL Native Client都需要配置
第四步:在分发服务器上注册发布服务器(主备都需要注册) ,如下图:
3. Publisher
在发布服务器上rds-test-master/rds-test-slave上都分别要做一下配置:
3.1 配置分发服务器,并指定分发服务器为rds-test-dist
3.2 与分发服务器一样,需要将所有订阅服务器注册到真实的的HOST NAME地址
3.3 发布不服务器上创建一张包含有主键的表
3.4 创建发布:注意只能选事务复制,连接到发布建议使用SQL登录
4. Subscriber
订阅端是放在RDS, RDS可以是基础版本,也可以是高可用班,甚至可以是WEB版本,我的实验版本都包含了这些版本。但建议版本只在同一个迭代的版本你选取,即使如果发布、分发是2012,订阅建议也是,这三者建议保持一致。 创建分发注意几个地方:
4.1 首先订阅在RDS,应该申请外网地址
4.2 需要取得订阅服务器的服务器名字,在分发和发布上做别名时,一定要制定真实的订阅服务器
4.3 订阅的方式只能是push(推送),不能是Pull(拉取)
4.4 订阅的登录方式不能使用SQL Agent account,需要使用SQL 登录方式
点击有惊喜
相关文章推荐
- ApsaraDB for SQL Server 混合云场景一种解决方案
- 利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求
- 利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求
- 灵活运用 SQL SERVER FOR XML PATH
- Microsoft OLE DB Provider for SQL Server 错误 '80040e37'解决方法
- SQL Error: setEnabled failed for server Protocol 'tcp'
- 灵活运用 SQL SERVER FOR XML PATH
- SQL Server FOR XML PATH 语句的应用
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
- Microsoft SQL Server 混合云博客系列
- Error in DB connect for DB2, DB4 and MS-SQL-Server
- Reporting Service for SQL server 2000预览研究
- sql server for 使用网络路径创建数据库
- EMS Data Comparer 2007 for SQL Server v2.1.0.1
- Navicat for SQL Server有哪些功能
- SQLServer ForXmlPath应用
- To SP or not to SP in SQL Server: an argument for stored procedures
- SQL Script for read information from a csv file in FTP Server
- Skype for Business Server 部署SQL always on 已知问题
- 【转】灵活运用 SQL SERVER FOR XML PATH