我正在查看托管数十个应用程序的 IIS 服务器。其中一些已经很老了。它们都使用存储在 C:\Windows\Microsoft.NET\Framework64 中的 machine.config 中的连接字符串。
所有连接字符串都指向 SQL Server 2016,并使用 System.Data.SqlClient 进行连接:
providerName="System.Data.SqlClient"
目标是将数据迁移到新的 Azure SQL 托管实例并替换连接字符串,以便它们指向新服务器。
在 Azure SQL 托管实例中,连接加密是强制性的,无法将其关闭。您只能选择最低 TLS 版本(1.0、1.1 或 1.2)。
MI 连接字符串包含Encrypt=True;TrustServerCertificate=False
. 我尝试Encrypt=False
在 SSMS 中进行设置进行测试,但随后查询sys.dm_exec_connections
encrypt_option 仍然显示TRUE
.
System.Data.SqlClient 的所有版本都支持连接加密吗?还是有一些旧版本不支持?
之所以问这个问题,是因为我想防止迁移后某些应用程序可能因为其客户端驱动程序不支持加密而停止工作的情况。
System.Data.SqlClient 始终支持连接加密,并且它作为 Windows 的一部分提供服务,因此可以保持最新的安全修复程序。