徵狀
當您嘗試在已啟用傳輸層安全性(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 |
因應措施
若要解決此問題,請遵循下列步驟:
-
在伺服器上啟用 TLS 1.0。
-
重新開機伺服器。
-
執行 SQL Server 2012 或 SQL Server 2014 安裝程式,並將 SQL Server 版本更新為支援 TLS 1.2 的組建。 (如需新增支援 TLS 1.2 之更新的詳細資訊,請參閱KB 3052404。)
-
停用 TLS 1.0。
-
重新開機伺服器。
注意: 當您嘗試安裝 SQL Server 2012 或 SQL Server 2014 的組建,但不包含可啟用 TLS 1.2 支援的修正程式時,您也必須使用此因應措施。
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 詞彙 。