Installer et configurer SQL Server 2025 sur Windows Server

Guide complet pas à pas : installation de SQL Server 2025 sur Windows Server, configuration des propriétés du serveur et du Gestionnaire de configuration.

Ce guide couvre l’intégralité du processus d’installation de SQL Server 2025 sur Windows Server (2019 / 2022 / 2025), puis la configuration post‑installation via les Propriétés du serveur (SSMS) et le Gestionnaire de configuration SQL Server (SQL Server Configuration Manager).


Prérequis

Configuration matérielle minimale et recommandée

ComposantMinimumRecommandé
Processeurx64, 1,4 GHz2,0 GHz ou plus
Mémoire (RAM)1 Go (512 Mo pour Express)≥ 4 Go, à augmenter avec la taille des bases
Espace disque6 Go libres sur le lecteur système, même si les binaires vont sur un autre volume (fichiers temporaires du setup)≥ 50 Go pour un environnement de production (hors données)
ÉcranSuper‑VGA 800 × 6001920 × 1080
RéseauLogiciel réseau fourni par WindowsAccès Internet pour les mises à jour

Configuration logicielle

ComposantVersion requise
Système d’exploitationWindows Server 2019 / 2022 / 2025 (y compris Server Core)
.NET Framework4.7.2 (sur Server Core, le setup installe le profil Server Core s’il manque, puis demande un redémarrage)
Protocoles réseauTCP/IP, Named Pipes, Shared Memory (intégrés à l’OS)

Remarque : SQL Server 2025 ne s’installe que sur des processeurs x64. Les installations 32 bits ne sont plus supportées depuis SQL Server 2016.

SQL Server supporte au plus 64 cœurs logiques par nœud NUMA. Depuis la CU11 de SQL Server 2022, le moteur refuse de démarrer au-delà : sur les très gros serveurs, la répartition des cœurs se règle dans le BIOS avant l’installation.

Bonnes pratiques de stockage avant installation

Séparez physiquement vos fichiers pour optimiser les performances I/O :

Lettre de lecteur (exemple)ContenuType de RAID recommandé
C:\Système d’exploitationRAID 1
D:\Binaires SQL ServerRAID 1
E:\Fichiers de données (.mdf / .ndf)RAID 10
F:\Journaux de transactions (.ldf)RAID 10
G:\TempDB (data + log)RAID 10 / NVMe
H:\Sauvegardes (.bak)RAID 5 / RAID 6

Les fichiers Data sont accédés de manière aléatoire, tandis que le journal de transactions est écrit de manière séquentielle, et chaque validation attend que son enregistrement soit écrit. Placer le journal sur un volume distinct l’isole des I/O aléatoires des fichiers de données, et évite de perdre données et journal avec le même volume.


Éditions disponibles dans SQL Server 2025

SQL Server 2025 remplace l’édition Developer par deux éditions : Enterprise Developer et Standard Developer.

ÉditionUsagePoints clés
EnterpriseProduction haute performanceToutes les fonctionnalités, RAM et CPU limités par l’OS seulement (20 cœurs par instance en licence Serveur + CAL)
StandardProduction PME256 Go de buffer pool, 4 sockets ou 32 cœurs (128 Go et 24 cœurs en SQL Server 2022)
Enterprise DeveloperDev / Test uniquementIdentique à Enterprise, gratuit hors production
Standard Developer (nouveau)Dev / Test uniquementIdentique à Standard, gratuit hors production
ExpressPetites applicationsGratuit, buffer pool limité à 1 410 Mo, 1 socket ou 4 cœurs, 50 Go par base (10 Go jusqu’à SQL Server 2022)
EvaluationEssai 180 joursIdentique à Enterprise

L’édition Web n’existe plus dans SQL Server 2025. L’édition Express with Advanced Services disparaît aussi : ses fonctionnalités sont reprises dans Express.

Pourquoi le Standard Developer est important : Auparavant, les équipes utilisaient l’édition Developer (= Enterprise) en dev/test, puis Standard en production. Cela provoquait des écarts de comportement (ex. : Batch Mode on Rowstore, Online Index Rebuild absents en Standard). Le Standard Developer supprime cet écart : il offre exactement les fonctionnalités de Standard.


Nouveautés majeures de SQL Server 2025

Avant de lancer l’installation, voici les fonctionnalités qui justifient la mise à niveau :

  • Type de données VECTOR et fonction VECTOR_DISTANCE pour la recherche sémantique (cosine, euclidienne, dot‑product)
  • Index vectoriels DiskANN (CREATE VECTOR INDEX) pour la recherche ANN à grande échelle (preview)
  • Intégration IA : modèles externes (CREATE EXTERNAL MODEL), appel d’Azure OpenAI depuis T-SQL, prise en charge du type VECTOR par LangChain, Semantic Kernel et Entity Framework Core 10
  • Type de données json natif, et index JSON (preview)
  • Change Event Streaming (preview), et appel d’API REST externes depuis T-SQL avec sp_invoke_external_rest_endpoint
  • Optimized Locking, jusque-là réservé à Azure SQL, pour réduire la consommation de verrous et le blocage
  • Intelligent Query Processing étendu
  • Intégration Microsoft Fabric pour l’analytique hybride

Téléchargement du média d’installation

