我在从Azure网站连接我的DB时遇到了一个错误,它是在虚拟机角色(我有SQL虚拟机角色)。VM Role和Azure Website都在West zone。我面临着以下问题:

SqlException (0x80131904):成功建立了与服务器的连接,但是在登录过程中发生了错误。(提供者:SSL提供者,错误:0 -证书链是由一个不受信任的机构颁发的。)]

我可以使用SSMS连接到我的DB。虚拟机角色的1433端口是开放的。 我的连接有什么问题?


当前回答

短的通知。如果您正在使用AWS RDS,您可以从truststore.pki.rds.amazonaws.com获得证书。有关特定链接的详细信息可以在本文档中找到:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html。

只需下载适当的证书并将其安装到您的主机上。

其他回答

我在实体框架迁移中得到了这个消息。我能够与Win Auth连接到Sql Server,并手动创建表。但EF行不通。这个连接字符串终于工作了

Server=MyServerName;Database=MyDbName;Trusted_Connection=SSPI;Encrypt=false;TrustServerCertificate=true

如果尝试使用SSMS连接时看到此错误消息,请将TrustServerCertificate=True添加到附加连接参数中。

在我的例子中,扩展连接字符串是不够的 加密= false; TrustServerCertificate = true;

我仍然需要在NuGet控制台输入:

- database就- verbose

我添加了这2行到ConnectionString和它工作

Trusted_Connection=True
TrustServerCertificate=True

当我试图连接到托管在谷歌云平台上的MS SQL Server实例时,在连接属性选项卡下使用SSMS未选中信任服务器证书时,我得到了相同的错误。通过将GCP提供的证书授权导入到本地计算机的“受信任的根证书颁发机构”列表,我成功信任了该证书。

在这里阅读完整的描述和解决方案。