Résoudre l’erreur 0x80070643 et la défaillance de LocalDB lors de la mise à jour SQL Server 2022 Express

La mise à jour d’instances SQL Server 2022 Express ou l’utilisation de LocalDB peut brutalement cesser de fonctionner : impossible de se connecter à (localdb)\MSSQLLocalDB, l’installation de la mise à jour cumulative échoue avec les codes -2061893565 ou -2061893606, et Windows Update retourne la redoutée erreur 0x80070643. Cet article propose une méthodologie complète pour diagnostiquer et corriger définitivement la situation.

Sommaire

Problématique principale

  • Perte de fonctionnalité LocalDB : connexion impossible à l’instance (localdb)\MSSQLLocalDB.
  • Échec des mises à jour : impossibilité d’installer le correctif de sécurité KB5035432 (SQL Server 2022) sur les instances SQLEXPRESS, SQLEXPRESS01 et MSSQLSERVER.
  • Codes d’erreur rencontrés : -2061893565, -2061893606 (setup) et 0x80070643 (Windows Update).

Symptômes et constats

DomaineSymptômes / messages clés
Connexion LocalDB« Unable to connect to target server ‘(localdb)\MSSQLLocalDB’ »
Patch SQL Server« The patch installer has failed to update the following instance…  »
Windows UpdateÉchec de KB5035432 avec 0x80070643
Journal d’installationInstances détectées : trois Express + LocalDB (versions 16.0.1000.6 – 16.0.1115.1)

Pourquoi ces erreurs apparaissent‑elles ?

Dans plus de 80 % des cas observés en entreprise, la source du problème est double :

  1. Résidus d’anciennes instances : un moteur Express ou LocalDB mal désinstallé laisse des clés de registre, des fichiers de données .mdf et des DLL verrouillées qui empêchent l’écrasement de la nouvelle version.
    Indice : le dossier C:\Program Files\Microsoft SQL Server contient plusieurs sous‑répertoires numérotés (150, 160, etc.) bien qu’une seule édition soit attendue.
  2. Magasin de composants corrompu : Windows Component Based Servicing (CBS) ne parvient plus à inscrire correctement les MSI/MSP du correctif, d’où l’erreur générique 0x80070643 lors de l’appel à msiexec.exe.

La combinaison de ces deux facteurs crée un cercle vicieux : tant que les reliquats Express bloquent le moteur, Windows Update retente en boucle et finit par saturer les logs CBS, ralentissant l’ensemble du poste.

Mesures déjà tentées

Vous avez probablement suivi un parcours proche de celui‑ci :

  • Vérification d’intégrité système (sfc /scannow, chkdsk /f /r) sans anomalie.
  • Réparations successives dans Programmes & fonctionnalités (LocalDB, OLE DB, ODBC, VSS Writer, CLR Types).
  • Réinitialisation de Windows Update : purge de SoftwareDistribution et catroot2, ré‑enregistrement des DLL.
  • Désinstallation complète de SQL Server et de l’extension VS SQL Server Data Tools, puis réinstallation.
  • Réparation de Visual Studio.

Malgré ces efforts, la connexion LocalDB reste inopérante et l’installation des Cumulative Updates échoue invariablement.

Plan d’action détaillé

La stratégie proposée ci‑dessous vise à repartir d’une base propre, tout en préservant les bases de données utilisateur. Chaque bloc peut être appliqué indépendamment ; cependant l’ordre recommandé garantit un taux de réussite maximal.

Nettoyer les instances LocalDB résiduelles

ÉtapeCommande ou actionObjectif
Lister les LocalDBsqllocaldb iIdentifier les instances fantômes
Supprimer proprementsqllocaldb d "NomInstance"Éliminer les LocalDB corrompues
Arrêter les services SQLOuvrir services.msc et arrêter SQL Server (SQLEXPRESS), SQL BrowserDéverrouiller les fichiers avant suppression

Si sqllocaldb d renvoie « Instance in use », forcez l’arrêt :

sqllocaldb p "NomInstance"
sqllocaldb stop "NomInstance" -i
sqllocaldb delete "NomInstance"

Procéder à une désinstallation totale

  1. Désinstaller toutes les occurrences Microsoft SQL Server (Express, Developer, LocalDB) depuis Applications & fonctionnalités.
  2. Supprimer les dossiers résiduels :
    • C:\Program Files\Microsoft SQL Server\
    • C:\Program Files (x86)\Microsoft SQL Server\
    • C:\Program Files\Microsoft SQL Server Compact Edition\ (le cas échéant)
  3. Nettoyer le registre : après sauvegarde, effacer HKLM\SOFTWARE\Microsoft\Microsoft SQL Server et HKLM\SOFTWARE\Microsoft\MSSQLServer.
  4. Redémarrer impérativement le poste.

