本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

通過Linked Server訪問雲下自建SQL Server

更新時間:2025-03-14 19:09

RDS SQL Server提供的Linked Server能力可以在RDS執行個體之間建立Linked Server,並且在網路連通的前提下,也支援與雲下自建的SQL Server建立Linked Server,可用於跨地區資料訪問、資料合併與分析以及資料移轉與同步等情境。本文介紹如何通過VPN在RDS SQL Server上建立Linked Server,以串連到雲下自建的SQL Server。

前提條件

  • RDS SQL Server執行個體需滿足如下條件:

    • 執行個體規格:通用型、獨享型(不支援共用型

    • 計費方式:訂用帳戶或隨用隨付(不支援Serverless執行個體

    • 執行個體狀態:運行中

  • 在部署VPN網關前,您需要進行網路規劃:

    • 確保本地行動裝置和雲上Virtual Private Cloud內需要訪問的私網IP位址區段不能相同,否則無法通訊。

    • 確保用戶端能夠訪問網路。

費用說明

部署VPN網關將產生費用

1. 通過VPN打通RDS SQL Server所在VPC和雲下機器的網路連接通道

1.1. 建立VPN網關執行個體

  1. 登入VPN網關管理主控台

  2. 在頂部功能表列,選擇VPN網關執行個體所屬的地區。

    需確保VPN網關執行個體的地區和待關聯的VPC執行個體的地區相同。

  3. VPN網關頁面,單擊建立VPN網關

  4. 在購買頁面,根據以下資訊進行配置,然後單擊立即購買並完成支付。

    配置項

    說明

    配置項

    說明

    執行個體名稱

    輸入VPN網關執行個體的名稱。

    資源群組

    選擇VPN網關執行個體所屬的資源群組。

    如果不選擇,VPN網關執行個體建立完成後歸屬於預設資源群組。您可以在資源管理主控台管理VPN網關執行個體以及其他雲產品資源所屬的資源群組。更多資訊,請參見什麼是資源管理

    地區

    顯示要建立VPN網關執行個體的地區。

    需確保VPN網關執行個體的地區和待關聯的VPC執行個體的地區相同。

    網關類型

    選擇VPN網關執行個體的類型。預設值:普通型

    網路類型

    選擇VPN網關執行個體的網路類型。

    • 公網:VPN網關通過公網建立VPN串連。

    • 私網:VPN網關通過私網建立VPN串連。

    說明

    如果您需要基於私網建立VPN串連,更推薦您使用私網IPsec串連綁定轉寄路由器的方式。具體操作,請參見建立多條私人IPsec-VPN串連實現私網流量的負載分擔

    隧道

    系統直接展示當前地區支援的IPsec-VPN串連的隧道模式。

    • 單隧道

    • 雙隧道

    關於IPsec-VPN串連隧道模式的說明,請參見綁定VPN網關

    專用網路

    選擇VPN網關執行個體關聯的VPC執行個體。

    虛擬交換器

    從VPC執行個體中選擇一個交換器執行個體。

    • IPsec-VPN串連的隧道模式為單隧道時,您僅需要指定一個交換器執行個體。

    • IPsec-VPN串連的隧道模式為雙隧道時,您需要指定兩個交換器執行個體。

      IPsec-VPN功能開啟後,系統會在兩個交換器執行個體下各建立一個彈性網卡ENI(Elastic Network Interfaces),作為使用IPsec-VPN串連與VPC流量互連的介面。每個ENI會佔用交換器下的一個IP地址。

    說明
    • 系統預設幫您選擇第一個交換器執行個體,您可以手動修改或者直接使用預設的交換器執行個體。

    • 建立VPN網關執行個體後,不支援修改VPN網關執行個體關聯的交換器執行個體,您可以在VPN網關執行個體的詳情頁面查看VPN網關執行個體關聯的交換器、交換器所屬可用性區域以及交換器下ENI的資訊。

    虛擬交換器2

    IPsec-VPN串連的隧道模式為雙隧道時,從VPC執行個體中選擇第二個交換器執行個體。

    • 您需要從VPN網關執行個體關聯的VPC執行個體下指定兩個分布在不同可用性區域的交換器執行個體,以實現IPsec-VPN串連可用性區域層級的容災。

    • 對於僅支援一個可用性區域的地區 ,不支援可用性區域層級的容災,建議您在該可用性區域下指定兩個不同的交換器執行個體以實現IPsec-VPN串連的高可用,支援選擇和第一個相同的交換器執行個體。

    單擊查看支援一個可用性區域的地區。

    華東5(南京-本地地區)、泰國(曼穀)、韓國(首爾)、菲律賓(馬尼拉)、阿聯酋(杜拜)。

    頻寬峰值

    選擇VPN網關執行個體的頻寬規格。單位:Mbps。

    流量

    VPN網關執行個體的計費方式。預設值:按流量計費

    IPsec-VPN

    選擇開啟或關閉IPsec-VPN功能。預設值:開啟

    建立IPsec-VPN串連時需開啟本功能。

    SSL-VPN

    選擇開啟或關閉SSL-VPN功能。預設值:關閉

    建立IPsec-VPN串連時無需開啟本功能。

    購買時間長度

    VPN網關的計費周期。預設值:按小時計費。

    服務關聯角色

    單擊建立關聯角色,系統自動建立服務關聯角色AliyunServiceRoleForVpn。

    VPN網關使用此角色來訪問其他雲產品中的資源,更多資訊,請參見AliyunServiceRoleForVpn

    若本配置項顯示為已建立,則表示您當前帳號下已建立了該角色,無需重複建立。

    VPN網關執行個體建立完成後,系統會為VPN網關執行個體分配IP地址,用於和本機資料中心建立IPsec-VPN串連。建立VPN網關

    後續步驟

    為建立IPsec-VPN串連,VPN網關執行個體建立完成後,您還需要建立使用者網關,將本地網關裝置的資訊(例如IP地址、BGP AS號)註冊到阿里雲上。具體操作,請參見建立和系統管理使用者網關

1.2. 建立SSL服務端

  1. 登入VPN網關管理主控台

  2. 在左側導覽列,選擇網間互聯 > VPN > SSL服務端

  3. 在頂部功能表列,選擇SSL服務端的地區。

    SSL服務端的地區需和VPN網關執行個體所屬地區相同。

  4. SSL服務端頁面,單擊建立SSL服務端

  5. 建立SSL服務端面板,根據以下資訊配置SSL服務端,然後單擊確定

    配置

    說明

    配置

    說明

    名稱

    輸入SSL服務端的名稱。

    資源群組

    選擇VPN網關所屬的資源群組。

    SSL服務端所屬的資源群組與VPN網關所屬的資源群組保持一致。

    VPN網關

    選擇要關聯的VPN網關。

    確保該VPN網關已經開啟了SSL-VPN功能。

    本端網段

    本端網段是用戶端通過SSL-VPN串連要訪問的位址區段。

    本端網段可以是Virtual Private Cloud(Virtual Private Cloud)的網段、交換器的網段、通過物理專線和VPC互連的本機資料中心的網段、雲端服務(例如Object Storage Service、雲資料庫)等的網段。

    單擊+添加本端網段可添加多個本端網段,最多支援添加5個本端網段。 以下網段不支援指定為本端網段:

    • 127.0.0.0~127.255.255.255

    • 169.254.0.0~169.254.255.255

    • 224.0.0.0~239.255.255.255

    • 255.0.0.0~255.255.255.255

    說明

    本端網段的子網路遮罩位元在8至32位之間。

    客戶端網段

    用戶端網段是給用戶端虛擬網卡分配訪問地址的網段,不是指用戶端已有的內網網段。當用戶端通過SSL-VPN串連訪問本端時,VPN網關會從指定的用戶端網段中分配一個IP地址給用戶端使用,用戶端將使用分配的IP地址訪問雲上資源。

    在您指定用戶端網段時需保證用戶端網段所包含的IP地址個數是當前VPN網關SSL串連數的4倍及以上。

    • 單擊查看原因。

      例如您指定的用戶端網段為192.168.0.0/24,系統在為用戶端分配IP地址時,會先從192.168.0.0/24網段中劃分出一個子網路遮罩為30的子網段,例如192.168.0.4/30,然後從192.168.0.4/30中分配一個IP地址供用戶端使用,剩餘三個IP地址會被系統佔用以保證網路通訊,此時一個用戶端會耗費4個IP地址。因此,為保證您的用戶端均能分配到IP地址,請確保您指定的用戶端網段所包含的IP地址個數是VPN網關SSL串連數的4倍及以上。

    • 單擊查看不支援配置的網段。

      • 100.64.0.0~100.127.255.255

      • 127.0.0.0~127.255.255.255

      • 169.254.0.0~169.254.255.255

      • 224.0.0.0~239.255.255.255

      • 255.0.0.0~255.255.255.255

    • 單擊查看每個SSL串連數建議的用戶端網段。

      • 若SSL串連數為5,則用戶端網段的子網路遮罩位元建議小於或等於27。例如:10.0.0.0/27、10.0.0.0/26。

      • 若SSL串連數為10,則用戶端網段的子網路遮罩位元建議小於或等於26。例如:10.0.0.0/26、10.0.0.0/25。

      • 若SSL串連數為20,則用戶端網段的子網路遮罩位元建議小於或等於25。例如:10.0.0.0/25、10.0.0.0/24。

      • 若SSL串連數為50,則用戶端網段的子網路遮罩位元建議小於或等於24。例如:10.0.0.0/24、10.0.0.0/23。

      • 若SSL串連數為100,則用戶端網段的子網路遮罩位元建議小於或等於23。例如:10.0.0.0/23、10.0.0.0/22。

      • 若SSL串連數為200,則用戶端網段的子網路遮罩位元建議小於或等於22。例如:10.0.0.0/22、10.0.0.0/21。

      • 若SSL串連數為500,則用戶端網段的子網路遮罩位元建議小於或等於21。例如:10.0.0.0/21、10.0.0.0/20。

      • 若SSL串連數為1000,則用戶端網段的子網路遮罩位元建議小於或等於20。例如:10.0.0.0/20、10.0.0.0/19。

    重要
    • 用戶端網段的子網路遮罩位元在16至29位之間。

    • 請確保用戶端網段與本端網段、VPC網段以及與用戶端終端關聯的任何路由網段均沒有重疊。

    • 在指定用戶端網段時,建議您使用10.0.0.0/8、172.16.0.0/12和192.168.0.0/16網段及其子網網段。如果您的用戶端網段需要指定為公網網段,您需要將公網網段設定為VPC的使用者網段,以確保VPC可以訪問到該公網網段。關於使用者網段的更多資訊,請參見什麼是使用者網段?如何配置使用者網段?

    • 建立SSL服務端後,系統後台會自動將用戶端網段的路由添加在VPC執行個體的路由表中,請勿再手動將用戶端網段的路由添加到VPC執行個體的路由表,否則會導致SSL-VPN串連流量傳輸異常。

    高級配置

    協議

    SSL-VPN串連使用的協議。取值:

    • UDP

    • TCP(預設值)

    連接埠

    SSL服務端使用的連接埠。連接埠取值範圍:1~65535。預設連接埠:1194

    說明

    不支援使用以下連接埠:22、2222、22222、9000、9001、9002、7505、80、443、53、68、123、4510、4560、500、4500

    密碼編譯演算法

    SSL-VPN串連使用的密碼編譯演算法。

    • 如果用戶端使用Tunnelblick軟體或2.4.0及以上版本的OpenVPN軟體,則SSL服務端和用戶端之間動態協商密碼編譯演算法,會優先使用雙方均支援的最高安全層級的密碼編譯演算法。您為SSL服務端指定的密碼編譯演算法不生效。

    • 如果用戶端使用2.4.0之前版本的OpenVPN軟體,則SSL服務端和用戶端將使用您為SSL服務端指定的密碼編譯演算法。SSL服務端支援指定以下密碼編譯演算法:

      • AES-128-CBC(預設值)

      • AES-192-CBC

      • AES-256-CBC

      • none

        本參數表示不使用密碼編譯演算法。

    是否壓縮

    是否對傳輸資料進行壓縮處理。取值:

    • (預設值)

    雙因子認證

    選擇是否開啟雙因子認證功能。系統預設關閉雙因子認證功能。

    雙因子認證是指在建立SSL-VPN串連前對用戶端進行兩種不同類型的身份認證,即SSL用戶端認證認證和IDaaS EIAM執行個體使用者名稱密碼認證,兩次認證均通過後用戶端才能成功建立SSL-VPN串連。雙因子認證的雙重認證機制可以防止使用者身份盜用、未經授權的SSL-VPN串連等,有效提高了SSL-VPN串連的安全性,保護VPC內的敏感性資料免受外部威脅。相關教程,請參見SSL-VPN雙因子認證

    單擊查看雙因子認證流程

    用戶端與VPN網關建立SSL-VPN串連時,系統將使用SSL用戶端認證對用戶端進行第一次認證,用戶端通過SSL用戶端認證認證後,系統會再使用IDaaS EIAM執行個體中的使用者名稱和密碼對用戶端進行第二次認證(不支援通過IDaaS簡訊認證功能對用戶端進行第二次認證),

    開啟雙因子認證功能後,您需要選擇用於身份認證的應用身份服務IDaaS(Identity as a Service)EIAM執行個體和IDaaS應用ID。

      說明
      • 如果您是首次使用雙因子認證功能,請先完成授權後再開啟雙因子認證功能。

      • 在阿聯酋(杜拜)地區建立SSL服務端時,推薦您綁定新加坡地區的IDaaS EIAM 2.0執行個體,以減少跨地區時延。

      • IDaaS EIAM 1.0執行個體不再支援新購。如果您的阿里雲帳號下存在IDaaS EIAM 1.0執行個體,開啟雙因子認證功能後,依舊支援綁定IDaaS EIAM 1.0執行個體。

        如果您的阿里雲帳號下不存在IDaaS EIAM 1.0執行個體,開啟雙因子認證功能後,僅支援綁定IDaaS EIAM 2.0執行個體。

      • 在您綁定IDaaS EIAM 2.0執行個體時,可能需要對VPN網關執行個體進行升級。更多資訊,請參見【變更公告】SSL-VPN雙因子認證支援IDaaS EIAM 2.0

1.3. 建立SSL用戶端認證

  1. 登入VPN網關管理主控台

  2. 在左側導覽列,選擇網間互聯 > VPN > SSL客戶端

  3. 在頂部功能表列,選擇SSL用戶端的地區。
  4. SSL客戶端頁面,單擊建立SSL客戶端

  5. 建立SSL客戶端面板,根據以下資訊配置SSL用戶端認證,然後單擊確定

    配置

    說明

    配置

    說明

    名稱

    輸入SSL用戶端認證的名稱。

    资源组

    選擇SSL服務端所屬的資源群組。

    SSL用戶端認證與SSL服務端所屬的資源群組保持一致。

    SSL服務端

    選擇要關聯的SSL服務端。

1.4. 下載SSL用戶端認證

  1. 登入VPN網關管理主控台

  2. 在左側導覽列,選擇網間互聯 > VPN > SSL客戶端

  3. 在頂部功能表列,選擇SSL用戶端的地區。
  4. SSL客戶端頁面,找到目標SSL用戶端認證,在操作列單擊下載認證

1.5. 配置用戶端

  1. 下載並安裝OpenVPN用戶端。

  2. 解壓下載的認證,並複製到OpenVPN安裝目錄的config檔案夾中。

  3. 單擊Connect發起串連。

1.6. 測試連接

  1. 在同一個VPC中建立一台ECS執行個體

  2. 在OpenVPN用戶端中通過ping命令測試該ECS執行個體的連通性。

    說明
    • 請確保該ECS執行個體的安全性群組規則允許用戶端遠端連線,授權對象為SSL服務端配置中指定的用戶端網段,並指定要訪問本地的資料庫服務連接埠號碼。更多資訊,請參見安全性群組配置案例

    • 若無法串連,可能是由於本地主機設定了防火牆,需要將防火牆設定為允許遠端串連。

2. 在RDS SQL Server上建立Linked Server

  1. 通過SQL Server Management Studio(SSMS)串連RDS SQL Server執行個體。具體操作,請參見串連SQL Server執行個體

  2. 在SQL Server Management Studio(SSMS)中執行如下命令。

    DECLARE
      @linked_server_name sysname = N'myTestLinkedServer',
      @data_source sysname = N'10.10.0.10,1433', --style: 10.1.10.1,1433
      @user_name sysname = N'ay15' ,
      @password nvarchar(128) = N'***',
      @source_user_name sysname = N'test',
      @source_password nvarchar(128) = N'***',
      @link_server_options xml
      = N'
            <rds_linked_server>
              <config option="data access">true</config>
              <config option="rpc">true</config>
              <config option="rpc out">true</config>
            </rds_linked_server>
      '
    
    EXEC sp_rds_add_linked_server_for_local
      @linked_server_name,
      @data_source,
      @user_name,
      @password,
      @source_user_name,
      @source_password,
      @link_server_options

    串連用戶端

    參數說明如下:

    參數

    說明

    參數

    說明

    @linked_server_name

    Linked Server的名稱。

    @data_source

    自建SQL Server資料庫的IP和連接埠號碼,格式為:<IP>,<連接埠>

    @user_name

    自建SQL Server資料庫的使用者名稱。

    @password

    自建SQL Server資料庫使用者名稱對應的密碼。

    @source_user_name

    當前RDS SQL Server資料庫的使用者名稱。

    @source_password

    當前RDS SQL Server資料庫使用者名稱對應的密碼。

    @link_server_options

    串連伺服器的其他可選項。

  3. 執行如下命令測試Linked Server:

    SELECT * FROM [myTestLinkedServer].master.sys.servers

    測試Linked Server

相關操作

  • 本頁導讀 (1, M)
  • 前提條件
  • 費用說明
  • 1. 通過VPN打通RDS SQL Server所在VPC和雲下機器的網路連接通道
  • 1.1. 建立VPN網關執行個體
  • 1.2. 建立SSL服務端
  • 1.3. 建立SSL用戶端認證
  • 1.4. 下載SSL用戶端認證
  • 1.5. 配置用戶端
  • 1.6. 測試連接
  • 2. 在RDS SQL Server上建立Linked Server
  • 相關操作
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare