LocalDB MSSQLLocalDB não conecta? Corrija e resolva o erro 0x80070643 no SQL Server

Se o Visual Studio ou o SSMS não conseguem conectar ao (localdb)\MSSQLLocalDB e as atualizações do SQL Server mostram o erro 0x80070643, este guia prático traz o passo a passo para restaurar o LocalDB, alinhar versões do SQL Server e voltar a trabalhar sem surpresas.

Índice

Panorama e objetivo

Este artigo explica por que a conexão ao LocalDB pode falhar e como corrigir de forma segura, rápida e reproduzível. Em seguida, aborda as causas mais comuns das falhas nas atualizações do SQL Server via Windows Update ou instaladores independentes e como contornar o erro genérico do Windows Installer. O foco é oferecer um roteiro claro para que você:

  • Reconstrua a instância MSSQLLocalDB quando estiver ausente, corrompida ou presa a uma versão desatualizada.
  • Limpe a pasta de instância no perfil do usuário quando permissões ou arquivos quebrados impedirem a inicialização.
  • Padronize todas as instâncias do SQL Server na mesma build e ramificação de manutenção para viabilizar o patch.
  • Valide a saúde do ambiente com testes objetivos fora do Visual Studio.

Sintomas e sinais do problema

Ao tentar conectar ao servidor local, você vê mensagens como:

  • Unable to connect to target server ‘(localdb)\MSSQLLocalDB’.
  • The specified LocalDB instance does not exist ou falha ao abrir o pipe nomeado do LocalDB.
  • Conexões intermitentes quando coexistem LocalDB de edições de anos diferentes (por exemplo, dois motores instalados) com uma instância automática criada num build antigo.
Comportamento observadoCausa provável
Mensagem informando que a instância não existeInstância automática nunca criada neste perfil ou foi removida parcialmente
Conexão falha após atualizações do sistemaPasta da instância com permissões inconsistentes ou arquivos de metadados corrompidos
Variação de comportamento entre sessõesConvivência de motores com versões diferentes e instância vinculada a um build antigo

Causas mais prováveis

  • Instância automática danificada: a MSSQLLocalDB é criada por perfil e pode quebrar após migrações de máquina, restaurações ou instalação/remoção de outras edições do SQL.
  • Pasta do usuário com permissões quebradas: arquivos residuais em %LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB travam o início do serviço.
  • Confusão de versões: quando há motores com builds diferentes, a instância automática permanece vinculada à versão original com que foi criada — não migra sozinha. É preciso excluir e recriar.

Correção rápida passo a passo

Antes de começar, feche o Visual Studio, o SSMS e qualquer serviço ou tarefa que possa abrir conexões com o SQL no seu perfil.

Inventário do LocalDB

Abra um Prompt ou Terminal com privilégios de administrador e rode:

sqllocaldb versions
sqllocaldb info
sqllocaldb info MSSQLLocalDB

Se a resposta indicar que a instância não existe ou retornar erro, avance para a recriação. Caso exista, prossiga com a parada e remoção seguras.

Parar e remover a instância automática

sqllocaldb stop MSSQLLocalDB -k
sqllocaldb delete MSSQLLocalDB

O parâmetro -k força a interrupção de conexões existentes. Isso evita que o processo do LocalDB fique preso por um cliente em segundo plano.

Recriar e iniciar a instância

sqllocaldb create "MSSQLLocalDB"
sqllocaldb start "MSSQLLocalDB"
sqllocaldb info MSSQLLocalDB

Verifique se o campo que indica a versão do LocalDB corresponde ao motor desejado. Se você instalou recentemente um motor mais novo, a recriação da instância deve apontar para ele.

Limpeza da pasta de instância no perfil

Se a criação iniciar com erro ou a conexão continuar falhando, renomeie a pasta da instância no seu perfil (com os clientes fechados) e repita a recriação:

ren "%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB" MSSQLLocalDB.old

Em cenários de permissões quebradas, você pode reatribuir permissões padrão ao seu usuário:

icacls "%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances" /inheritance:e /grant %USERNAME%:F /T

Atenção: se houver bases importantes dentro dessa pasta, faça cópias de .mdf e .ldf antes de qualquer alteração.

Teste de conectividade fora do Visual Studio

sqlcmd -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"

Se vier a informação da build, a instância está operacional. Se houver erro de pipe ou negação de acesso, volte às etapas de limpeza e recriação.

