案例解析丨金蝶 K/3 Wise 接入华为云 RDS 数据库 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 模式
或使用命令修改
选中当前链接,右键属性,选择数据库设置,点选压缩备份。
右键选中数据库,任务->备份
选择备份,并将其命名为同数据库名的.bak 文件存储。
至此数据文件准备完毕。如部署在其他云或者其他服务器上,参见
https://support.huaweicloud.com/bestpractice-drs/drs_04_0003.html
选择合适的迁移上云方案进行迁移数据。
2.3 数据全量迁移上云
选择华为云对象存储服务(OBS)。创建一个标准存储、公共读写的桶。
页面访问并上传文件可能无法上传,建议使用 obsbroswer(可能下线)或者 obs broswer plus 传输文件。
获取访问密钥(AK/SK),详情见链接指导:
https://support.huaweicloud.com/qs-obs/obs_qs_0005.html
使用工具登录桶,找到对应创建的桶:
上传备份文件到桶
跳转到数据复制服务,选择备份迁移管理,创建迁移任务,选择数据库类型为 SQL Server,备份文件来源为自建 OBS 桶,选择桶名,找到上传的备份文件,点击下一步。
选择对应创建的实例,选择全量备份,最后一个备份,覆盖还原,执行预校验,全部数据库,点击确认即可。
等待迁移任务完成
2.4 云上数据库实例配置
当前华为云 SQL Server 数据库默认开启分布式事务(MSDTC),我们通过配置 msdtc 来实现云数据库实例和云弹性服务器之间的同步。详情查看分布式事务:
https://support.huaweicloud.com/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 客户端,使用已经配置的金蝶账号即可登录使用。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/664ad5da925803b9c07797f76】。文章转载请联系作者。
评论