Ola,
Continuando com a migração do Azure Sql Managed Instance para o Azure SQL Hyperscale (contei mais no último post) após resolvido os problemas da replicação e sincronização do esquema, me deparei com um novo erro:
Problema
Eis que aí começa o problema maior, como podem ver o erro não é nem um pouco amigável e pode ser relacionado ha uma infinidade de coisas. Junte a isso o fato de estarmos falando de um código escrito em vbscript ha +/- 20 anos.
A mensagem em si nos leva a crer que o problema está na string de conexão, mas aí que as coisas ficaram interessantes, temos duas máquinas na mesma rede com o mesmo código apontando para o mesmo servidor, em uma máquina tudo funciona 100% sem erros e em outra temos o erro.
Dica 1
Sempre que estiver trabalhando com erros relacionados a string de conexão tente deixar a string de conexão o mais simples possível.
String de conexão padrão:
Set DB_CONN = Server.CreateObject("ADODB.Connection")
DB_CONN.CursorLocation = 3
DB_CONN.ConnectionTimeout = 300
DB_CONN.CommandTimeout = 300
DB_CONN.Open "Provider=SQLNCLI11;Server=" & SERVER_DB_ADDRESS & ";Application Name='" & APPLICATION_NAME & "';Database=" & SERVER_DB_CATALOG_NAME & ";Uid=" & SERVER_DB_USER_NAME & "; Pwd=" & SERVER_DB_PASSWORD & ";DataTypeCompatibility=80;CommandTimeout=300"
Temos dois parâmetros a mais ali DataTypeCompatibility e CommandTimeout, apos removê-los temos o erro real.
Solução
Agora, sim, as coisas começam a fazer um pouco mais de sentido, nosso servidor está configurado para aceitar ao menos TLS 1.2.
E comparando a versão dos drivers em ambos os servidores, o servidor que apresentava o erro estava com uma versão desatualizada do driver.
Aqui temos duas opções:
- Solução 1 - Fazer o downgrade do Minimum TLS version para 1.1, o que não seria recomendado, mas ainda, sim, ok para um servidor de testes.
- Solução 2 - Atualizar o driver para a versão mais recente e manter o mesmo ambiente nas duas VMs.
Optamos pela solução 2 e tudo foi resolvido.
Nota pessoal: Link correto para download
https://www.microsoft.com/en-us/download/confirmation.aspx?id=50402
Nos siga para mais dicas e erros do dia a dia.