將 Microsoft SQL 伺服器遷移到 AWS 雲端後解決連接錯誤 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Microsoft SQL 伺服器遷移到 AWS 雲端後解決連接錯誤

創建者:普雷姆庫瑪切拉杜賴 (AWS)

環境:生產

技術:作業系統;移轉

工作量:Microsoft

AWS 服務:Amazon EC2

Summary

將在 Windows 伺服器 2008 R2、2012 或 2012 R2 上執行的 Microsoft SQL 伺服器遷移到 Amazon 網路服務 (AWS) 雲端上的亞馬遜彈性運算雲端 (亞馬遜 EC2) 執行個體後,與 SQL 伺服器的連線失敗,並出現以下錯誤: 

  • [Microsoft][ODBC SQL Server Driver][DBNETLIB] General Network error

  • ERROR [08S01] [Microsoft][SQL Native Client]Communication link failure. System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

  • TCP Provider: The semaphore timeout period has expired

此模式說明如何解決這些錯誤,方法是關閉作業系統 (作業系統) 和網路介面層級的 Windows 可延展網路套件 (SNP) 功能,以及在 Windows 伺服器 2008 R2 上執行的 SQL Server。

先決條件和限制

先決條件

  • 視窗伺服器的管理員權限。

  • 如果您使用 AWS 應用程式遷移服務做為移轉工具,則需要下列其中一個 Windows 伺服器版本:

    • 視窗伺服器 2008 R2 服務包 1、2012 年或 2012 年 R2

  • 如果您使用 CloudEndure 移轉作為移轉工具,則需要下列其中一個 Windows Server 版本:

    • 視窗伺服器 2003 R2 服務套件 3、2008 年 R2 服務套件 1、2012 或 2012 年 R2

工具

  • Amazon EC2 — 亞馬遜彈性運算雲 (Amazon EC2) 在 AWS 雲端提供可擴展的運算容量。您可以使用 Amazon EC2 根據需要啟動任意數量或少量的虛擬伺服器,並且可以向外擴展或擴展。 

  • Windows 伺服器 — Windows 伺服器是建立連線應用程式、網路和網路服務之基礎結構的平台。

史诗

任務描述所需技能
在作業系統層級關閉 SNP 功能。
  1. 以系統管理員身分登入 Windows 伺服器並開啟命令提示字元。

  2. 執行 netsh int tcp show global 命令。

  3. 在輸出中,檢查Chimney Offload是否處於模式Receive-Side Scalingenabled模式。如果其中任何一個是enabled,請執行下列命令:

    • netsh int tcp set global chimney=disabled

    • netsh int tcp set global rss=disabled

AWS 管理員、AWS 系統管理員、遷移工程師、雲端管理員
在 elastic network interface 層級關閉 SNP 功能。
  1. 選擇 [開始]ncpa.cpl,輸入,然後按 Enter。 

  2. 以滑鼠右鍵按一下「彈性

  3. 在躍現式選單中,選擇「內容」。

  4. 在「乙太網路介面卡內容」視窗中選擇「設定

  5. Amazon 彈性網路介面卡內容快顯視窗中,選擇進索引標籤。

  6. 在「性質」區段中,關閉所有卸載和 RSS。

AWS 管理員、雲端管理員、AWS 系統管理員

相關資源