Conexão a partir de ferramentas de desenvolvimento

No SSMS ou no gerenciador de servidores do Visual Studio, conecte a:

(localdb)\MSSQLLocalDB

Para projetos que anexam arquivos de banco diretamente, use uma cadeia de conexão típica:

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\caminho\base.mdf;Integrated Security=True;Connect Timeout=30;MultipleActiveResultSets=True

Observações úteis:

  • LocalDB não usa porta nem serviço de descoberta; regras de firewall não afetam a conexão local.
  • Conviver com motores de anos diferentes é possível, mas a instância automática não é atualizada sozinha. Para usar o motor mais recente, exclua e recrie.
  • Faça backup dos arquivos .mdf e .ldf antes de operações destrutivas.

Notas e boas práticas do LocalDB

  • Instância por usuário: o LocalDB roda no contexto do usuário e inicia sob demanda. Isso elimina serviços residentes.
  • Canal de comunicação: a conexão usa pipe nomeado. Em diagnósticos, o caminho típico se parece com \\.\pipe\LOCALDB#<hash>\tsql\query.
  • Escolha de versão: a associação entre a instância automática e o motor é definida no momento da criação. Atualizar o motor não migra automaticamente a instância.
  • Pastas padrão: dados e arquivos de controle residem debaixo de %LOCALAPPDATA% por perfil.
Caminho ou comandoFunção
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDBPasta da instância por usuário
sqllocaldb infoLista instâncias e status
sqllocaldb create "MSSQLLocalDB"Cria a instância automática no perfil atual
sqlcmd -S "(localdb)\MSSQLLocalDB"Teste objetivo de conectividade e versão

Falhas de atualização do SQL Server

É comum ver a atualização do SQL apresentar o erro do Windows Installer 0x80070643 acompanhado de códigos negativos específicos no log do Setup. Em geral, a raiz está em divergência de builds e ramificações de manutenção entre instâncias e recursos compartilhados, ou em cache corrompido do instalador.

Conceitos de manutenção

TermoDescriçãoImpacto prático
GDRAtualizações gerais, focadas em segurança e correções críticasInstâncias nessa base geralmente não aceitam pacotes de cumulativas sem alinhar a linha
CUPacotes cumulativos com correções funcionais e melhoriasMais estável padronizar todas as instâncias na mesma cumulativa
QFECorreção rápida e específicaAplicável a cenários limitados, pode exigir alinhamento prévio

Roteiro recomendado

  1. Descobrir a versão de cada instância: SELECT @@VERSION; Anote as builds de cada instância como MSSQLSERVER, SQLEXPRESS e outras.
  2. Aplicar o pacote cumulativo mais recente localmente: execute o instalador com privilégios elevados, com antivírus e clientes SQL fechados. O objetivo é alinhar todas as instâncias à mesma cumulativa e, assim, destravar as atualizações futuras.
  3. Se recursos compartilhados falharem no patch: faça um reparo de cada instância com a mídia do produto e repita a cumulativa. setup.exe /Action=Repair /InstanceName=MSSQLSERVER setup.exe /Action=Repair /InstanceName=SQLEXPRESS setup.exe /Action=Repair /InstanceName=SQLEXPRESS01
  4. Reparar a imagem do sistema: ainda que a verificação de arquivos não retorne problemas, combine verificação e restauração da imagem para eliminar inconsistências de componentes. DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
  5. Se persistir, optar por remoção limpa: desinstale apenas o que está quebrado, reinicie, remova pastas residuais cuidadosamente e instale novamente o essencial, aplicando a cumulativa logo após a instalação. C:\Program Files\Microsoft SQL Server\ C:\ProgramData\Microsoft\SQL Server\ Preserve arquivos de dados em DATA e quaisquer bancos de produção.
  6. Verificar logs do Setup para a causa exata: procure por termos como Return value 3 e linhas que indiquem qual componente falhou. C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log<data_hora>\ Os arquivos Summary.txt e Detail.txt costumam apontar o módulo que trava a atualização.
Código ou pista no logInterpretaçãoAção sugerida
0x80070643Erro genérico do Windows Installer durante a instalaçãoAlinhar builds e reparar instâncias antes de repetir a cumulativa
-2061893565 e semelhantesFalha em recurso compartilhado ou pré-requisitoExecutar reparo das instâncias e validar componentes comuns, depois aplicar a cumulativa
Referências a ramificação incompatívelMistura de GDR com cumulativa ou builds distintasPadronizar todas as instâncias na mesma linha de manutenção

