全部產品
Search
文件中心

ApsaraDB RDS:解決無法串連執行個體問題

更新時間:Jan 16, 2026

本文介紹如何解決無法串連RDS的問題。

串連失敗的常見報錯

請根據現場情況與具體的報錯資訊,選擇對應的解決方案。

SQL Server

錯誤資訊

報錯原因

解決辦法

無法串連到XXX。Cannot connect to XXX。在與SQL Server建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。(provider: TCP Provider, error: 0 - 由於串連方在一段時間後沒有正確回覆或串連的主機沒有反應,串連嘗試失敗。)(Microsoft SQL Server,錯誤: 10060或258)

網路互連問題。

  • 確保ECS執行個體和RDS執行個體處於同一個地區。

  • 確保ECS執行個體和RDS執行個體的網路類型相同。

  • 確保ECS和RDS執行個體在同一個專用網路中。

  • 檢查ECS執行個體的內網IP地址是否已添加到RDS執行個體的白名單。

  • 檢查ECS執行個體中配置的RDS內網地址和連接埠是否正確。

更多資訊,請參見解決方案

無法串連到XXX。Cannot connect to XXX。

已成功與伺服器建立串連,但是在登入過程中發生錯誤。(provider:TCP提供者,error:0-指定的網路名稱不再可用。)(Microsoft SQL Server,錯誤:64)

白名單設定問題。

檢查執行個體白名單

Logon failed for login 'user' due to trigger execution

串連數滿。

檢查執行個體串連數以及是否有阻塞

cannot open user default database.Login failed

RDS SQL Server登入使用者對應的預設資料庫下沒有關聯的使用者。

在此資料庫下為登入使用者建立一個關聯的使用者

From XXX (172.17.XX.XX) icmp_seq=1 Destination Host Unreachable

ECS執行個體無法ping通RDS內網地址,原因在於RDS執行個體的內網網段與ECS其他服務的網段存在衝突。

串連RDS執行個體失敗,ping RDS執行個體內網地址時提示Destination Host Unreachable

DMS串連RDS資料庫報錯

相關操作,請參見通過DMS串連RDS SQL Server資料庫

重要

如果重設了帳號密碼,需要重新登入DMS。

錯誤資訊

報錯原因

解決辦法

The MYSQL server is running with the --rds-deny-access option so it cannot execute this statement

  • RDS執行個體到期。

  • RDS執行個體的磁碟滿。

登入阿里雲RDS控制台,查看執行個體是否被鎖定:

對不起,您暫時無法通過DMS訪問該執行個體。

您不是該執行個體的擁有者,該執行個體的擁有者並未向您授予登入許可權。

授權阿里雲帳號

因白名單問題無法登入資料庫

RDS白名單中沒有添加DMS服務的IP位址區段。

添加DMS服務的IP位址區段

ECS執行個體無法通過內網訪問RDS執行個體

  • 通過RDS內網地址串連RDS執行個體前,需要先將ECS內網IP添加到RDS白名單。

    說明
    • 如何添加白名單,請參見設定RDS SQL Server白名單

    • 如果僅添加ECS外網IP地址到RDS白名單,則無法通過內網串連RDS。

  • ECS執行個體和RDS執行個體需要位於同一地區才能內網互連。可以是同一地區的相同或不同可用性區域。

    • 請確保ECS執行個體和RDS執行個體處於同一個地區:

      1. 查看ECS執行個體所在地區。

      2. 查看RDS執行個體所在地區。

    • 如果ECS執行個體和RDS執行個體位於不同的地區,則無法直接通過內網互連,請參見以下方法進行處理:

      • 方法一:

        • 將ECS執行個體釋放,重新購買與RDS執行個體同一地區的執行個體。

        • 將RDS執行個體釋放,重新購買與ECS執行個體同一地區的執行個體。

      • 方法二:ECS執行個體使用RDS執行個體的公網串連地址串連RDS執行個體,這種方式的效能、安全性、穩定性較差。如何申請外網地址,請參見申請SQL Server外網地址

