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

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

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


当前回答

如果你使用EF Core 7,微软官方文档中解释了一个突破性的变化 https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/breaking-changes#encrypt-defaults-to-true-for-sql-server-connections

其他回答

我在试图运行剖析器时遇到了这个错误,即使我的连接已经检查了信任服务器证书,并且我在高级部分添加了TrustServerCertificate=True。我改为以管理员身份运行SSMS实例,分析器启动时没有问题。(我以前发现,即使是本地连接也需要很长时间才能连接,以管理员身份运行也会有所帮助)。

如果您使用Version 18并通过pyodbc访问,它是"TrustServerCertificate=yes",您需要添加到连接中

"ConnectionStrings": {
    "DefaultConnection": "Server=DESKTOP-O5SR0H0\\SQLEXPRESS;Database=myDataBase;Trusted_Connection=True;TrustServerCertificate=True;"
  }
}

如果您正在使用答案中提到的任何连接属性,如果true/false似乎不起作用,则接受的值为yes/no。

TrustServerCertificate -接受字符串“yes”和“no”作为值。默认值为“no”,表示验证服务器证书。

使用ODBC 18.0 -希望它有帮助。

连接字符串属性

将Encrypt=False添加到连接字符串,就是这样