Les éditions Standard et Enterprise sous licence ne passent pas par cette page : leur média (ISO) vient du revendeur ou du Microsoft 365 admin center pour les contrats de licence en volume, avec la clé de produit intégrée. La procédure ci-dessous concerne les éditions gratuites et l’évaluation.

  1. Rendez‑vous sur la page officielle : https://www.microsoft.com/sql-server/sql-server-downloads
  2. Cliquez sur le lien de téléchargement de l’édition souhaitée (Standard Developer, Enterprise Developer, Express). L’évaluation se télécharge depuis le Centre d’évaluation, via le lien « Try SQL Server 2025 ».
  3. Le fichier téléchargé s’appelle SQL2025-SSEI-Eval.exe, SQL2025-SSEI-StdDev.exe, SQL2025-SSEI-EntDev.exe ou SQL2025-SSEI-Expr.exe selon l’édition, et pèse environ 5 Mo
  4. Exécutez ce lanceur et choisissez parmi trois options :
OptionDescriptionQuand l’utiliser
BasicInstallation rapide du moteur de base de données avec la configuration par défautEnvironnement de test rapide
CustomLance l’assistant complet avec sélection de toutes les optionsInstallation dont on veut contrôler chaque option
Download MediaTélécharge le média complet, au format ISO ou CABInstallation hors‑ligne, déploiement sur plusieurs serveurs
  1. Choisissez Download Media, sélectionnez le format ISO, puis un dossier de destination
  2. Une fois le téléchargement terminé, montez l’ISO sur le serveur cible et exécutez setup.exe

Installation pas à pas (Assistant graphique)

Étape 1 : SQL Server Installation Center

Au lancement de setup.exe, le Centre d’installation SQL Server s’affiche. Dans le volet gauche :

  • Planning : vérifie les prérequis (System Configuration Checker)
  • Installation : lance les différents scénarios d’installation

Cliquez sur Installation → New SQL Server stand‑alone installation or add features to an existing installation.

Étape 2 : Edition

ChampDescription
Specify a free editionSélectionnez Evaluation ou une édition Developer
Use pay-as-you-go billing through Microsoft AzureActive une édition Standard ou Enterprise de production sans clé de produit, facturée à l’usage. Exige un abonnement Azure actif
Enter the product keySaisissez la clé de licence pour Standard / Enterprise

Astuce : Vous pouvez installer en mode Evaluation (180 jours) puis convertir en édition licenciée ultérieurement via la clé de produit sans réinstallation. Le changement d’édition redémarre les services SQL Server : prévoyez l’interruption.

Cliquez sur Next.

Étape 3 : License Terms

Lisez et acceptez les termes du contrat de licence Microsoft. Cochez la case I accept the license terms and Privacy Statement.

Cette page inclut aussi un lien vers la déclaration de confidentialité Microsoft. En environnement d’entreprise, vérifiez la conformité avec votre politique RGPD.

Cliquez sur Next.

Étape 4 : Global Rules, Microsoft Update et Product Updates

La page Global Rules passe seule si aucune règle n’échoue.

La page Microsoft Update n’apparaît que si Microsoft Update n’est pas déjà activé dans les paramètres de Windows Update. Cocher la case inscrit le serveur à Microsoft Update : Windows Update proposera ensuite les mises à jour de tous les produits Microsoft, SQL Server compris. Elle ne décide pas des correctifs intégrés à l’installation.

Ces correctifs apparaissent sur la page suivante, Product Updates, qui liste les mises à jour critiques disponibles pour SQL Server. Si aucune n’est trouvée, la page ne s’affiche pas. En production, les inclure permet de démarrer avec un serveur à jour.

Cliquez sur Next. La page Install Setup Files installe ensuite les fichiers du setup, et passe seule.

Étape 5 : Install Rules

Le programme vérifie automatiquement les règles d’installation :

  • Présence du .NET Framework
  • Redémarrage en attente
  • Accès au registre
  • Pare‑feu Windows (avertissement possible quand le pare-feu est actif)

Si tous les voyants sont au vert (✅ Passed), cliquez sur Next. En cas de ⚠️ Warning sur le pare‑feu, vous pourrez configurer les règles après l’installation.

Étape 6 : Azure Extension for SQL Server

Cette page, présente dans l’assistant depuis SQL Server 2022, relie l’instance à Azure Arc pour utiliser des services comme Microsoft Defender for Cloud, Microsoft Purview ou l’authentification Microsoft Entra. L’option est cochée par défaut.

  • Pour une instance qui ne doit pas être reliée à Azure, décochez-la.
  • Pour la garder, il faut un abonnement Azure actif, un compte Azure ou un principal de service, un groupe de ressources et une région.

La page n’apparaît pas sur une VM Azure, ni sur un hôte VMware ESX ou Azure VMware Solution.

Cliquez sur Next.

Étape 7 : Feature Selection

C’est l’une des pages les plus importantes. Voici le détail de chaque composant :

Fonctionnalités d’instance

ComposantDescriptionRecommandation production
Database Engine ServicesLe moteur relationnel principal : stockage, requêtes, transactions, sécurité✅ Toujours cocher
↳ SQL Server ReplicationRéplication transactionnelle, merge, snapshotSelon besoin
↳ Full‑Text and Semantic Extractions for SearchRecherche plein texte dans les colonnes textuellesSelon besoin
↳ PolyBase Query Service for External DataInterrogation par T‑SQL de sources externes comme Oracle, Teradata, MongoDB, SQL Server ou ODBC. Depuis SQL Server 2025, la lecture de fichiers Parquet, Delta ou CSV ne demande plus ce serviceSi besoin d’accès multi‑sources
↳ Machine Learning Services and Language ExtensionsExécution de scripts externes dans le moteur. Depuis SQL Server 2022, les runtimes R, Python et Java ne sont plus livrés : ils s’installent à partSi besoin de ML in‑database
Analysis ServicesOLAP, modèles tabulaires et multidimensionnelsServeur dédié recommandé

