RDS SQL Server支援通過設定分散式交易白名單確保事務一致性和隔離性。您需首先在RDS執行個體中配置分散式交易白名單,精準授權特定ECS執行個體訪問並參與RDS SQL Server的交易處理;其次對應調整ECS執行個體的安全性群組規則,確保ECS執行個體的網路設定與RDS端的白名單策略相匹配,從而構建一個安全穩定的分散式交易環境,便於後續排查解決事務一致性問題等。
前提條件
RDS SQL Server執行個體需滿足如下條件:
資料庫版本:2022 企業叢集版、2019 企業叢集版、2017 企業叢集版、2016 企業版、2012 企業版、2022 標準版、2019 標準版、2017 標準版、2016 標準版、2012 標準版、2008 R2 雲端硬碟版
規格類型系列:通用型、獨享型(不支援共用型)
計費方式:訂用帳戶或隨用隨付(不支援Serverless執行個體)
您可以前往執行個體基本資料頁面查看以上資訊。
注意事項
如果您對RDS SQL Server執行個體執行了大版本升級、小版本升級或遷移可用性區域操作,RDS執行個體底層所在ECS執行個體的主機名稱和IP地址可能發生變化,您需要重新配置分散式交易白名單,以匹配新的IP地址。
可訪問RDS執行個體詳情頁頁面,查看當前主機名稱和IP地址。
RDS設定
步驟一:設定白名單分組
在RDS執行個體中設定白名單分組,以允許特定ECS執行個體通過其IP地址訪問RDS執行個體。
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列單擊白名單與安全性群組,然後在
default白名單分組右側單擊修改,填寫ECS執行個體的IP地址。說明如果ECS與RDS在相同VPC內,請填寫ECS的私人IP。
如果ECS與RDS在不同VPC內,請填寫ECS的公網IP,且需要為RDS執行個體申請外網地址。
您可以在ECS執行個體的執行個體詳情頁面查看私人IP或公網IP地址。
ECS執行個體的IP擷取頁面如下:

單擊確定。
步驟二:設定分散式交易白名單
在RDS執行個體中設定分散式交易白名單,明確哪些ECS執行個體可以通過電腦名稱參與分散式交易。
在RDS執行個體詳情頁的左側導覽列單擊資料安全性,然後單擊分散式交易白名單頁簽。
單擊添加白名單分組,設定如下參數後,單擊確定。
參數
說明
分組名稱:
長度為2~32個字元。由數字、小寫字母以及底線(_)組成。由小寫字母開頭,結尾必須是字母或數字。
組內白名單
填寫
ECS執行個體IP地址,ECS執行個體上Windows系統的電腦名稱(Hostname),以英文逗號(,)分隔。例如:192.168.1.100,k3ecstest。 如果有多個ECS執行個體添加,請分行填寫。Hostname查看方法:在ECS執行個體上Windows系統的頁面查看。
ECS設定
調整ECS執行個體的安全性群組規則,開放必要連接埠,以確保ECS執行個體側的網路設定與RDS側的白名單設定相匹配,共同實現安全的分散式交易環境。
登入ECS管理主控台。
在左側選擇。
在頁面左上方,選擇執行個體所在地區。
找到目標執行個體,單擊執行個體ID。
在頂部導覽列中,選擇安全性群組。
單擊目標安全性群組操作列下的管理規則。
選擇入方向頁簽,單擊增加規則。
設定如下參數,單擊確定。
參數
說明
授權策略
選擇允許。
優先順序
保持預設值:1。
協議
選擇自訂 TCP。
訪問來源
訪問RDS執行個體的頁面,將RDS執行個體資訊的2個IP地址(即RDS SQL Server執行個體底層所在ECS執行個體的IP)填寫到授權對象框。
說明您也可以通過DescribeDBInstanceIpHostname介面查詢IP地址。
訪問目的
選擇連接埠並填寫135。
說明135是RPC服務的固定連接埠。
描述
長度為2~256個字元,不能以
http://或https://開頭。再次配置安全性群組規則,訪問目的的連接埠填寫1024/65535,其他參數與步驟8配置項相同。
相關文檔
分散式交易的相關最佳實務,請參見金蝶K/3 WISE 接入阿里雲RDS SQL Server。
白名單的更多操作環境,請參見設定白名單。
安全性群組的概念、使用限制、最佳實務等詳情,請參見安全性群組概述。
常見報錯
應用程式與分散式交易管理器通訊失敗,報錯Communication with the underlying transaction manager has failed.如何解決?
可能報錯原因 | 解決方案 |
RDS執行個體IP地址和主機名稱發生變化 | 如果您對RDS SQL Server執行個體執行了大版本升級、小版本升級或遷移可用性區域操作,RDS執行個體底層所在ECS執行個體的主機名稱和IP地址可能發生變化,您需要重新配置分散式交易白名單,以匹配新的IP地址。 可訪問RDS執行個體詳情頁頁面,查看當前主機名稱和IP地址。 |
交易管理員服務狀態異常等 | 若IP地址正確,但交易管理員未正常運行(例如因配置錯誤、許可權問題或伺服器資源不足)、網路連接不穩定或中斷,也會導致通訊失敗。 |