Sur Windows Server 2016, cliquer sur Windows Update > Installer déclenche l’installation immédiate des correctifs et peut stopper des services (dont SQL Server). Voici ce qui se passe réellement et comment planifier vos mises à jour sans interruption.
Vue d’ensemble de la question
Un administrateur supposait que le bouton Installer ne ferait que télécharger et préparer les mises à jour, l’application effective n’intervenant qu’au redémarrage planifié. En réalité, l’installation démarre tout de suite. Résultat : le service SQL Server (MSSQL) a été stoppé, provoquant une indisponibilité applicative. La question clé est donc : que fait exactement le bouton « Installer » et comment éviter une coupure de service ?
Réponse & solution consolidée
Étape du processus | Ce qui se passe réellement | Exemples & commandes utiles | Point de vigilance |
---|---|---|---|
Détection | Windows interroge Windows Update/WSUS et calcule l’ensemble des correctifs applicables via le moteur CBS (Component-Based Servicing). | dism /online /get-packages Get-WindowsUpdate -MicrosoftUpdate | Aucun impact immédiat sur les services. |
Téléchargement | Les paquets sont récupérés et stockés sous C:\Windows\SoftwareDistribution\Download . Les express updates et les deltas sont gérés par BITS. | Sur Core : sconfig → option Mises à jour.Avec PowerShell : Get-WindowsUpdate -Download | Transparence côté services, sauf si la bande passante est saturée. |
Installation immédiate | À l’instant où vous pressez Installer, Windows applique les correctifs qui peuvent l’être en session active : mises à jour Win32 (fichiers système, pilotes, .NET, composants SQL), SSU, définitions Defender. Si un fichier verrouillé est détecté, Windows utilise Restart Manager/SCM : le service lié est arrêté pour permettre le remplacement des DLL. | Observation en temps réel : Moniteur d’événements → WindowsUpdateClient, Component-Based Servicing, Service Control Manager (arrêts/démarrages de services). | Interruption avant le redémarrage : SQL Server peut être stoppé quelques minutes. |
Redémarrage requis | Les correctifs marqués PendingFileRenameOperations ou touchant le noyau, NTFS, GDI, .NET GAC, etc., nécessitent une phase de configuration au prochain démarrage. Windows demande un redémarrage. | Clés indicatives :HKLM:\...\Component Based Servicing\RebootPending HKLM:\...\WindowsUpdate\Auto Update\RebootRequired | Si vous différez trop, certains services restent arrêtés ou partiellement mis à jour. |
Finalisation au boot | Pendant « Configuration des mises à jour %… », TrustedInstaller applique les opérations restantes dans l’ordre de session init. | Suivi :Get-WindowsUpdateLog (fusion ETL → log lisible)Journaux CBS ( C:\Windows\Logs\CBS\CBS.log ) | La durée dépend du volume de correctifs et de l’I/O. |
Pourquoi SQL Server a-t-il été stoppé ?
Les mises à jour cumulatives Windows/.NET remplacent souvent des composants partagés : ODBC (msodbcsql*.dll
), providers OLE DB, bibliothèques VC++ Runtime, agents VSS, MSXML, bibliothèques de chiffrement, pilotes réseau/stockage utilisés par SQL. Pour éviter toute corruption, Windows arrête temporairement le service MSSQLSERVER (ou l’instance nommée), applique les remplacements, puis relance le service si l’opération ne requiert pas un redémarrage global.
Ce que fait exactement le bouton « Installer » côté système
- Déclenchement du moteur CBS (
TiWorker.exe
via le service TrustedInstaller) qui orchestre l’application des packages et gère les transactions. - Gestion des fichiers verrouillés via Restart Manager & Service Control Manager : arrêt ciblé de services (SQL, IIS, agents de sauvegarde) si nécessaire.
- Servicing Stack Update (SSU) prioritaire : s’il existe, il est appliqué immédiatement (et n’est pas désinstallable). Le LCU (cumul mensuel) suit.
- Installation en ligne des composants remplaçables à chaud ; mise en file d’attente (pending) de ce qui exige un redémarrage.
- Planification d’un redémarrage au besoin ; si vous refusez, le système reste partiellement mis à jour et certains services peuvent rester arrêtés.
Bonnes pratiques pour éviter l’indisponibilité
- Utiliser une fenêtre de maintenance : groupe de changement approuvé, sauvegardes validées, surveillance désactivée/ajustée le temps des travaux, puis redémarrage contrôlé.
- GPO Windows Update (serveurs)
Paramètre Valeur conseillée Effet Configurer les mises à jour automatiques « Télécharger mais laisser l’admin choisir d’installer » Pas d’installation forcée hors créneau. NoAutoRebootWithLoggedOnUsers Activé (=1) Empêche un redémarrage automatique quand quelqu’un est connecté. ScheduleInstallDay/Time Jour/heure de maintenance Installation automatique dans la plage ; réduit le risque en journée. Autoriser l’installation immédiate des MAJ auto Désactivé sur serveurs sensibles Évite que des MAJ « mineures » s’installent en pleine journée. - Pré‑staging des packages : téléchargez d’avance, installez pendant la fenêtre.
# Télécharger sans installer (PSWindowsUpdate) Install-Module PSWindowsUpdate -Force Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -Download # Appliquer durant la fenêtre de maintenance (sans redémarrage auto) Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot:$false
- Serveur Core :
sconfig
permet de télécharger puis décider d’installer au bon moment (option Mises à jour → choisir Télécharger puis Installer pendant la fenêtre). - WSUS & anneaux de validation : pré‑production → pilote → production. Approuvez la CU après validation, avec délai d’auto‑approbation maîtrisé.
- Lecture attentive des bulletins (KB) : repérez « Restart required » et « Known Issues ». Si un SSU est requis, installez‑le seul puis redémarrez avant le LCU.
- Mesures SQL avant la bascule sur instance autonome :
- Arrêter proprement les traitements lourds, exécuter un
CHECKPOINT
, vérifier les sauvegardes (base + journaux). - Informer les métiers de la fenêtre : durée estimée + moment précis de l’arrêt.
- Option : arrêter vous‑même le service SQL juste avant de cliquer sur Installer pour contrôler la coupure.
- Arrêter proprement les traitements lourds, exécuter un
Modèles sans coupure (SQL Server)
Architecture | Approche conseillée | Bénéfice | Points d’attention |
---|---|---|---|
Always On Availability Groups | Patch du nœud secondaire → synchronisation OK → bascule planifiée → patch de l’ancien primaire. | Interruption très courte (bascule). | Coordonner les jobs SQL Agent et les connexions applicatives (chaînes de connexion multi‑sous‑réseaux). |
Failover Cluster Instance (FCI) | Mettre le nœud hors rotation, patcher, redémarrer, puis basculer le rôle SQL. | Service maintenu, bascule contrôlée. | Vérifier les pilotes HBA/NIC/MPIO et le quorum/temoin. |
Instance autonome | Fenêtre dédiée ; pré‑téléchargement ; arrêt SQL contrôlé ; installation ; redémarrage. | Prévisibilité totale. | Communications claires et monitoring adapté. |
Checklist avant d’appuyer sur « Installer »
- Sauvegardes récentes et vérifiées (bases, journaux, configuration SQL, clés de chiffrement/TDE).
- Espace disque suffisant :
C:\
(SoftwareDistribution, WinSxS),%TEMP%
, volumes des bases si journalisation accrue. - Aucun traitement critique en cours (import massif, indexation, ETL). Geler les jobs planifiés pendant la fenêtre.
- Notifications prêtes : alerte de début/fin, seuils de supervision suspendus/abaissés pour éviter les faux positifs.
- Plan de retour arrière (voir section Rollback).
Diagnostic et observabilité
Pour comprendre ce qui s’est produit lors d’une installation impromptue :
- Journal des événements : WindowsUpdateClient, Setup, CBS, Service Control Manager. Vous y verrez les phases d’installation, et les arrêts/démarrages de services (SQL inclus).
- Fichiers de log :
C:\Windows\Logs\CBS\CBS.log
(chronologie détaillée des packages).Get-WindowsUpdateLog
(Server 2016 fusionne les ETL en un log lisible).
- État de redémarrage en attente :
# Plusieurs indicateurs utiles Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending' Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired' (Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager').PendingFileRenameOperations
Scripts prêts à l’emploi
Télécharger maintenant, installer plus tard
# 1) Préparer (une seule fois)
Install-Module PSWindowsUpdate -Force
# 2) Scan + téléchargement uniquement
Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -Download
# 3) Pendant la fenêtre de maintenance
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot:$false
# 4) Redémarrage contrôlé (maintenance)
Restart-Computer -Force
Installer en veillant à SQL
# Mettre SQL hors service juste avant l'installation (instance par défaut)
Stop-Service MSSQLSERVER -Force
# Installer les mises à jour
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot:$false
# Redémarrer
Restart-Computer -Force
Gestion de cas particuliers
- Correctifs « à chaud » : certaines mises à jour (Defender, micro‑updates) s’appliquent sans redémarrage ni arrêt de services.
- SSU avant LCU : sur Windows Server 2016, l’installation d’un Servicing Stack Update peut être requise avant la CU. Installez‑le seul, puis redémarrez, puis appliquez la CU.
- Rollback : en cas de régression, vous pouvez supprimer la CU récente :
# Identifier le package dism /online /get-packages | findstr /i "Rollup" # Désinstaller (exemple) dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~10.0.14393.xxxx # ou via MSU wusa /uninstall /kb:<ID_KB>
Note : un SSU ne se désinstalle pas. - Nettoyage prudence : la purge de
SoftwareDistribution
(net stop wuauserv
,net stop bits
, suppression, redémarrage des services) doit rester exceptionnelle et maîtrisée.
Plan type de patching sans surprise
- J‑7 à J‑1 : validation en pré‑prod/anneau pilote, diffusion WSUS contrôlée.
- J‑1 : pre‑staging :
-Download
sur les serveurs de prod, vérification du free space, sauvegardes SQL vérifiées. - J : communication d’arrêt, arrêt propre des traitements, Installer (ou
Install-WindowsUpdate
), puis redémarrage immédiat. - J + 0 : vérifications applicatives, performances, réactivation supervision.
- J + 1/2 : surveillance renforcée, bilan et approbation finale WSUS.
FAQ rapide
Cliquer sur « Installer » installe‑t‑il toujours tout de suite ?
Oui, la phase d’installation démarre immédiatement pour tout ce qui peut s’installer à chaud. Le redémarrage n’est requis que pour les composants verrouillés au niveau noyau/système.
Pourquoi mes services redémarrent‑ils alors que je n’ai pas redémarré Windows ?
Pour remplacer des fichiers verrouillés, Windows arrête temporairement les services concernés (SQL, IIS, etc.). Le comportement est normal.
Puis‑je empêcher Windows d’installer pendant la journée ?
Oui : configurez les GPO pour télécharger seulement, imposez une fenêtre d’installation planifiée, et ne cliquez pas sur Installer hors de cette fenêtre.
Dois‑je redémarrer tout de suite après avoir appuyé sur « Installer » ?
En production, c’est recommandé. Attendre maintient un état intermédiaire potentiellement instable.
Comment éviter une coupure SQL sur un cluster ?
Appliquez un scénario secondary‑first (AG) ou mettez le nœud en pause (FCI), puis basculez.
Résumé opérationnel
Presser Installer sur un Windows Server 2016 lance immédiatement l’installation des mises à jour et peut arrêter des services critiques avant même le redémarrage. Le redémarrage ne fait que finaliser les éléments restants. Pour éviter toute coupure, orchestrez le triptyque téléchargement / installation / redémarrage dans une fenêtre de maintenance dédiée, avec GPO adaptées, pré‑téléchargement, et (si applicable) une stratégie HA SQL bien huilée.