Estou olhando para o servidor IIS que hospeda dezenas de aplicativos. Alguns deles são bem antigos. Todos eles usam cadeias de conexão armazenadas em machine.config em C:\Windows\Microsoft.NET\Framework64.
Todas as cadeias de conexão apontam para o SQL Server 2016 e usam System.Data.SqlClient para conexões:
providerName="System.Data.SqlClient"
O objetivo é migrar dados para a nova Instância Gerenciada de SQL do Azure e substituir cadeias de conexão para que apontem para o novo servidor.
Na Instância Gerenciada de SQL do Azure, a criptografia para conexões é obrigatória, não é possível desligá-la. Você só pode selecionar a versão mínima do TLS (1.0, 1.1 ou 1.2).
As cadeias de conexão MI contêm arquivos Encrypt=True;TrustServerCertificate=False
. Tentei configurar Encrypt=False
o SSMS para teste, mas a consulta sys.dm_exec_connections
encrypt_option ainda estava aparecendo TRUE
.
Todas as versões do System.Data.SqlClient oferecem suporte à criptografia para conexões ou existem algumas versões antigas que não oferecem suporte?
Perguntando isso porque quero evitar situações em que, após a migração, algum aplicativo possa parar de funcionar porque seu driver cliente não suporta criptografia.
System.Data.SqlClient sempre deu suporte à criptografia de conexão e é atendido como parte do Windows, portanto, é mantido atualizado com correções de segurança.