我在从Azure网站连接我的DB时遇到了一个错误,它是在虚拟机角色(我有SQL虚拟机角色)。VM Role和Azure Website都在West zone。我面临着以下问题:
SqlException (0x80131904):成功建立了与服务器的连接,但是在登录过程中发生了错误。(提供者:SSL提供者,错误:0 -证书链是由一个不受信任的机构颁发的。)]
我可以使用SSMS连接到我的DB。虚拟机角色的1433端口是开放的。 我的连接有什么问题?
我在从Azure网站连接我的DB时遇到了一个错误,它是在虚拟机角色(我有SQL虚拟机角色)。VM Role和Azure Website都在West zone。我面临着以下问题:
SqlException (0x80131904):成功建立了与服务器的连接,但是在登录过程中发生了错误。(提供者:SSL提供者,错误:0 -证书链是由一个不受信任的机构颁发的。)]
我可以使用SSMS连接到我的DB。虚拟机角色的1433端口是开放的。 我的连接有什么问题?
当前回答
当我试图连接到托管在谷歌云平台上的MS SQL Server实例时,在连接属性选项卡下使用SSMS未选中信任服务器证书时,我得到了相同的错误。通过将GCP提供的证书授权导入到本地计算机的“受信任的根证书颁发机构”列表,我成功信任了该证书。
在这里阅读完整的描述和解决方案。
其他回答
将Encrypt=False添加到连接字符串,就是这样
从IIS访问SQLServer时遇到同样的问题。添加TrustServerCertificate=True没有帮助。
可以在MS文档中看到一条注释:确保SQLServer服务帐户可以访问您正在使用的TLS证书。(NT服务\ MSSQLSERVER)
打开个人存储,右键单击证书->管理私钥->添加SQL服务帐户并给予完全控制。
重新启动SQL服务。它工作。
如果你正在使用SQL Management Studio,请转到连接属性,然后点击“信任服务器认证”
如果你使用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
如果在ODBC设置(32或64)中已经创建了到服务器的ODBC连接(使用ODBC Driver 18 for SQL server),则需要配置该连接,并按3次“Next”。在最后一个屏幕中,中间有一个“信任服务器证书”复选框。设置为勾选。这样就行了。添加“TrustServerCertificate=True”到连接字符串,正如在其他答案中建议的那样,对我不起作用。