Data Quality Services et Master Data Services ne font plus partie de SQL Server 2025. Reporting Services n’est plus dans l’assistant d’installation depuis SQL Server 2017, et à partir de SQL Server 2025, le reporting sur site passe par Power BI Report Server, installé séparément.

Fonctionnalités partagées

ComposantDescription
Integration ServicesETL (packages SSIS). Serveur dédié recommandé
Client Tools ConnectivityBibliothèques de connexion (OLEDB, ODBC)
Client Tools SDKAPI de développement, dont les assemblies de programmation SSIS

Répertoires d’installation

  • Instance root directory : D:\Program Files\Microsoft SQL Server\ (évitez C:\)
  • Shared feature directory et Shared feature directory (x86) : pour les composants partagés entre instances. Les deux chemins doivent être différents

Bonne pratique : Placez les binaires SQL Server sur un volume dédié plutôt que sur le disque système C:\. Le setup a quand même besoin de 6 Go libres sur C:\ pour ses fichiers temporaires.

Cliquez sur Next. La page Feature Rules passe seule si toutes les règles sont satisfaites.

Étape 8 : Instance Configuration

OptionDescription
Default instanceLe serveur sera accessible via le nom machine seul : SERVERNAME
Named instanceLe serveur sera accessible via SERVERNAME\NOM_INSTANCE
  • Instance ID : identifiant interne utilisé pour les répertoires et clés de registre
  • Instance root directory : confirmez le chemin défini à l’étape précédente

Quand utiliser une instance nommée ? Lorsque vous devez héberger plusieurs instances SQL Server sur le même serveur (ex. : une instance de production + une instance de pré‑production). Chaque instance nommée a ses propres services, sa propre mémoire et ses propres ports.

Note : SQL Server Browser doit être actif pour que les clients puissent découvrir les instances nommées.

Cliquez sur Next.

Étape 9 : Server Configuration

Cette page comporte deux onglets essentiels :

Onglet « Service Accounts »

Chaque service SQL Server tourne sous un compte Windows. Par défaut, le setup propose un compte virtuel (NT Service\MSSQLSERVER pour le moteur d’une instance par défaut). Voici les services configurables :

ServiceCompte recommandé en productionPourquoi
SQL Server Database EnginegMSA (ex. DOMAINE\gmsa-sqlengine$), à défaut compte virtuel sur une instance autonome, ou compte de domaine dédié peu privilégiéIsolation de sécurité, mot de passe géré par AD, accès réseau sous une identité maîtrisée
SQL Server AgentgMSA, compte virtuel ou compte de domaine dédié, selon les mêmes règlesExécution des jobs, maintenance, sauvegardes
SQL Server BrowserNT AUTHORITY\LOCAL SERVICEDécouverte d’instances nommées

gMSA (Group Managed Service Accounts) : c’est la meilleure pratique en environnement Active Directory. Le mot de passe est géré automatiquement par AD, sans intervention humaine. Le gMSA doit être créé au préalable par un administrateur du domaine.

Un compte virtuel accède au réseau sous le compte machine (DOMAINE\SERVEUR$) : il suffit pour une instance autonome qui écrit ses sauvegardes sur un partage autorisé pour ce compte. Les comptes virtuels ne sont pas pris en charge sur une instance en cluster de basculement : il faut alors un gMSA ou un compte de domaine.

Options de démarrage :

OptionDescription
AutomaticLe service démarre avec Windows
ManualDémarrage à la demande
DisabledService désactivé

Mettez le Database Engine et l’Agent en Automatic. Le Browser en Automatic uniquement si vous avez des instances nommées.

Cochez Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine Service. Cela active l’Instant File Initialization (IFI) pour les fichiers de données : leur création, leur croissance, l’ajout de fichiers et les restaurations ne passent plus par l’initialisation à zéro de l’espace disque. IFI ne s’applique pas aux fichiers de données d’une base chiffrée par TDE. Pour le journal, depuis SQL Server 2022, les croissances jusqu’à 64 Mo en profitent sans ce privilège.

Onglet « Collation »

La collation (classement) détermine les règles de tri et de comparaison des chaînes de caractères. La collation choisie ici est celle des bases système, et la valeur par défaut des nouvelles bases ; chaque base et chaque colonne peut ensuite avoir la sienne.

Le setup propose une collation dérivée des paramètres régionaux de Windows, choisie parmi les plus anciennes versions pour des raisons de compatibilité. Ce n’est donc pas toujours la meilleure. La documentation Microsoft conseille de lui préférer la collation Windows la plus proche.

ParamètreValeur recommandéeExplication
Collation du Database EngineCelle qu’attendent vos applications ; à défaut une collation Windows récente, comme French_100_CI_AS_SC ou Latin1_General_100_CI_AS_SC100 = version des règles de tri, CI = Case Insensitive, AS = Accent Sensitive, SC = Supplementary Characters

Les collations suffixées _UTF8 (par exemple Latin1_General_100_CI_AS_SC_UTF8) font stocker de l’Unicode encodé en UTF-8 dans les types char et varchar. Les types nchar et nvarchar restent en UTF-16 quelle que soit la collation. Réservez UTF-8 aux bases ou aux colonnes qui en ont besoin. Au niveau serveur, elle s’appliquerait aussi à tempdb, où une table temporaire en varchar(n) compte alors sa longueur en octets : un caractère accentué en occupe deux, et une valeur qui tenait en varchar(8) peut être tronquée.

Pourquoi c’est critique : La collation serveur s’applique aux bases système (master, model, msdb, tempdb) et devient la collation par défaut de toute nouvelle base. Elle ne peut pas être changée après installation sans reconstruire les bases système, ce qui oblige à exporter les données, supprimer puis recréer toutes les bases utilisateur. Prenez le temps de choisir correctement.