Dicas de confiabilidade:

  • Execute instaladores como administrador, feche clientes SQL, desative antivírus temporariamente e desconecte de VPN.
  • Certifique-se de que idioma, arquitetura e edição do pacote combinam com os componentes instalados.
  • Evite patch parcial; padronizar tudo na mesma cumulativa tende a resolver conflitos de linha.

Atalho para estudo sem travar

Se a prioridade é apenas ter um banco local funcional para atividades acadêmicas ou prototipação, escolha um destes caminhos:

  • Usar apenas a instância automática mais recente: recrie o LocalDB como descrito e trabalhe nela.
  • Instalar a edição para desenvolvedor: configure uma única instância local e aplique a cumulativa mais recente na sequência.
  • Executar em contêiner: com WSL ou Docker, suba o motor e conecte pela porta local. A cadeia de conexão fica assim: Server=localhost,1433;User Id=sa;Password=<senha>;TrustServerCertificate=True

Checklist de bolso

:: Reset do LocalDB
sqllocaldb stop MSSQLLocalDB -k
sqllocaldb delete MSSQLLocalDB
sqllocaldb create "MSSQLLocalDB"
sqllocaldb start "MSSQLLocalDB"
sqlcmd -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"

\:: Reparar Windows antes do patch
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

\:: Reparar instâncias SQL e padronizar versão
setup.exe /Action=Repair /InstanceName=MSSQLSERVER
setup.exe /Action=Repair /InstanceName=SQLEXPRESS
setup.exe /Action=Repair /InstanceName=SQLEXPRESS01
\:: depois aplicar a cumulativa mais recente

Perguntas frequentes

É possível manter motores de versões diferentes no mesmo computador

Sim, mas a instância automática do LocalDB não muda de motor sozinha. Para usar o motor mais novo, remova e recrie a instância. Para ambientes de aula ou laboratório, manter um único motor simplifica suporte e evita inconsistências.

Regras de firewall e serviço de descoberta influenciam no LocalDB

Não. O LocalDB não usa porta TCP padrão nem SQL Browser. Ele comunica por pipe nomeado no contexto do usuário. Por isso, ajustes de firewall geralmente não impactam a conectividade local.

Como evitar perda de dados ao recriar o LocalDB

Salve cópias de .mdf e .ldf antes de operações destrutivas. Se os bancos estiverem em pastas de projeto, inclua-os no controle de versão ou em backups. Ao recriar a instância, você pode reanexar os arquivos usando o SSMS ou via CREATE DATABASE ... FOR ATTACH.

Qual a melhor prática para cadeias de conexão em aplicações .NET

Para projetos que usam arquivo anexado, utilize AttachDbFilename apontando para um caminho absoluto ou para uma variável de dados (como |DataDirectory|), preserve Integrated Security=True e defina MultipleActiveResultSets=True se sua aplicação abrir múltiplos leitores na mesma conexão.

Onde ficam os logs mais úteis para entender falhas de atualização

Os registros do Setup ficam na pasta de bootstrap do produto com subpastas por execução. Procure por Return value 3 e mensagens que indiquem o componente de recurso compartilhado que falhou. Combine o reparo das instâncias com a aplicação da cumulativa para desamarrar os componentes.

Apêndice de comandos úteis

FerramentaComandoO que observar
LocalDBsqllocaldb info MSSQLLocalDBStatus, versão associada, pipe nomeado
LocalDBsqllocaldb versionsLista de motores disponíveis no host
Cliente SQLsqlcmd -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"Confirmação de conectividade e build
SistemaDISM /Online /Cleanup-Image /RestoreHealthReparo da imagem do Windows para destravar MSI
Sistemasfc /scannowIntegridade de arquivos de sistema
Setupsetup.exe /Action=Repair /InstanceName=<nome>Repara a instância e recursos compartilhados

Resultado esperado

  • A conexão com (localdb)\MSSQLLocalDB volta a funcionar após a recriação e a limpeza da pasta de instância no perfil.
  • As atualizações deixam de falhar quando todas as instâncias e recursos compartilhados são alinhados na mesma cumulativa e a imagem do sistema está íntegra.

Seguindo este roteiro, você mitiga as causas mais frequentes de falhas de conexão e de patch do motor, ganha previsibilidade na manutenção e reduz o tempo gasto em tentativas e erros.

Índice