Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

徵狀

當您嘗試在已啟用傳輸層安全性(TLS)版本1.2 的伺服器上安裝 Microsoft SQL Server 2012 或 SQL Server 2014 時,您可能會遇到下列問題:

  • 如果您要安裝的 SQL Server 版本不包含啟用 TLS 1.2 支援的修正程式(如需有關新增 TLS 1.2 支援的組建的詳細資訊,請參閱 KB 3052404),您會收到下列錯誤訊息:

    等待資料庫引擎恢復控制碼失敗。 檢查 SQL Server 錯誤記錄,以瞭解可能的原因。

  • 如果您要安裝的 SQL Server 版本包含啟用 TLS 1.2 支援的修正程式, 您會收到 下列錯誤訊息:

    已成功建立與伺服器的連線,但在登入前的握手期間發生錯誤。 (提供者:具名管道提供者,錯誤: 0-在管道的另一端沒有任何處理程式。)

在這兩種情況下,安裝都會失敗。

原因

之所以發生這個問題,是因為 SQL Server 安裝程式使用來自 .NET Framework 2.0 的 SqlClient ADO.NET。 根據預設,.NET Framework 2.0 可搭配 TLS 1.0 使用。

解決方案

若要解決此問題,請安裝 .NET Framework 的修復程式匯總,然後重新開機伺服器。 根據您所執行的作業系統與 SQL Server 版本,使用下表尋找適當的修補程式:

作業系統版本

修補

Windows 2012 R2 和 Windows 8。1

Windows Server 2012 R2 和 Windows 8.1 中 .NET Framework 2.0 SP2 的修復程式匯總3106993

Windows Server 2012 和 Windows 8

Windows Server 2012 和 Windows 8 上 .NET Framework 2.0 SP2 的修復程式匯總3106992

Windows Server 2008 R2 SP1 和 Windows 7 SP1

Windows Server 2008 R2 SP1 和 Windows 7 SP1 中 .NET Framework 2.0 SP2 的修復程式匯總3106991

因應措施

若要解決此問題,請遵循下列步驟:

  1. 在伺服器上啟用 TLS 1.0。

  2. 重新開機伺服器。

  3. 執行 SQL Server 2012 或 SQL Server 2014 安裝程式,並將 SQL Server 版本更新為支援 TLS 1.2 的組建。 (如需新增支援 TLS 1.2 之更新的詳細資訊,請參閱KB 3052404。)

  4. 停用 TLS 1.0。

  5. 重新開機伺服器。

注意: 當您嘗試安裝 SQL Server 2012 或 SQL Server 2014 的組建,但不包含可啟用 TLS 1.2 支援的修正程式時,您也必須使用此因應措施。

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。