Sql-Server

由於初始化提供程序時出錯,測試連接失敗。DBNETLIB ConnectionOpen SecDoClientHandshake SSL 安全錯誤

  • August 12, 2021

我正在執行所有 Windows 2016 伺服器。我已經安裝了 MS SQL 2016。無論出於何種原因,除非我們啟用顯然不酷的 TLS 1.0,否則我們無法連接到 SQL Server。

我發現了這個:https ://github.com/MicrosoftDocs/windowsserverdocs/issues/2783 ,它討論瞭如何全面啟用 TLS 1.2。我已經驗證在所有相關伺服器的系統資料庫中啟用了 TLS 1.2。上面連結中提到的另一個 MS 文件表明這還不夠,我們可能還需要啟用密碼。所以我在兩台伺服器的系統資料庫中啟用了 RC4 密碼,但仍然沒有任何變化。除非啟用 TLS 1.0,否則不要說話。

我什至可以進入 SQL Server,並創建一個 .UDL 連接測試(對其自身),除非啟用 TLS 1.0,否則它也會失敗。

有任何想法嗎?

SQL Server 的內置 Windows 驅動程序直到 Windows Server 2019 才獲得 TLS 1.2 支持,請參閱KB4580390

在較舊的 Windows 上,您必須安裝支持 TLS 1.2的較新的 SQL Server ODBCOleDB驅動程序。

我們必須為 SQL 2012 安裝 SQL Server Native Client(2016 也使用這個驅動程序),然後我將 SQL Server 上的 sqlnci 版本升級到相同的版本,然後一切都很開心。

引用自:https://dba.stackexchange.com/questions/295311