Attention : Si vous devez interagir avec des bases existantes, alignez la collation pour éviter les erreurs Cannot resolve the collation conflict.

Cliquez sur Next.

Étape 10 : Database Engine Configuration

C’est la page la plus riche de l’assistant. Elle comporte six onglets : Server Configuration, Data Directories, TempDB, MaxDOP, Memory et FILESTREAM. Les cinq premiers sont détaillés ci-dessous ; FILESTREAM ne sert que si vous stockez des BLOB dans le système de fichiers.

Onglet « Server Configuration »

Mode d’authentification :

ModeDescriptionRecommandation
Windows Authentication ModeSeuls les comptes Windows/AD peuvent se connecter✅ Le plus sécurisé : privilégiez ce mode
Mixed ModeAuthentification Windows + comptes SQL (login/password)Nécessaire si des applications se connectent avec des logins SQL

Si vous choisissez Mixed Mode :

  • Définissez un mot de passe fort pour le compte sa (≥ 12 caractères, majuscules, minuscules, chiffres, caractères spéciaux)
  • Le compte sa est la cible n°1 des attaques. En production, désactivez‑le après l’installation et utilisez des comptes nominatifs

Specify SQL Server administrators :

Cliquez sur Add Current User pour ajouter votre compte Windows comme administrateur de l’instance. Ajoutez aussi un groupe AD de DBA (ex. DOMAINE\GRP-SQLAdmins).

Le setup exige au moins un administrateur. Ne vous contentez pas de votre compte personnel : un groupe AD évite que l’accès administrateur à l’instance dépende d’une seule personne.

Onglet « Data Directories »

C’est ici que vous configurez les chemins par défaut pour les fichiers :

RépertoireChemin recommandéRôle
Data root directoryE:\MSSQL\Racine des données
User database directoryE:\MSSQL\Data\Fichiers .mdf / .ndf
User database log directoryF:\MSSQL\Log\Fichiers .ldf
Backup directoryH:\MSSQL\Backup\Sauvegardes .bak

Règle d’or : Séparez toujours les fichiers de données et les journaux de transactions sur des volumes distincts. Les journaux de transactions utilisent des écritures séquentielles et ne doivent pas partager un volume avec les I/O aléatoires des fichiers de données.

Onglet « TempDB »

Depuis SQL Server 2016, l’assistant configure TempDB dès l’installation :

ParamètreRecommandationExplication
Nombre de fichiers1 fichier par cœur logique, jusqu’à 8 fichiers (valeur proposée par défaut)Réduit la contention sur les pages d’allocation (PFS, GAM, SGAM)
Taille initiale par fichierProche de la taille nécessaire en fonctionnement normal (8 Mo par défaut, souvent 1 Go ou plus en production)TempDB repart de cette taille à chaque redémarrage : une taille trop petite se paie en croissances automatiques pendant la charge
Croissance automatique64 Mo par fichier (valeur par défaut, exprimée en Mo dans l’assistant)Croissance prévisible et uniforme
Répertoire des données TempDBG:\MSSQL\TempDB\Volume dédié, idéalement NVMe
Répertoire du log TempDBG:\MSSQL\TempDBLog\Peut être sur le même volume que les données TempDB

Pourquoi 8 fichiers ? TempDB est un point chaud de contention. Multiplier les fichiers de données répartit les demandes d’allocation sur plusieurs fichiers, ce qui réduit l’attente de latch sur les pages d’allocation. On commence à 8 ; si la contention persiste, Microsoft recommande d’ajouter des fichiers par multiples de 4, sans dépasser le nombre de cœurs logiques.

Tous les fichiers TempDB doivent avoir la même taille et les mêmes paramètres de croissance. SQL Server utilise un algorithme proportionnel (proportional fill) qui oriente les allocations vers les fichiers ayant le plus d’espace libre. Des fichiers de tailles différentes concentrent l’activité sur le plus grand.

Onglet « MaxDOP »

Depuis SQL Server 2019, l’assistant propose une valeur recommandée de MAXDOP basée sur la topologie CPU détectée.

ScénarioValeur MAXDOP recommandée
Serveur avec 1 nœud NUMA, ≤ 8 processeurs logiquesau plus le nombre de processeurs logiques
Serveur avec 1 nœud NUMA, > 8 processeurs logiques8
Serveur multi‑NUMA, ≤ 16 processeurs logiques par nœudau plus le nombre de processeurs logiques par nœud
Serveur multi‑NUMA, > 16 processeurs logiques par nœudla moitié des processeurs logiques par nœud, sans dépasser 16

Les nœuds NUMA de ce tableau sont les nœuds soft-NUMA. Depuis SQL Server 2016, le moteur les crée automatiquement dès qu’un nœud NUMA ou un socket compte plus de huit cœurs physiques. Un serveur à un seul socket de 12 cœurs a donc plusieurs nœuds soft-NUMA.

MAXDOP = 0 est déconseillé. Cela autorise une seule requête parallèle à utiliser tous les processeurs disponibles, jusqu’à 64, ce qui peut saturer le serveur au détriment des autres requêtes.

Acceptez la valeur proposée ou ajustez‑la selon vos besoins. Vous pourrez la modifier ultérieurement.

Onglet « Memory »

Depuis SQL Server 2019, l’assistant propose aussi la configuration mémoire. L’option cochée par défaut, Default, laisse max server memory à 2 147 483 647 Mo, c’est-à-dire sans limite : pour appliquer une valeur, choisissez Recommended, ajustez-la si besoin, et cochez la case qui accepte les valeurs.

