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.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客戶端,使用已經配置的金蝶賬號即可登錄使用。


