本文介绍金蝶K/3 WISE 15.0/15.1如何接入阿里云RDS SQL Server,实现在RDS实例和服务器之间执行分布式事务。

解决方案介绍

解决方案主要分为如下三个步骤:

准备工作

  • 在Windows Server 2016系统的ECS实例上安装金蝶K/3 WISE。
  • 创建RDS SQL Server实例
  • 本地金蝶K/3 WISE的账套数据库文件已经做好全量数据备份。

说明

  • 安装金蝶的ECS实例需要和RDS实例在同一个地域,且VPC相同。
  • RDS SQL Server实例需要为如下版本:
    • SQL Server 2017标准版
    • SQL Server 2012/2016企业版高可用版
    • SQL Server 2012/2016标准版

恢复账套数据到RDS

上传账套数据备份文件

  • 登录OSS控制台
  • 在左侧单击金蝶K/3 WISE 接入阿里云RDS SQL Server - 图1创建存储空间。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图2
  • 设置如下参数。

参数说明Bucket名称存储空间名称。区域存储空间所在地域。请确保存储空间和ECS、RDS实例在同一地域。存储类型选择低频访问。 读写权限选择私有。 服务端加密选择无。 同城冗余存储选择关闭。 实时日志查询选择不开通。

说明 详细的参数介绍请参见创建存储空间

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图3

  • 单击确定。
  • 在左侧选择刚创建的存储空间。
  • 选择文件管理 > 上传文件。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图4
  • 将要上传的数据库备份文件拖拽到上传文件区域;或者单击直接上传,选择备份文件。

说明 详细的参数介绍请参见上传文件

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图5
创建高权限账号

  • 登录RDS管理控制台
  • 在页面左上角,选择实例所在地域。
  • 找到目标实例,单击实例ID。
  • 在左侧导航栏选择账号管理。
  • 在右侧单击创建账号。
  • 设置如下参数。

参数说明数据库账号长度为2~16个字符,由小写字母、数字或下划线组成。由小写字母开头,结尾必须是字母或数字。账号类型选择高权限账号。 密码设置账号密码。要求如下:

  • 长度为8~32个字符。
  • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
  • 特殊字符为!@#$%^&*()_+-=确认密码再次输入密码。备注说明输入备注说明便于区分业务。
  • 单击确定。
    OSS备份数据恢复上云

  • 登录RDS管理控制台

  • 在页面左上角,选择实例所在地域。
  • 找到目标实例,单击实例ID。
  • 在左侧导航栏选择备份恢复。
  • 在右上角单击OSS备份数据恢复上云。

说明 如果没有此按钮,请确认您的实例版本

  • 两次单击下一步进入数据导入页签。
  • 设置如下参数。

参数说明数据库名目标实例上的目标数据库名称。OSS Bucket选择备份文件所在的OSS存储空间。OSS 子文件夹名备份文件所在的子文件夹名称。OSS 文件列表单击右侧放大镜按钮,可以按照备份文件名前缀模糊查找,会展示文件名、文件大小和更新时间。请选择需要上云的备份文件。上云方案选择打开数据库。 一致性检查方式选择同步执行 DBCC。

说明 如果您是第一次使用OSS备份数据恢复上云功能,该页面会提示您给RDS官方服务账号授予访问OSS的权限,单击授权地址并授权地址即可。

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图6

  • 单击确定。

说明 请您耐心等待数据导入完成,可以在数据库管理页面查看数据库状态。

设置允许执行分布式事务

RDS设置

  • 登录RDS管理控制台
  • 在页面左上角,选择实例所在地域。
  • 找到目标实例,单击实例ID。
  • 在左侧导航栏单击数据安全性。
  • 在右侧单击修改,填写ECS实例的IP地址。

说明

  • 如果ECS与RDS在相同VPC内,请填写ECS的私有IP。私有IP可以在ECS实例的实例详情页面查看。
  • 如果ECS与RDS在不同VPC内,请填写ECS的公网IP,且需要为RDS实例申请/释放外网地址

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图7

  • 单击确定。
  • 选择分布式事务白名单页签。
  • 单击添加白名单分组。
  • 设置如下参数。

参数说明分组名称长度为2~32个字符。由数字、小写字母以及下划线(_)组成。由小写字母开头,结尾必须是字母或数字。组内白名单填写ECS实例的IP地址和Windows系统的计算机名,以英文逗号(,)分隔。示例:192.168.1.100,k3ecstest。
如果需要填写多组,请分行填写。

说明 计算机名在服务器的控制面板 > 系统和安全 > 系统页面查看。

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图8金蝶K/3 WISE 接入阿里云RDS SQL Server - 图9

  • 单击确定。
    ECS设置

  • 登录ECS管理控制台

  • 在页面左上角,选择实例所在地域。
  • 找到目标实例,单击实例ID。
  • 在左侧导航栏单击本实例安全组。
  • 在右侧单击配置规则。
  • 在右上方单击添加安全组规则。
  • 设置如下参数。

参数说明规则方向选择入方向。 授权策略选择允许。 协议类型选择自定义 TCP。 端口范围填写135。

说明 135是RPC服务的固定端口。

优先级填写1。 授权类型选择IPv4地址段访问。 授权对象查看RDS实例的数据安全性 > 分布式事务白名单页面,将RDS实例信息的2个IP地址填写到授权对象框。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图10描述长度为2~256个字符,不能以http://或https://开头。

  • 单击确定。
  • 再次添加安全组规则,端口范围填写1024/65535,其他参数和上一条规则相同。
    Windows系统设置

  • 登录Windows Server 2016系统。

  • 打开hosts文件,路径为C:\Windows\System32\drivers\etc\hosts。
  • 查看RDS实例的数据安全性 > 分布式事务白名单页面,将RDS实例信息的2条信息填写到hosts文件的结尾处。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图11金蝶K/3 WISE 接入阿里云RDS SQL Server - 图12
  • 保存hosts文件。
  • 在控制面板 > 系统和安全 > 管理工具页面打开组件服务。
  • 选择组件服务 > 计算机 > 我的电脑 > Distributed Transaction Coordinator。
  • 在右侧本地DTC上单击鼠标右键,选择属性。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图13
  • 选择安全页签,参照下图进行设置。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图14
  • 单击确定,在弹出的MSDTC服务对话框中单击是,等待MSDTC服务重新启动完成。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图15

账套管理初始化

说明 不同金蝶K/3 WISE版本需要的账套管理工具不同,当前仅提供金蝶K/3 WISE 15.0/15.1的账套管理工具。

  • 解压替换到金蝶的安装目录:K3ERP\KDSYSTEM\KDCOM。
  • 打开金蝶K/3 WISE软件。
  • 在弹出的账套管理数据库设置页面设置相关身份验证信息和数据服务器。

说明数据服务器填写RDS实例的内网地址。

金蝶K/3 WISE 接入阿里云RDS SQL Server - 图16

  • 在系统的下拉菜单里单击预设连接,设置预设连接,方便使用。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图17
  • 在数据库的下拉菜单里单击注册账套。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图18
  • 选择对应的数据库,并单击所有。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图19

登录使用金蝶K/3 WISE

全部设置完成后,ECS实例和RDS实例之间就能够支持分布式事务,您也可以正常登录并使用金蝶K/3 WISE。金蝶K/3 WISE 接入阿里云RDS SQL Server - 图20