No puedo conectarme a LocalDB y errores de actualización en SQL Server: guía definitiva para MSSQLLocalDB y 0x80070643

¿No puedes conectarte a (localdb)\MSSQLLocalDB y además las actualizaciones de SQL Server fallan con 0x80070643? Aquí tienes una guía directa y accionable para reconstruir LocalDB, alinear versiones de SQL Server 2022 y cerrar definitivamente esos errores de instalación.

Índice

No puedo conectarme a LocalDB

Mensaje típico: “Unable to connect to target server ‘(localdb)\MSSQLLocalDB’”. Suele ocurrir en equipos con varias ediciones o versiones lado a lado (por ejemplo, Express y LocalDB de 2019 y 2022). La raíz del problema acostumbra a ser una instancia per‑usuario dañada, artefactos corruptos en el perfil o un alias mal resuelto.

Por qué ocurre

  • LocalDB es por usuario: cada cuenta tiene su propia instancia MSSQLLocalDB y su propia carpeta de datos/logs.
  • Resuelve por canalización nombrada: el alias (localdb)\MSSQLLocalDB apunta a una Named Pipe dinámica; si está rota o cacheada, la conexión falla.
  • Artefactos dañados en %LOCALAPPDATA% tras cierres forzados de SSMS/VS o antivirus agresivos.
  • Mezcla de versiones de LocalDB y componentes del motor, que puede dejar la instancia en un estado intermedio.

Solución paso a paso

Recrear la instancia per‑usuario

Ejecuta con la misma cuenta de usuario con la que te conectas desde SSMS/Visual Studio (no “Ejecutar como administrador”).

sqllocaldb info
sqllocaldb info MSSQLLocalDB
sqllocaldb stop MSSQLLocalDB -k
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB

Importante: si recibes que la instancia está “busy” o “in use”, cierra SSMS/VS y asegúrate de no tener procesos del cliente abiertos.

Probar por canalización nombrada

Obtén la pipe con:

sqllocaldb info MSSQLLocalDB

