Technical Anshu Home › Tutoriais › Erro de criptografia do SQL Server
🔐 Correção do SQL Server

Corrigir erro de criptografia do SQL Server - solução com um clique

O SQL Server se conecta e recusa o logon porque não pode confiar no certificado do servidor. Este não é um problema de rede e seus dados não desapareceram – é um problema de confiança. Trabalhe nas correções na ordem em que o vídeo as mostra: a opção rápida do lado do cliente, a mesma opção dentro de uma string de conexão do aplicativo e a correção adequada no próprio servidor.

✍️ Technical Anshu🔐 SQL Server🎧 Multi-Language Audio
Corrigir erro de criptografia do SQL Server - solução com um clique
🎧 Áudio multilíngue: No player de vídeo, clique em [Configurações] (⚙️) ➔ [Faixa de áudio] para selecionar seu idioma.

📑Capítulos

  1. O erro de login - "A cadeia de certificados foi emitida por uma autoridade que não é confiável"
  2. O que o erro realmente significa: a criptografia é exigida, o certificado do servidor não pode provar sua identidade
  3. A correção rápida do cliente - Certificado de servidor confiável na janela de conexão do SSMS
  4. A mesma correção dentro de uma string de conexão de aplicativo
  5. A correção adequada - forneça ao servidor um certificado real em que os clientes confiam por conta própria
  6. Verificando a correção - reconecte da maneira estrita e prove que a criptografia está realmente ativada

📋 Visão geral e guia passo a passo

1

Leia o erro – é um problema de confiança, não um problema de rede

Sua rede está boa e o servidor está funcionando. A conexão chegou ao SQL Server, o servidor ofereceu um canal criptografado para o login e seu PC recusou porque o certificado que comprova a identidade do servidor é assinado por ninguém em que seu PC confia. O erro completo que o SSMS mostra é:

📌 O erro, exatamente como o SSMS mostra: "Uma conexão foi estabelecida com sucesso com o servidor, mas ocorreu um erro durante o processo de login. (provedor: Provedor SSL, erro: 0 - A cadeia de certificados foi emitida por uma autoridade que não é confiável.)"

Por padrão, o SQL Server protege o logon com um certificado autoassinado que ele mesmo cria. Um certificado autoassinado criptografa o tráfego, mas não pode provar que o servidor é realmente o seu servidor, portanto, os clientes que exigem criptografia verificada o rejeitam. Cada correção honesta é uma de duas coisas: fazer com que o cliente aceite esse servidor específico conscientemente (Etapas 2 e 3) ou fornecer ao servidor um certificado em que os clientes confiam por conta própria (Etapa 4).

2

A correção rápida do cliente no SSMS - certificado de servidor confiável

Este é o caminho rápido mostrado no vídeo. Não muda nada no servidor; diz a esta conexão para aceitar o certificado do servidor sem verificar quem o assinou. Na janela SSMS Conectar ao servidor, clique em Opções para abrir as guias extras, vá para a guia Propriedades da conexão, defina a criptografia como Obrigatória (ou deixe-a como oferecida), marque Confiar certificado do servidor e clique em Conectar. O login é feito imediatamente.

⚠️ Saiba o que a caixa de seleção desativa: o tráfego permanece criptografado, mas a verificação de identidade é ignorada - o cliente também aceitaria um servidor falso colocado no meio. Na LAN do seu próprio escritório, para um servidor que você controla, esta é a solução alternativa aceita no dia a dia e, em máquinas de desenvolvimento e teste, é uma troca justa. Pela Internet ou em um servidor de produção que contém dados do cliente, trate-o apenas como uma ponte temporária e conclua o trabalho com a Etapa 4. É uma ponte, não o destino.
3

A mesma correção dentro de uma string de conexão de aplicativo

Se um aplicativo falhar em vez do SSMS, o mesmo switch permanecerá em sua cadeia de conexão. Adicione as duas configurações explicitamente - Encrypt=True ativa o canal protegido e TrustServerCertificate=True é a ortografia da cadeia de conexão da caixa de seleção SSMS:

Connection String
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;

Use seu próprio nome de servidor, banco de dados e login no lugar dos valores de exemplo. A compensação é exatamente a mesma da caixa de seleção na Etapa 2, com um perigo extra: inserida na configuração de um aplicativo enviado, a verificação ignorada se aplica a todos os usuários, de forma invisível e permanente. Mantenha-o nas configurações de desenvolvimento e preparação e, na produção, trate-o como tempo emprestado até que o certificado do servidor na Etapa 4 esteja em vigor.