ParamètreRecommandation
Min Server MemoryLaissez à 0, sauf plusieurs instances sur le même serveur ou machine virtuelle
Max Server MemoryRAM totale, moins la réserve de l’OS, moins la mémoire des autres services

Formule de calcul :

Max Server Memory = RAM_totale - réserve_OS - RAM_autres_services

La réserve de l’OS dépend de la RAM, comme expliqué dans l’article SQL Server et la RAM : 1 à 2 Go jusqu’à 16 Go, 4 Go de 16 à 64 Go, 10 % au-delà.

Exemples :

RAM totaleOS réservéMax Server Memory
32 Go4 Go28 Go (28 672 Mo)
64 Go4 Go60 Go (61 440 Mo)
128 Go13 Go (10 %)115 Go (117 760 Mo)

La documentation Microsoft donne un autre point de départ, plus prudent : retirer de la RAM totale la mémoire des piles de threads (2 Mo par worker thread), puis 25 % du reste. C’est une valeur initiale, à ajuster après observation de la consommation réelle.

Pourquoi limiter la mémoire ? Par défaut, SQL Server prend la mémoire dont sa charge a besoin, sans plafond. Il n’en rend à Windows que lorsque l’OS signale un manque de mémoire libre. Sans limite, le système d’exploitation et les autres processus peuvent manquer de mémoire, provoquant des lenteurs. Le paramètre max server memory est le premier réglage à effectuer sur toute instance de production.

Cliquez sur Next.

Étape 11 : Ready to Install

La page récapitulative affiche toutes vos sélections :

  • Édition et clé de produit
  • Fonctionnalités sélectionnées
  • Chemins des répertoires
  • Comptes de service
  • Mode d’authentification
  • Configuration TempDB, MAXDOP, mémoire

Relisez attentivement cette page. C’est votre dernière chance de corriger une erreur avant l’installation.

Astuce : Le chemin du fichier de configuration (ConfigurationFile.ini) est affiché sur cette page. Copiez ce fichier et conservez‑le. Il pourra être réutilisé pour des installations identiques sur d’autres serveurs. Le fichier ne contient ni les mots de passe ni l’acceptation de la licence : ils se passent sur la ligne de commande. En mode silencieux (/Q ou /QS), /IACCEPTSQLSERVERLICENSETERMS et /SUPPRESSPRIVACYSTATEMENTNOTICE sont obligatoires :

setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /SUPPRESSPRIVACYSTATEMENTNOTICE `
  /ConfigurationFile="C:\SQLConfig\ConfigurationFile.ini" `
  /SQLSVCPASSWORD="********" /AGTSVCPASSWORD="********"

Les mots de passe des services sont inutiles avec un compte virtuel ou un gMSA. Ajoutez /SAPWD en mode mixte, et /PID pour une édition payante. Retirez du fichier la ligne UIMODE, incompatible avec /Q et /QS.

Cliquez sur Install.

Étape 12 : Installation Progress & Complete

L’installation prend généralement entre 10 et 30 minutes selon le matériel et les fonctionnalités sélectionnées. Une barre de progression indique l’avancement de chaque composant.

À la fin, la page Complete affiche le statut de chaque fonctionnalité :

  • ✅ Succeeded : installation réussie
  • ❌ Failed : consultez les journaux d’installation dans C:\Program Files\Microsoft SQL Server\170\Setup Bootstrap\Log\

Si l’installation échoue, le fichier Summary.txt et le dossier de logs associé contiennent les détails de l’erreur.

Cliquez sur Close.


Installation de SSMS (SQL Server Management Studio)

SQL Server 2025 est compatible avec SSMS 21 et SSMS 22. L’outil ne fait plus partie du média d’installation depuis SQL Server 2016 : il se télécharge à part.

  1. Téléchargez SSMS depuis : https://aka.ms/ssms/22/release/vs_SSMS.exe
  2. Exécutez l’installeur et suivez les instructions
  3. Redémarrez si demandé

Configuration post‑installation via SSMS

Connexion à l’instance

  1. Lancez SSMS
  2. Dans la fenêtre Connect to Server :
    • Server type : Database Engine
    • Server name : SERVERNAME (instance par défaut) ou SERVERNAME\INSTANCE
    • Authentication : Windows Authentication
    • Encryption : Mandatory, la valeur par défaut depuis SSMS 20. Tant qu’aucun certificat signé par une autorité de confiance n’est installé sur l’instance, la connexion échoue sur une erreur de certificat : cochez Trust server certificate, qui garde le chiffrement mais ne vérifie pas l’identité du serveur
  3. Cliquez sur Connect

Propriétés du serveur

Clic droit sur le serveur dans l’Object Explorer → Properties. Voici le détail de chaque page :

Page « General »

Informations en lecture seule : nom du serveur, version, édition, OS, collation, mémoire, nombre de processeurs, répertoire racine. Utile pour vérifier rapidement la configuration.

Page « Memory »

ParamètreDescriptionValeur recommandée
Minimum server memory (in MB)Seuil en dessous duquel SQL Server ne rend plus de mémoire à l’OS0 (sauf multi‑instances ou machine virtuelle)
Maximum server memory (in MB)Plafond de la mémoire du buffer pool et des autres caches du moteurRAM - réserve OS - autres services

Équivalent T‑SQL :

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'max server memory (MB)', 28672;  -- 28 Go
RECONFIGURE;

EXEC sp_configure 'min server memory (MB)', 0;
RECONFIGURE;

Parallélisme (page « Advanced », section « Parallelism »)