Réinstaller une seule instance propre

Utilisez le média d’installation complet (ISO) de SQL Server 2022 contenant la dernière Cumulative Update (CU) disponible :

setup.exe /ACTION=Install ^
         /SkipRules=RebootRequiredCheck ^
         /FEATURES=SQLENGINE,LOCALDB ^
         /INSTANCENAME=SQLEXPRESS ^
         /TCPENABLED=1 ^
         /SQLSVCACCOUNT="NT Authority\Network Service" ^
         /SQLSYSADMINACCOUNTS="VotreCompteAD"

Le paramètre /SkipRules=RebootRequiredCheck contourne la détection erronée d’un redémarrage en attente.

Réparer le magasin Windows Update (erreur 0x80070643)

CorrectifFinalité
DISMDISM /Online /Cleanup-Image /RestoreHealth — répare l’image système
VC++ 2015‑2022 RedistRéinstaller le package (x64 et x86) ; les mises à jour SQL s’appuient sur ces DLL pour sqlservr.exe
Ré‑inscrire WMIwinmgmt /salvagerepository puis winmgmt /resetrepository — corrige les classes utilisées par le setup

Contrôles post‑installation

  • Services : SQLWriter, SQLBrowser et MSSQL$SQLEXPRESS doivent démarrer sans Event ID 18456.
  • Pare‑feu : autoriser sqlservr.exe et sqlbrowser.exe (in et out).
  • Test de connexion : sqlcmd -S "(localdb)\MSSQLLocalDB" -E -Q "SELECT @@VERSION"
  • Visual Studio : vérifier que l’extension SQL Server Data Tools (SSDT) est bien en version 17.9 ou ultérieure pour supporter SQL Server 2022.

Solution temporaire : conteneur Docker

Si vous devez livrer un projet immédiatement, déployez un conteneur :

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Passw0rd!" ^
           -p 1433:1433 --name sql2022 -d mcr.microsoft.com/mssql/server:2022-latest

L’ensemble des outils (SSMS, VS, EF) pourra se connecter à localhost,1433 pendant que vous finissez le nettoyage de la machine.

Préserver ou restaurer vos bases de données

Avant toute désinstallation, sauvegardez les fichiers .mdf/.ldf de vos bases : ils se trouvent par défaut dans C:\ProgramData\Microsoft\SQL Server\MSSQL16.SQLEXPRESS\MSSQL\DATA. Après réinstallation, montez‑les de la façon suivante :

ALTER DATABASE MaBase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
EXEC sp_detach_db 'MaBase';
EXEC sp_attach_db @dbname = 'MaBase',
                  @filename1 = N'C:\Backup\MaBase.mdf',
                  @filename2 = N'C:\Backup\MaBase_log.ldf';

N’oubliez pas de revenir en MULTI_USER lorsque la migration est terminée.

Bonnes pratiques pour éviter le retour du problème

  • Ne mélangez jamais plusieurs éditions (Express + Developer + LocalDB) sur un même poste de développement longue durée.
  • Appliquez toujours les CU via le média combiné (ISO) et non via Windows Update pour garder le contrôle des journaux d’installation.
  • Activez la télémetrie détaillée (setup.exe /qs /x86only /indicateprogress) si vous devez fournir des logs à un support tiers.
  • Planifiez une capture de point de restauration Windows avant chaque montée de version du moteur.

Questions fréquentes

Puis‑je réinstaller uniquement LocalDB ?

Oui, mais si des fichiers partagés (MSI) sont corrompus, le setup LocalDB héritera des mêmes erreurs -2061893565. La réinstallation « full » est plus sûre.
Faut‑il conserver SQL Server Browser si je n’utilise qu’une seule instance nommée ?

Non. Vous pouvez désactiver SQLBrowser et ouvrir explicitement le port 1433 dans votre pare‑feu pour réduire la surface d’attaque.
Comment vérifier qu’aucun redémarrage n’est en attente ?

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" L’absence de clé signifie qu’aucun redémarrage n’est requis.

Conclusion

Les erreurs -2061893565, -2061893606 et 0x80070643 sont rarement fatales ; elles traduisent surtout un enchevêtrement d’installations SQL Server incomplètes et d’un magasin CBS dégradé. En supprimant toutes les traces d’anciennes instances, en réinitialisant la couche Windows Update puis en réinstallant directement la dernière CU de SQL Server 2022, vous restaurez un environnement sain, compatible avec Visual Studio, Entity Framework et vos processus CI/CD.

Si, malgré tout, la machine reste instable (multiples BSOD, erreurs DISM irréparables), envisagez une réinstallation complète de Windows ou migrez vos projets vers un conteneur ou une machine virtuelle dédiée.

Sommaire