微软官方解释:升级 SNAC 应用程序后出现“证书链由不受信任的颁发机构颁发”错误

如果最近将 SQL Server Native Client 11.0 (Provider=SQLNCLI11) 应用程序升级为使用 Microsoft OLE DB Driver 19 for SQL Server (Provider=MSOLEDBSQL19) ,则可能会收到类似于以下消息的错误消息:

[Microsoft OLE DB Driver 19 for SQL Server]:客户端无法建立连接

[Microsoft OLE DB Driver 19 for SQL Server]:SSL 提供程序:证书链由不受信任的颁发机构颁发

 

 我是新增了Serilog.Sinks.MSSqlServer,他引用了Microsoft.Data.SqlClient导致的,安装官方文档链接字符串中添加如下代码即可

;TrustServerCertificate=True

但是我使用了环境变量还存储这个链接字符串,调试后发现更改环境变量后需要重启,才能正确读取。。。。。

Serilog文档也有说明:https://github.com/serilog-mssql/serilog-sinks-mssqlserver

重大变化

版本 6.0.0

Microsoft.Data.SqlClient已升级到 >4.0.0,引入了有关连接字符串的重大更改。如果您的 SQL Server 不使用加密,您必须通过添加在连接字符串中明确指定Encrypt=False否则连接将失败并显示SqlException有关详细信息,请参阅SqlClient 文档

其它情况还有一个参考链接:https://stackoverflow.com/questions/17615260/the-certificate-chain-was-issued-by-an-authority-that-is-not-trusted-when-conn/17658821#17658821