📌 Por que os aplicativos quebraram sem serem reconstruídos: drivers recentes alteraram seus padrões - Microsoft.Data.SqlClient 5.1 e mais recente, e driver ODBC 18, ativaram Encrypt por padrão. Cadeias de conexão que nunca mencionavam criptografia começaram a exigi-la, contra servidores cujos certificados autoassinados não podem passar na validação. Nada mudou em seu banco de dados; o contrato dentro da string sim. Escrever as configurações explicitamente significa que a próxima atualização do driver não pode alterar o comportamento do seu aplicativo pelas suas costas.
4

A solução adequada – forneça ao servidor um certificado real

O reparo permanente acontece uma vez, no servidor, e depois cada cliente se conecta estritamente, sem caixa de seleção e sem aviso. Primeiro, obtenha um certificado para o nome DNS completo do servidor (por exemplo sql01.company.local) da sua autoridade de certificação interna ou de uma CA pública, com uso de Autenticação de servidor. Importe-o, com sua chave privada, para o armazenamento de certificados do Computador Local na máquina SQL Server. Em seguida, clique com o botão direito no certificado, escolha Todas as tarefas → Gerenciar chaves privadas e conceda à conta de serviço do SQL Server permissão Leitura na chave privada. Abra o SQL Server Configuration Manager, expanda SQL Server Network Configuration, clique com o botão direito em Protocolos para MSSQLSERVER, escolha Propriedades e selecione o certificado na guia Certificado. Na guia Sinalizadores você também pode definir ForceEncryption como Sim para que todos os clientes sejam obrigados a criptografar. Reinicie o serviço SQL Server - a alteração não fará nada até que você o faça.

✅ As duas armadilhas que causam quase todos os "não funcionou": um certificado cujo nome não corresponde ao nome pelo qual os clientes se conectam (conectam-se pelo nome DNS do servidor, não pelo endereço IP) e uma conta de serviço que não pode ler a chave privada. Após a reinicialização, o log de erros do SQL Server deverá registrar que o certificado foi carregado com êxito para criptografia - se ele reclamar, a permissão da chave privada será o primeiro lugar a procurar.
⚠️ Sobre ForceEncryption: configurá-lo como Sim no servidor força a criptografia para todas as conexões - que é o estado final correto apenas quando um certificado confiável é instalado. Forçá-lo enquanto o servidor ainda carrega seu certificado autoassinado simplesmente faz com que cada cliente estrito falhe com o mesmo erro, de uma só vez.
5

Verifique a correção da maneira estrita

Um login bem-sucedido silenciosamente prova menos do que as pessoas pensam, porque algumas combinações de configurações se conectam sem proteção real. Prove as duas metades. Primeiro, reconecte-se de um cliente da maneira estrita: conecte-se usando o nome DNS do servidor - o nome dentro do certificado - defina a criptografia como Obrigatória e deixe Certificado de servidor confiável desmarcado. O login deve ser bem-sucedido sem aviso prévio. Então, nessa mesma sessão, pergunte ao servidor se a conexão está realmente criptografada executando esta consulta no SSMS:

SQL Query
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

encrypt_option mostrando TRUE é a nota de aprovação. FALSE com um login funcional significa que a conexão foi bem-sucedida ao eliminar a proteção e o trabalho não foi concluído. Essa aprovação no teste é a verdadeira linha de chegada: qualquer cliente configurado corretamente, incluindo versões futuras do SSMS, agora se conecta com validação completa e sem configurações especiais.

🏷️Variáveis e palavras-chave de pesquisa de tópico

🔍 SQLServer 🔍 CertificateNotTrusted 🔍 TrustServerCertificate 🔍 SSMS 🔍 ForceEncryption 🔍 TechnicalAnshu 🔍 SQL Server Encryption Error 🔍 Certificate Chain Not Trusted 🔍 Encrypt Connection 🔍 Connection String Fix 🔍 SQL Server Configuration Manager 🔍 SSL Provider Error
🎙️ Transcrição completa – toque para expandir

__TOK_24__

__TOK_25__

__TOK_26__

❓ Perguntas frequentes

Este tutorial é 100% gratuito para seguir?

__TOK_27__

Os iniciantes podem seguir este guia?

__TOK_28__

Onde posso fazer perguntas se tiver dúvidas?

__TOK_29__

🚀 Assista ao tutorial completo no YouTube

__TOK_30__

__TOK_31__

▶️ Assistir ao vídeo completo
Este tutorial é baseado no vídeo Corrigir erro de criptografia do SQL Server do Technical Anshu • Travou em alguma etapa? Pergunte nos comentários do vídeo – você receberá ajuda lá 🙏