La page « Processors » ne porte que l’affinité processeur et le nombre maximal de worker threads, à laisser par défaut. Les deux réglages de parallélisme sont sur la page « Advanced ».

ParamètreDescription
Max Degree of ParallelismNombre maximal de processeurs pour une requête parallèle
Cost Threshold for ParallelismCoût estimé à partir duquel le moteur envisage un plan parallèle (défaut : 5)

Équivalent T‑SQL (ces deux options sont avancées : sans show advanced options à 1, sp_configure renvoie l’erreur 15123) :

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'max degree of parallelism', 8;
RECONFIGURE;

EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;

Cost threshold for parallelism : La valeur par défaut (5) est beaucoup trop basse pour la plupart des charges de production. Une valeur entre 25 et 50 est un bon point de départ. Cela évite que de petites requêtes ne déclenchent inutilement un plan parallèle, ce qui consomme des ressources et des threads.

Page « Security »

ParamètreOptions
Server authenticationWindows Authentication mode / SQL Server and Windows Authentication mode
Login auditingNone / Failed logins only / Successful logins only / Both failed and successful logins
Enable Common Criteria compliancePour les environnements certifiés CC

Changer le mode d’authentification ou le niveau d’audit demande un redémarrage du service. Passer en mode mixte n’active pas le compte sa : il reste désactivé tant qu’un ALTER LOGIN sa ENABLE n’est pas exécuté.

Recommandation : Activez au minimum l’audit des connexions échouées (Failed logins only). Cela permet de détecter les tentatives d’intrusion.

Page « Database Settings »

ParamètreDescriptionRecommandation
Database default locations : DataChemin par défaut pour les fichiers .mdfE:\MSSQL\Data\
Database default locations : LogChemin par défaut pour les fichiers .ldfF:\MSSQL\Log\
Database default locations : BackupChemin par défaut pour les .bakH:\MSSQL\Backup\
Compress backupActive la compression par défaut✅ Activer : les sauvegardes sont plus petites et souvent plus rapides, au prix de CPU pendant la sauvegarde. Le gain dépend des données
Recovery interval (minutes)Temps cible de récupération en cas de crashLaissez à 0 (auto). Ce réglage ne concerne que les bases dont le temps de récupération cible vaut 0 : les bases créées depuis SQL Server 2016, model comprise, utilisent le checkpoint indirect et ne le suivent pas

Un nouveau chemin par défaut n’est pris en compte qu’au redémarrage du moteur.

SQL Server 2025 ajoute l’algorithme de compression ZSTD, plus rapide et plus efficace que MS_XPRESS. Il se choisit par sauvegarde avec WITH COMPRESSION (ALGORITHM = ZSTD), ou par défaut pour l’instance avec l’option backup compression algorithm (valeur 3). Microsoft signale un problème connu sur ce réglage d’instance : consultez la page des known issues de SQL Server 2025 avant de l’activer.

Équivalent T‑SQL pour la compression des sauvegardes :

EXEC sp_configure 'backup compression default', 1;
RECONFIGURE;

Page « Advanced »

Paramètres importants :

ParamètreValeur par défautRecommandationExplication
Optimize for Ad hoc WorkloadsFalse✅ TrueÉvite de polluer le plan cache avec des plans à usage unique. Au premier appel, seul un stub est mis en cache ; le plan complet est mis en cache au deuxième appel
Remote Login Timeout1010‑20Délai en secondes avant l’échec d’une connexion distante vers un fournisseur OLE DB (serveurs liés)
Allow Triggers to Fire OthersTrueTruePermet l’exécution en cascade de triggers
Blocked Process Threshold05‑10Si > 0, le moteur émet l’événement blocked_process_report pour chaque tâche bloquée depuis N secondes. Rien n’est enregistré par défaut : il faut une session Extended Events, une trace ou une alerte pour recueillir ces rapports
Boost SQL Server PriorityFalseFalseÉlève la priorité Windows du processus sqlservr.exe. Option dépréciée, à ne pas activer

Le délai des requêtes distantes (Remote query timeout, 600 secondes par défaut) n’est pas sur cette page, mais sur la page « Connections », section « Remote server connections ».

Équivalent T‑SQL (options avancées, d’où la première instruction) :

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'optimize for ad hoc workloads', 1;
RECONFIGURE;

EXEC sp_configure 'blocked process threshold (s)', 5;
RECONFIGURE;

Configuration de la base model

La base model sert de template pour toute nouvelle base créée. Configurez‑la correctement :

-- Taille initiale et croissance raisonnables
ALTER DATABASE model MODIFY FILE 
(NAME = modeldev, SIZE = 256MB, FILEGROWTH = 64MB);

ALTER DATABASE model MODIFY FILE 
(NAME = modellog, SIZE = 128MB, FILEGROWTH = 64MB);

Pourquoi ? Par défaut, les fichiers de model font 8 Mo et croissent par pas de 64 Mo. Le FILEGROWTH = 64MB ci-dessus reprend donc la valeur par défaut, et seule la taille initiale change. Une base créée à 8 Mo enchaîne les croissances dès qu’elle se remplit. Côté journal, chaque croissance ajoute des VLF (Virtual Log Files), et un grand nombre de VLF ralentit la récupération. Dimensionner model évite ces croissances en série.


Gestionnaire de configuration SQL Server

Le SQL Server Configuration Manager (SQLServerManager17.msc pour SQL Server 2025) est l’outil système pour gérer les services, les protocoles réseau et les alias client.

Accès : Le Gestionnaire de configuration est un composant logiciel enfichable de la console MMC, et n’apparaît pas toujours comme application dans les versions récentes de Windows. Tapez SQLServerManager17.msc dans le menu Démarrer, ou ouvrez compmgmt.msc (Gestion de l’ordinateur) où il apparaît comme snap‑in.

