快速迁移数据中心:华为云数据库SQL Server实践案例技术解析
1. 简介
企业或用户将数据中心部署在线下,采用独立软件提供商(Independent Software Vendor)软件进行管理。线下数据运维成本较高,故障容灾单一化,是目前遇到的瓶颈。采用云上数据库并平滑兼容线下ISV软件管理可以降低企业上云难度,加速企业上云,本文以金蝶K/3 WISE 为例,配合华为云SQL Server 实例快速迁移数据中心。
适用场景说明:
a) 支持本地ISV应用迁移上云
b) 支持云上虚拟机中的ISV应用,将数据库远程安装至RDS SQL Server。
2. 案例实现
2.1 云上环境搭建
环境说明:
a) 本地环境:Windows Server 2016 标准版 64位 ,已经安装了金蝶K/3 WISE 相关组件,并创建测试账套,数据库实体为AIS20200415112523,数据库用户为sa。
b) 云上环境:
华为云SQL Server Microsoft SQL Server 2016 Enterprise Edition 单机实例 4核16GB ,字符集尽量保持和线下一致(线下字符集区分大小写可能会有影响)。
华为云弹性云服务器 Windows Server 2016 标准版 64位 4核16GB(用于安装金蝶客户端及账套管理)。
备注:安装金蝶的弹性云服务器需要和RDS实例在同一个地域,且VPC相同。否则可能需要搭建专用网络通道进行预先测试连通性后方可兼容,非同vpc下的访问时效不能完全保证。
注意:2008版本可能会出现无法使用服务名注册账套最终导致使用客户端登录失败,不建议使用2008版本进行对接
c) 本文适配华为云 RDS SQL Server版本如下:
SQL Server 2017企业版/标准版
SQL erver 2016企业版/标准版
SQL Server 2014企业版/标准版
SQL Server 2012企业版/标准版
2.2 数据准备
在本地服务器上,使用数据库管理工具(如SQL Server Management Studio)登录本地数据库,找到对应账套数据库(这里为AIS20200415112523)。
选中数据库,右键数据库属性->选项,选择恢复模式为full 模式
或使用命令修改
USE master;
ALTER DATABASE database_name SET RECOVERY FULL;
选中当前链接,右键属性,选择数据库设置,点选压缩备份。
右键选中数据库,任务->备份
选择备份,并将其命名为同数据库名的.bak文件存储。
至此数据文件准备完毕。如部署在其他云或者其他服务器上,参见
https://support.huaweicloud.cn/bestpractice-drs/drs_04_0003.html
选择合适的迁移上云方案进行迁移数据。
2.3 数据全量迁移上云
选择华为云对象存储服务(OBS)。创建一个标准存储、公共读写的桶。
页面访问并上传文件可能无法上传,建议使用obsbroswer(可能下线)或者obs broswer plus传输文件。
获取访问密钥(AK/SK),详情见链接指导:
https://support.huaweicloud.cn/qs-obs/obs_qs_0005.html
使用工具登录桶,找到对应创建的桶:
上传备份文件到桶
跳转到数据复制服务,选择备份迁移管理,创建迁移任务,选择数据库类型为SQL Server,备份文件来源为自建OBS桶,选择桶名,找到上传的备份文件,点击下一步。
选择对应创建的实例,选择全量备份,最后一个备份,覆盖还原,执行预校验,全部数据库,点击确认即可。
等待迁移任务完成
2.4 云上数据库实例配置
当前华为云SQL Server 数据库默认开启分布式事务(MSDTC),我们通过配置msdtc 来实现云数据库实例和云弹性服务器之间的同步。详情查看分布式事务:
https://support.huaweicloud.cn/usermanual-rds/rds_sqlserver_01_0001.html
主机名称:输入要与RDS实例建立分布式事务的主机名。主机名在1到64个字符之间,由字母、数字或中划线组成,不能包含其他特殊字符,且主机名字不可重复。
主机IP: 输入要与RDS实例建立分布式事务的主机IP。主机IP需要先配置安全组的出入规则。
云上主机
Win+R ->cmd 键入 hostname
或者控制面板->系统和安全—>系统
RDS数据库页面,点击实例,选择分布式事务
点击添加主机,键入主机名称和可以连通云上数据库实例的ip地址,点击测试连接,通过测试后,点击确定,测试不通过请排查输入的信息是否正确,尤其确认ip是否可以连通(一般建议内网IP,若跨VPC等,需要提前测试连通性)。
2.5 云上弹性服务器配置
RDS数据库页面,点击实例,选择分布式事务,点击复制RDS实例信息
将RDS实例信息配置到ECS的hosts文件中,路径为“C:\Windows\System32\drivers\etc\hosts”
在ECS端:打开“控制面板”,选择“系统和安全 > 管理工具”,在“管理工具”页面打开“组件服务”。
选择“计算机 > 我的电脑 > Distributed Transaction Coordinator”。
右键单击“本地DTC”,选择“属性”。按如下配置
设置后会重启msdtc服务
2.6 测试结果
在ECS端,根据产品要求安装金蝶K/3 wise 客户端和账套管理系统
点击账套管理,在弹出的账套管理数据库设置页面设置相关身份验证信息和数据服务器
数据服务器填入云端数据库的服务器名(即为上一步设置的)。数据库实体选择对应的数据库即可。
设置完毕后,进入系统,点击注数据库->注册账套
进入后,填写上一步的服务器名为当前数据服务器,填入对应的sqlserver 身份验证,目前华为云的默认数据库账号为rdsuser,填写完毕后点击数据库实体,点击右键,弹出空白框,点击所有后,可显示当前云上所有的数据库实体,选择迁移的账套数据库(注意为账套数据库会提示为无效账套)即可。
为方便链接,可在系统->预设连接中,配置云上实例为默认的连接。
至此对接华为云sqlserver实例完毕,点击金蝶K3 wise客户端,使用已经配置的金蝶账号即可登录使用。
- 点赞
- 收藏
- 关注作者
评论(0)