症狀
當你嘗試在啟用傳輸層安全SQL Server (TLS) 1.2 版本的伺服器上安裝 Microsoft 2012 或 2014 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 的 ADO.NET SqlClient。 預設情況下,.NET Framework 2.0 可與 TLS 1.0 相容。
解決方式
要解決這個問題,請安裝 .NET Framework 的熱修正整合,然後重新啟動伺服器。 請使用以下表格根據你所執行的作業系統和 SQL Server 版本找到合適的熱修正:
| 作業系統版本 | 熱修補 |
|---|---|
| Windows 2012 R2 與 Windows 8.1 | .NET Framework 2.0 SP2 在 Windows Server 2012 R2 和 Windows 8.1 的熱修整合 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 | .NET Framework 2.0 SP2 在 2008 Windows Server SP1 與 Windows 7 SP1 中,熱修補程式整合3106991 |
因應措施
若要避開此問題,請依照下列步驟執行:
- 在伺服器上啟用 TLS 1.0。
- 重新啟動伺服器。
- 執行 SQL Server 2012 或 SQL Server 2014 設定程式,並將 SQL Server 版本更新為支援 TLS 1.2 的建置版本。 (欲了解更多關於新增 TLS 1.2 支援的更新資訊,請參見 KB 3052404.)
- 關閉 TLS 1.0。
- 重新啟動伺服器。
注意:當你嘗試安裝未包含啟用 TLS 1.2 支援修補的 SQL Server 2012 或 SQL Server 2014 版本時,也必須使用此替代方案。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。