Architecture du Gestionnaire de configuration

SQL Server Configuration Manager
├── SQL Server Services
│   ├── SQL Server (MSSQLSERVER)          -- Moteur de base de données
│   ├── SQL Server Agent (MSSQLSERVER)    -- Planificateur de tâches
│   ├── SQL Server Browser                -- Découverte d'instances
│   ├── SQL Full-text Filter Daemon Launcher (MSSQLSERVER)  -- Recherche plein texte
│   └── SQL Server Integration Services   -- SSIS (si installé)
├── SQL Server Network Configuration
│   └── Protocols for MSSQLSERVER
│       ├── Shared Memory
│       ├── Named Pipes
│       └── TCP/IP
└── SQL Server Native Client Configuration
    ├── Client Protocols
    └── Aliases

SQL Server Native Client (SNAC) n’est plus livré depuis SQL Server 2022, ni avec SSMS depuis la version 19. Pour de nouveaux développements, Microsoft recommande les pilotes Microsoft ODBC Driver ou Microsoft OLE DB Driver pour SQL Server.

SQL Server Services

Clic droit sur un service → Properties :

Onglet « Log On »

OptionDescription
Built‑in accountLocal System, Local Service, Network Service
This accountCompte de domaine ou gMSA

En production, utilisez toujours un compte de domaine dédié ou un gMSA. N’utilisez jamais Local System car il dispose de droits excessifs sur la machine.

Onglet « Service »

PropriétéDescription
Start ModeAutomatic / Manual / Disabled
Process IDPID du processus en cours
Binary PathChemin de l’exécutable sqlservr.exe

Onglet « Startup Parameters »

Paramètres de démarrage du moteur :

ParamètreSignification
-dChemin du fichier master.mdf
-lChemin du fichier mastlog.ldf
-eChemin du fichier journal d’erreurs (ERRORLOG)

Vous pouvez ajouter des paramètres supplémentaires :

FlagEffetQuand l’utiliser
-T3226Supprime les messages de sauvegarde et de restauration réussies du journal d’erreurs et du journal systèmeRéduit le bruit dans l’ERRORLOG si sauvegardes fréquentes

Le trace flag 1118, longtemps ajouté ici pour tempdb, n’a plus aucun effet depuis SQL Server 2016 : tempdb alloue toujours des extensions uniformes, et l’option MIXED_PAGE_ALLOCATION de ALTER DATABASE règle le comportement des autres bases.

SQL Server Network Configuration — Protocoles

Shared Memory

  • Usage : connexions locales uniquement (client et serveur sur la même machine)
  • Configuration : aucune option. Activé par défaut
  • Production : laissez activé pour les connexions locales SSMS / scripts de maintenance

Named Pipes

  • Usage : connexions intra‑réseau LAN, surtout dans des environnements legacy
  • Configuration : nom du pipe (défaut : \\.\pipe\sql\query)
  • Production : laissez-le désactivé sauf besoin spécifique. Sur une nouvelle installation, Named Pipes est déjà désactivé pour les connexions réseau, quelle que soit l’édition. TCP/IP est préférable

TCP/IP

C’est le protocole principal pour les connexions réseau. Sur une nouvelle installation, il est activé en Enterprise, Standard et Evaluation, mais désactivé en Developer et Express : sur ces éditions, activez-le avant de chercher un problème de pare-feu. Clic droit → Properties :

Onglet « Protocol » :

ParamètreDescriptionRecommandation
EnabledActive/désactive TCP/IP✅ Yes
Keep AliveIntervalle (ms) pour les paquets keep‑alive30000 (défaut)
Listen AllÉcouter sur toutes les adresses IPYes pour la plupart des cas

Onglet « IP Addresses » :

Chaque interface réseau est listée (IP1, IP2, etc.) plus une section IPAll :

ParamètreDescriptionRecommandation
TCP Dynamic PortsPort attribué dynamiquement au démarrageLaissez ce champ vide pour un port fixe. Une instance nommée y porte 0 par défaut (ports dynamiques) : effacez ce 0 avant de saisir un port fixe
TCP PortPort statique1433 pour l’instance par défaut

Bonne pratique en production :

  • Instance par défaut : port 1433 (fixe)
  • Instance nommée : attribuez un port statique personnalisé (ex. : 14330) au lieu de laisser un port dynamique
  • Créez une règle de pare‑feu Windows pour autoriser le port choisi

Configuration du pare‑feu via PowerShell :

New-NetFirewallRule -DisplayName "SQL Server 2025" `
  -Direction Inbound -Protocol TCP -LocalPort 1433 `
  -Action Allow -Profile Domain

# Pour SQL Server Browser (UDP 1434) — instances nommées uniquement
New-NetFirewallRule -DisplayName "SQL Server Browser" `
  -Direction Inbound -Protocol UDP -LocalPort 1434 `
  -Action Allow -Profile Domain

Important : Après toute modification des protocoles réseau, vous devez redémarrer le service SQL Server pour que les changements prennent effet.

SQL Native Client Configuration

Client Protocols

Ordre de tentative des protocoles côté client :

  1. Shared Memory (si connexion locale)
  2. TCP/IP
  3. Named Pipes

Vous pouvez modifier l’ordre ou désactiver un protocole via clic droit → Properties dans le nœud Client Protocols.

Ce réglage n’est pas lu par .NET SqlClient, qui tente toujours TCP puis Named Pipes, sans possibilité de changer cet ordre.

Aliases