En la salida, localiza Instance pipe name (similar a \\.\pipe\LOCALDB#1234\tsql\query) y úsala como “Server name” temporal en SSMS. Si funciona por pipe, el problema era el alias; tras recrear la instancia, el alias debería resolverse otra vez.

Limpiar artefactos corruptos

Cierra SSMS/VS y borra la carpeta de instancia del perfil:

%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB

Después, repite la recreación con los comandos anteriores.

Validar la cadena de conexión

Usa el alias estándar para pruebas:

Server=(localdb)\MSSQLLocalDB;Integrated Security=true;

Si adjuntas un archivo .mdf:

Server=(localdb)\MSSQLLocalDB;Integrated Security=true;AttachDbFilename=C:\Datos\MiBase.mdf;

Usa rutas absolutas y verifica que el archivo no esté marcado como solo lectura.

Olvida el firewall para este caso

LocalDB usa Shared Memory y Named Pipes locales; no escucha por TCP. Las reglas de firewall no bloquean una conexión local con LocalDB.

Simplificar el entorno

  • Si no necesitas LocalDB de versiones antiguas, desinstálalas para evitar ambigüedades.
  • Si la recreación no basta, repara solo “Microsoft SQL Server LocalDB” de la versión actual desde Aplicaciones y características y vuelve a crear MSSQLLocalDB.

Pruebas de verificación

  • Abrir SSMS y conectarte con (localdb)\MSSQLLocalDB o la pipe.
  • Ejecutar: SELECT @@VERSION AS Version, SERVERPROPERTY('ProductLevel') AS Branch, SERVERPROPERTY('Edition') AS Edition;
  • Crear y consultar una base básica: CREATE DATABASE PruebaLocalDB; GO SELECT name, state_desc FROM sys.databases WHERE name = 'PruebaLocalDB'; GO DROP DATABASE PruebaLocalDB;

Salida de ejemplo de diagnóstico

sqllocaldb info MSSQLLocalDB
Name:               MSSQLLocalDB
Version:            16.0.xxxx.x
Shared name:
Owner:              CONTOSO\usuario
Auto-create:        Yes
State:              Running
Last start time:    2025-08-08 12:34:56
Instance pipe name: \\.\pipe\LOCALDB#ABCD1234\tsql\query
Error Log:          C:\Users\usuario\AppData\Local\... \MSSQLLocalDB\error.log

Si State aparece como Stopped u Unknown, reconstruye la instancia. Si la pipe varía entre reinicios, es normal.


Errores al actualizar SQL Server

Escenario típico: varias instancias (SQLEXPRESS, SQLEXPRESS01, MSSQLSERVER) en el mismo equipo, con builds mezcladas (por ejemplo, motor en 16.0.1000.6 y otros componentes en 16.0.1115.1). Windows Update falla con 0x80070643; en los registros aparecen códigos de salida de instalación como -2061893565 y -2061893606.

Qué está pasando realmente

SQL Server mantiene dos grandes ramas de parcheo: GDR (seguridad crítica, mínima) y CU (acumulativa, con fixes funcionales). Mezclar ramas o dejar componentes desalineados (Motor, Full-Text, Replication, ML Services, LocalDB) produce bloqueos en el instalador y en Windows Update.

Objetivo

Unificar todas las características de todas las instancias en la misma build de CU, instalándola manualmente. Evitar que Windows Update intente aplicar un GDR a un sistema que ya está en CU (o al revés).

Procedimiento recomendado

Unificar la rama de parches

  1. Descarga e instala manualmente la última CU disponible para tu versión de SQL Server.
  2. Ejecuta el instalador como administrador y elige Actualizar cada instancia afectada. Si usas línea de comandos: /Action=Patch /AllInstances.
  3. Comprueba que Motor, Full-Text, Replication, ML Services y LocalDB queden en la misma build.

Actualizar o retirar temporalmente características problemáticas

Cuando Full-Text o ML Services quedan en builds diferentes, bloquean el parcheo. Si no los necesitas de inmediato:

  • Desinstálalos temporalmente desde el instalador.
  • Aplica la CU a la instancia.
  • Vuelve a agregarlos ya alineados.

Cerrar procesos y reiniciar

Cierra SSMS/Visual Studio y detén servicios antes de parchear:

net stop MSSQLSERVER
net stop SQLWriter
net stop MSSQL$SQLEXPRESS
net stop MSSQL$SQLEXPRESS01

Si el sistema indica Pending Reboot, reinicia antes de continuar.

Reparar si persiste

  1. Desde el medio de instalación, ejecuta Repair sobre la instancia afectada.
  2. Después aplica la CU más reciente de forma manual.
  3. Si sospechas de componentes de Windows dañados: DISM /Online /Cleanup-Image /RestoreHealth

Revisar los registros correctos

Abre los resúmenes de instalación para identificar el MSI exacto que falla:

C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log<fecha>\Summary_*.txt
C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log<fecha>\Detail.txt

Busca el componente que marca error; suele indicar la característica que debes actualizar o quitar temporalmente.

Último recurso: limpieza controlada

  1. Respaldar bases de datos y claves maestras si aplica.
  2. Desinstalar todas las instancias y feature packs asociados.
  3. Borrar carpetas residuales: %ProgramFiles%\Microsoft SQL Server\ %ProgramFiles(x86)%\Microsoft SQL Server\ %ProgramData%\Microsoft\SQL Server\
  4. Reiniciar e instalar una única instancia limpia (por ejemplo, SQLEXPRESS) y LocalDB, y de inmediato aplicar la CU.

Checklist de actualización segura

  • Instalador ejecutado como administrador y sin sesiones RDP inestables.
  • Servicios detenidos y herramientas de cliente cerradas.
  • Sin Pending Reboot ni actualizaciones de Windows a medio aplicar.
  • Antivirus en modo pasivo o con exclusiones temporales para rutas de SQL.
  • Medio de instalación correcto (misma edición y arquitectura).

Tabla de decisiones

SíntomaCausa probableAcción sugerida
Windows Update devuelve 0x80070643Conflicto de ramas GDR/CU o componente desalineadoAplicar manualmente la última CU a todas las instancias y características
Instalador aborta con código negativoMSI de característica específica fallaRevisar Summary/Detail, reparar o desinstalar temporalmente esa característica
Algunas instancias actualizan y otras noServicios en ejecución o archivos bloqueadosDetener servicios, cerrar SSMS/VS, reiniciar y reintentar

Plan de acción recomendado

Primero, estabilizar LocalDB

  1. Eliminar, crear e iniciar de nuevo MSSQLLocalDB con tu usuario.
  2. Probar conexión por Named Pipe.
  3. Si sigue fallando, borrar la carpeta de instancia en %LOCALAPPDATA% y repetir.

Después, normalizar SQL Server

  1. Cerrar SSMS/VS y detener servicios.
  2. Quitar temporalmente Full-Text y ML Services si bloquean.
  3. Aplicar la CU más reciente manualmente a todas las instancias.
  4. Reiniciar y validar con SELECT @@VERSION en cada instancia.

Si Windows Update insiste con GDR

Una vez estés en CU, oculta o ignora el GDR reiterativo y mantén SQL actualizado con instaladores CU manuales.


Guía rápida de diagnóstico

PruebaCómo hacerloResultado esperadoSi falla
Estado de LocalDBsqllocaldb info MSSQLLocalDBRunning y pipe visibleRecrear instancia y borrar carpeta de perfil
Conexión por pipeUsar la pipe como servidor en SSMSConectar sin aliasRevisar que SSMS/VS estén cerrados, recrear
Versión por instanciaSELECT @@VERSION, SERVERPROPERTY('ProductLevel')Misma build y rama en todasAplicar CU manual y alinear características
Instalador limpioEjecutar Repair y luego CUInstalación consistenteÚltimo recurso: desinstalar, limpiar carpetas y reinstalar

Comandos y rutas útiles

Estado y administración de LocalDB

sqllocaldb info
sqllocaldb info MSSQLLocalDB
sqllocaldb stop MSSQLLocalDB -k
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB

Logs y diagnóstico

%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB  <-- error.log
C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log<fecha>\Summary_*.txt
C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log<fecha>\Detail.txt

Servicios

net stop MSSQLSERVER
net stop SQLWriter
net stop MSSQL$SQLEXPRESS
net stop MSSQL$SQLEXPRESS01

Consulta de rama y edición

SELECT @@VERSION AS Version,
       SERVERPROPERTY('ProductLevel') AS Branch,
       SERVERPROPERTY('Edition') AS Edition;

Buenas prácticas para evitar recaídas

  • Ejecuta herramientas con el usuario correcto. LocalDB es per‑usuario; no mezcles con “Administrador” salvo que realmente te conectes como tal.
  • Mantén una única versión principal de LocalDB en el equipo si no necesitas compatibilidad con proyectos antiguos.
  • Aplica CU manuales en servidores o escritorios con múltiples instancias para controlar la rama y evitar GDRs indeseados.
  • Excluye rutas de SQL en el antivirus corporativo durante parches y reconstrucciones de LocalDB.
  • Normaliza después de clonar equipos o restaurar imágenes: repara y aplica CU para alinear componentes.

Errores comunes y cómo evitarlos

  • Ejecutar sqllocaldb como administrador y luego conectarte como usuario estándar. La instancia creada no coincide con tu sesión. Solución: ejecuta los comandos como el mismo usuario que usará SSMS/VS.
  • Borrar solo la pipe cacheada y no la carpeta de instancia. Solución: limpia %LOCALAPPDATA% y reconstruye.
  • Confiar en que el firewall bloquea LocalDB. Realidad: no aplica; revisa alias y artefactos locales.
  • Aplicar GDR desde Windows Update sobre una instalación ya en CU. Consecuencia: bloqueos y 0x80070643. Solución: CU manual y evita mezclar ramas.

Preguntas frecuentes

¿LocalDB usa TCP? No. Emplea memoria compartida y canalizaciones nombradas locales. Por eso no hay puerto que abrir ni firewall que ajustar.

¿Por qué cambia la pipe en cada arranque? Porque LocalDB la genera dinámicamente. Usa el alias (localdb)\MSSQLLocalDB para uso normal y la pipe solo como diagnóstico.

¿Puedo tener varias versiones de LocalDB? Sí, pero la mayoría de escenarios de desarrollo funcionan con la versión actual. Mantener versiones antiguas aumenta la complejidad.

Adjuntar .mdf falla con “Access denied”. Asegúrate de que la ruta es absoluta, que el archivo no está en una carpeta protegida y que tu usuario tiene permisos de lectura/escritura.

¿Qué significan los códigos negativos del instalador? Son códigos de retorno de SQL Setup que señalan un MSI concreto o una condición de bloqueo. La pauta práctica es revisar los logs, alinear ramas con CU y reparar la característica que falla.


Resumen táctico

LocalDB: recrear con tu usuario → probar por pipe → limpiar carpeta de instancia → reconectar con alias.
Actualizaciones: cerrar herramientas → detener servicios → aplicar la última CU a todas las instancias → alinear características → reiniciar → validar con @@VERSION.
Si persiste: reparar desde el instalador o realizar limpieza controlada.


Plantilla de trabajo

Copia y pega este bloque como lista de comprobación rápida en tus incidencias:

[ ] Cerrar SSMS/Visual Studio
[ ] sqllocaldb stop MSSQLLocalDB -k
[ ] sqllocaldb delete MSSQLLocalDB
[ ] Borrar %LOCALAPPDATA%\...\MSSQLLocalDB
[ ] sqllocaldb create MSSQLLocalDB
[ ] sqllocaldb start MSSQLLocalDB
[ ] Probar conexión por pipe y por alias
[ ] net stop MSSQLSERVER / SQLWriter / SQLEXPRESS(/01)
[ ] Aplicar CU manual de SQL Server a todas las instancias
[ ] Verificar @@VERSION y ProductLevel = CU

Cierre

La combinación de reconstruir LocalDB per‑usuario, probar por canalización nombrada y alinear todas las instancias y características en la misma CU resuelve en la práctica la mayoría de errores de conexión a (localdb)\MSSQLLocalDB y los fallos de actualización asociados al código 0x80070643. Con un entorno simplificado y controlando la rama de parches, ganarás estabilidad y ahorrarás tiempo en cada ciclo de desarrollo.

Índice