如何修复由于证书问题导致的SQL Server 2019连接错误

问题描述 投票:0回答:3

我正在使用 .NET 控制台应用程序来测试 SQL Server 2019 数据库连接并收到以下错误消息:

与服务器成功建立连接,但登录过程中出现错误。 (提供商:SSL 提供商,错误:0 - 证书链由不受信任的机构颁发。)

用户名和密码有效。 C# 代码未使用任何加密。我没有在 SQL Server 配置中配置任何证书。

  1. SQL Server 2019 需要证书吗?
  2. 我可以从 SQL Server 获取自行生成的证书吗?
  3. 如果没有可用的自行生成的证书,我可以在哪里免费获得有效的证书?
sql-server connection certificate
3个回答
23
投票

为了改进答案,让我总结一下评论:

虽然在连接字符串中设置

TrustServerCertificate=True
Encrypt=false
是一种快速修复方法,但解决此问题的建议方法是从受信任的 CA 为您的 SQL Server 提供正确的证书。

要为单个 SQL Server 实例安装证书():

  1. 在 SQL Server 配置管理器的控制台窗格中,展开 SQL 服务器网络配置。

  2. 右键单击 的协议,然后选择属性。

  3. 选择证书选项卡,然后选择导入。

  4. 选择浏览,然后选择证书文件。

  5. 选择“下一步”以验证证书。如果没有错误,选择“下一步”将证书导入到本地实例。


5
投票

对我来说这成功了

  • 在 Visual Studio 中,打开服务器资源管理器窗格。
  • 右键单击数据连接(数据库)并选择“修改连接”。
  • 选中“信任服务器证书”复选框。

注意:这在生产环境中可能并不可取,但我只是测试本地非生产应用程序,所以它为我解决了问题。


0
投票

在您的 appsettings.json 文件中将

TrustServerCertificate=True
添加到您的连接字符串,即
"ConnectionStrings": { "Default":"Server=servername;Database=Dbname;Trusted_Connection=True;TrustServerCertificate=True" }

© www.soinside.com 2019 - 2024. All rights reserved.