Depuis SQL Server 2022, le Gestionnaire de configuration ne permet plus de créer des alias. Microsoft renvoie vers l’utilitaire SQL Server Client Network Utility (cliconfg.exe). Un alias reste une configuration côté client : chaque poste qui l’utilise doit porter la même définition.

Les alias permettent de créer des noms de connexion alternatifs pointant vers un serveur et un port spécifiques. Utile pour :

  • Changer de serveur sans modifier les chaînes de connexion des applications
  • Utiliser un nom logique (SQL-PROD) au lieu d’un nom technique (SRV-SQL-PRD-01\INST01,14330)
ChampExemple
Alias NameSQL-PROD
ProtocolTCP/IP
ServerSRV-SQL-PRD-01
Port No14330

Vérifications post‑installation

Exécutez ces requêtes T‑SQL pour valider la configuration :

-- 1. Version et édition
SELECT @@VERSION;
SELECT SERVERPROPERTY('ProductVersion')     AS Version,
       SERVERPROPERTY('Edition')            AS Edition,
       SERVERPROPERTY('ProductUpdateLevel') AS CU,   -- plus de service packs : niveau de CU
       SERVERPROPERTY('Collation')          AS Collation;

-- 2. Configuration mémoire
SELECT name, value_in_use 
FROM sys.configurations 
WHERE name IN ('max server memory (MB)', 'min server memory (MB)');

-- 3. MAXDOP et Cost Threshold
SELECT name, value_in_use 
FROM sys.configurations 
WHERE name IN ('max degree of parallelism', 'cost threshold for parallelism');

-- 4. Optimize for Ad hoc Workloads
SELECT name, value_in_use 
FROM sys.configurations 
WHERE name = 'optimize for ad hoc workloads';

-- 5. TempDB : nombre de fichiers, tailles au démarrage et croissance
--    (sys.master_files donne la taille de départ ; tempdb.sys.database_files la taille courante)
SELECT name, physical_name, size * 8 / 1024 AS [Size_MB],
       CASE WHEN is_percent_growth = 1
            THEN CAST(growth AS varchar(10)) + ' %'
            ELSE CAST(growth * 8 / 1024 AS varchar(10)) + ' Mo'
       END AS Croissance
FROM sys.master_files 
WHERE database_id = DB_ID('tempdb');

-- 6. Backup compression
SELECT name, value_in_use 
FROM sys.configurations 
WHERE name = 'backup compression default';

Diagramme récapitulatif de l’architecture post‑installation

graph LR
    subgraph "Windows Server"
        OS["OS + 4 Go RAM réservés"]
        FW["Pare-feu Windows<br/>Port 1433 TCP"]
    end
    subgraph "SQL Server 2025"
        ENG["Database Engine<br/>(sqlservr.exe)"]
        AGT["SQL Server Agent<br/>(sqlagent.exe)"]
        BRW["SQL Server Browser<br/>(sqlbrowser.exe)"]
    end
    subgraph "Stockage"
        D["D:\ Binaires"]
        E["E:\ Data (.mdf/.ndf)"]
        F["F:\ Logs (.ldf)"]
        G["G:\ TempDB"]
        H["H:\ Backups (.bak)"]
    end
    subgraph "Protocoles"
        SM["Shared Memory"]
        TCP["TCP/IP :1433"]
        NP["Named Pipes"]
    end

    ENG --> D
    ENG --> E
    ENG --> F
    ENG --> G
    ENG --> H
    ENG --> SM
    ENG --> TCP
    ENG --> NP
    TCP --> FW
    AGT --> ENG
    BRW --> |UDP 1434| FW

Checklist de configuration production

graph TD
    A[Installation terminée] --> B{Max Server Memory configuré ?}
    B -->|Non| B1[Configurer immédiatement]
    B -->|Oui| C{MAXDOP configuré ?}
    C -->|Non| C1[Configurer selon NUMA]
    C -->|Oui| D{Cost Threshold ≥ 25 ?}
    D -->|Non| D1[Augmenter à 25-50]
    D -->|Oui| E{TempDB : 1 fichier par cœur logique, 8 au plus ?}
    E -->|Non| E1[Ajouter des fichiers]
    E -->|Oui| F{Instant File Init activé ?}
    F -->|Non| F1[Accorder Perform volume maintenance tasks via secpol.msc]
    F -->|Oui| G{Sauvegardes configurées ?}
    G -->|Non| G1[Configurer maintenance plan]
    G -->|Oui| H[✅ Prêt pour la production]

Résumé des commandes sp_configure essentielles

-- Activer les options avancées
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

-- Mémoire
EXEC sp_configure 'max server memory (MB)', 28672;
RECONFIGURE;

-- Parallélisme
EXEC sp_configure 'max degree of parallelism', 8;
RECONFIGURE;

EXEC sp_configure 'cost threshold for parallelism', 50;
RECONFIGURE;

-- Optimisation cache de plans
EXEC sp_configure 'optimize for ad hoc workloads', 1;
RECONFIGURE;

-- Compression des sauvegardes
EXEC sp_configure 'backup compression default', 1;
RECONFIGURE;

-- Seuil de processus bloqué (monitoring)
EXEC sp_configure 'blocked process threshold (s)', 5;
RECONFIGURE;

-- Vérification finale
SELECT name, value_in_use 
FROM sys.configurations 
WHERE name IN (
    'max server memory (MB)',
    'min server memory (MB)',
    'max degree of parallelism',
    'cost threshold for parallelism',
    'optimize for ad hoc workloads',
    'backup compression default',
    'blocked process threshold (s)'
)
ORDER BY name;

-- Masquer à nouveau les options avancées (le réglage vaut pour tous les utilisateurs)
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE;

Ressources complémentaires