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

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

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


当前回答

虽然一般答案本身是正确的,但我发现它还不足以解决我的SQL Server导入和导出向导的问题。假设你有一个有效的(自动的)基于Windows安全的登录:

ConnectionString

Data Source=localhost; 
Initial Catalog=<YOUR DATABASE HERE>; 
Integrated Security=True; 
Encrypt=True; 
TrustServerCertificate=True; 
User Instance=False

这可以是完整的ConnectionString(都在一行上),也可以将这些值单独应用到它们的字段。

其他回答

虽然一般答案本身是正确的,但我发现它还不足以解决我的SQL Server导入和导出向导的问题。假设你有一个有效的(自动的)基于Windows安全的登录:

ConnectionString

Data Source=localhost; 
Initial Catalog=<YOUR DATABASE HERE>; 
Integrated Security=True; 
Encrypt=True; 
TrustServerCertificate=True; 
User Instance=False

这可以是完整的ConnectionString(都在一行上),也可以将这些值单独应用到它们的字段。

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

在我的情况下,数据库是坏的。当我重新创建一个新的数据库名称时,错误得到解决。这是来自SQL Server数据库的错误。尝试重新创建一个新的数据库。

关闭连接字符串中的加密。你可以通过在你的连接字符串中添加以下内容来实现:

encrypt=false

如果你使用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