檢查網路類型

  1. 請確保ECS執行個體和RDS執行個體的網路類型相同(都是專用網路或都是傳統網路)。

    • 查看ECS執行個體的網路類型。

    • 查看RDS執行個體的網路類型。

  2. 如果一個是傳統網路,一個是專用網路,請參見以下方法進行處理:

    • ECS執行個體採用專用網路而RDS執行個體採用傳統網路的情境:

      • 方法一(推薦):將RDS執行個體從傳統網路切換為專用網路(需要切換到待串連的ECS執行個體所在的VPC)。具體操作,請參見切換網路類型

      • 方法二:重新購買傳統網路的ECS執行個體。但是VPC比傳統網路更安全,建議您使用VPC。

        說明

        ECS執行個體不支援從VPC遷移到傳統網路。

      • 方法三:ECS執行個體使用RDS執行個體的公網地址串連RDS執行個體,這種方式的效能、安全性、穩定性較差。如何申請外網地址,請參見申請SQL Server外網地址

    • ECS執行個體採用傳統網路而RDS執行個體採用專用網路的情境:

      • 方法一(推薦):將ECS執行個體從傳統網路遷移到待串連的RDS執行個體所在的VPC,可在RDS執行個體詳情頁網路類型右側單擊查看串連詳情查看RDS執行個體所在VPC ID。具體操作請參見單ECS遷移樣本

      • 方法二:將RDS執行個體從VPC切換為傳統網路。但是VPC比傳統網路更安全,建議您使用VPC。

      • 方法三:開通ClassicLink功能,使傳統網路的ECS執行個體可以和VPC中的RDS執行個體通過內網互連。

        說明

        若開通ClassicLink功能後網路不通,請參見建立ClassicLink串連後傳統網路和VPC網路不通的排查思路

      • 方法四:ECS執行個體使用RDS執行個體的公網地址串連RDS執行個體,這種方式的效能、安全性、穩定性較差。如何申請外網地址,請參見申請SQL Server外網地址

  3. 如果ECS執行個體與RDS執行個體的網路類型都是專用網路,請確認它們位於同一個專用網路。

    • 查看ECS執行個體的專用網路ID。

    • 查看RDS執行個體的網路類型。

  4. 如果專用網路不同,請參見以下方法進行處理:

  5. 如果ECS和RDS執行個體在同一個VPC和地區下,無法通過內網地址串連RDS執行個體(外網地址可以串連)、ping和telnet都失敗。請參見由於路由問題導致ECS無法串連RDS執行個體處理。

無法通過外網訪問RDS執行個體

  • 確認外網串連地址

    確保串連RDS執行個體時使用的是RDS的外網地址。您可以在RDS控制台資料庫連接頁面查看RDS的外網地址。

  • 確認本地裝置的公網IP地址是否已被添加至白名單

    重要

    本地裝置的公網IP可能會發生變化,例如,當公網IP為動態時,其變更可能導致串連失敗。為確保串連的穩定性,建議使用內網串連,或在白名單中配置合理的公網IP段。

    確保已將正確的本地裝置公網IP地址添加到RDS的IP白名單。如需進行排查,請在資料庫的白名單中臨時添加0.0.0.0/0,如果設定後可以正常訪問,說明是白名單設定存在問題。

    您可以通過以下方法擷取正確的本地裝置公網IP地址,並將該地址添加到白名單中。如何添加白名單,請參見設定RDS SQL Server白名單

    更多教程,請參見:

ECS執行個體與RDS執行個體跨帳號互訪

如果您的ECS執行個體與RDS執行個體不在同一帳號下,可以通過以下方式串連:

  • 方式一(推薦):藉助VPC對等串連,詳情請參見VPC對等串連

  • 方式二:使用RAM角色和權限原則,詳情請參見RAM角色

  • 方式三:ECS執行個體使用RDS執行個體的公網地址串連RDS執行個體。這種方式的效能、安全性、穩定性較差。如何申請外網地址,請參見申請SQL Server外網地址

相關文檔

RDS串連失敗的排查方法

適用於

雲資料庫RDS