# Pachadata, Rudi Bruchez > Articles et guides pratiques sur SQL Server (administration, performances, haute disponibilité, réplication), écrits par Rudi Bruchez, consultant SQL Server indépendant depuis 2006. Chaque page a une version Markdown (index.md) à côté de sa page HTML. Contact, audit ou intervention : https://www.pachadata.com/contact/ ## Articles SQL Server - [Intelligent Query Processing (IQP)](https://www.pachadata.com/docs/articles/sqlserver/iqp/index.md): Comment utiliser le traitement intelligent des requêtes (IQP) dans Microsoft SQL Server. ## Articles sur les performances - [Analyser le Query Store avec un agent IA](https://www.pachadata.com/docs/articles/sqlserver/performances/query-store-agent/index.md): Confier l'analyse du Query Store à Claude Code ou Codex par sqlcmd, avec un login qui lit le Query Store sans lire les tables, ou sur un clone sans données. - [Ce que le Query Store enregistre](https://www.pachadata.com/docs/articles/sqlserver/performances/query-store-collecte/index.md): Ce que le Query Store garde d'une requête et ce qu'il laisse de côté : instructions absentes, exécutions interrompues, pertes après un arrêt brutal. - [La SARGabilité des clauses WHERE](https://www.pachadata.com/docs/articles/sqlserver/performances/sargabilite/index.md): Pourquoi COALESCE, ISNULL, CONVERT ou YEAR() sur une colonne du WHERE empêchent l'Index Seek, et comment réécrire la requête ou adapter le modèle. - [Les modes de capture du Query Store](https://www.pachadata.com/docs/articles/sqlserver/performances/query-store-modes-de-capture/index.md): Ce qui sépare les modes de capture ALL, AUTO, CUSTOM et NONE du Query Store, avec les seuils du mode AUTO mesurés sur SQL Server 2019, 2022 et 2025. - [Les statistiques de chaîne de SQL Server](https://www.pachadata.com/docs/articles/sqlserver/performances/statistiques-de-chaines/index.md): Le résumé de chaîne d'une statistique SQL Server, décodé : un échantillon de chaînes dans un trie, la façon dont il estime les LIKE, et ce qui le contourne. ## Diagnostic - [Analyser les requêtes](https://www.pachadata.com/docs/howtos/diagnostic/analyser-les-requetes/index.md): Comment analyser les requêtes pour identifier les problèmes de performances. Marche à suivre. - [Détecter une transaction active](https://www.pachadata.com/docs/howtos/diagnostic/transaction-active/index.md): Trouver la transaction qui retient le journal dans SQL Server : DBCC OPENTRAN, log_reuse_wait_desc, DMV de session, et ce qu'il faut savoir avant un KILL. - [Extraire les informations de deadlock](https://www.pachadata.com/docs/howtos/diagnostic/deadlock/index.md): Extraire les graphes de deadlock de la session system_health de SQL Server par une requête, puis les enregistrer en .xdl pour les ouvrir dans SSMS. - [Identifier les allocations excessives de mémoire](https://www.pachadata.com/docs/howtos/diagnostic/memory-grants/index.md): Comment diagnostiquer les allocations de mémoire excessives ou insuffisantes. - [Récupérer les journaux d'erreur](https://www.pachadata.com/docs/howtos/diagnostic/recuperer-le-journal-derreur/index.md): Trouver le chemin des journaux ERRORLOG de SQL Server avec SERVERPROPERTY, repérer les fichiers après rotation et les compresser pour les envoyer. - [Tracer les plans d'exécution](https://www.pachadata.com/docs/howtos/diagnostic/tracer-les-plans/index.md): Capturer les plans d'exécution réels avec une session d'événements étendus depuis SQL Server 2017 CU14, filtrée par base, login ou durée, et ce qu'elle coûte. - [Utiliser sp_whoisactive pour voir les requêtes actives](https://www.pachadata.com/docs/howtos/diagnostic/sp_whoisactive/index.md): Installer sp_WhoIsActive et choisir ses paramètres : plans d'exécution, tête d'une chaîne de blocage, allocations mémoire, durée moyenne. ## Développement - [Régler les problèmes de collation sur une base de données](https://www.pachadata.com/docs/howtos/dev/collation-conflict/index.md): Erreur 468 de conflit de collation avec les tables temporaires : clause COLLATE DATABASE_DEFAULT ou base partiellement autonome (CONTAINMENT = PARTIAL). ## Fonctionnalités BI - [Se connecter à MongoDB avec un outil de BI](https://www.pachadata.com/docs/howtos/analytique/mongodb-bi-connector/index.md): Comment se connecter à MongoDB avec un outil BI, comme Reporting Service ou PowerBI, qui a besoin d'un pilote ODBC qui accepte des requêtes SQL. ## Gestion des bases système - [Déplacer des fichiers de tempdb](https://www.pachadata.com/docs/howtos/bases-systeme/move-tempdb-files/index.md): Générer et exécuter le script ALTER DATABASE qui déplace les fichiers de tempdb vers un autre disque, effectif au redémarrage du service SQL Server. - [Supprimer des fichiers de tempdb](https://www.pachadata.com/docs/howtos/bases-systeme/remove-tempdb-files/index.md): Pourquoi DBCC SHRINKFILE EMPTYFILE échoue souvent sur tempdb, et deux pistes pour supprimer des fichiers : configuration minimale ou job au démarrage. ## Guides d'administration - [Comprendre et gérer le journal de transactions SQL Server](https://www.pachadata.com/docs/howtos/administration/log/index.md): Journal de transaction plein : lire log_reuse_wait_desc, choisir le mode de récupération, trouver la transaction ouverte, réduire le fichier. - [Compresser les tables et les index](https://www.pachadata.com/docs/howtos/administration/compression/index.md): Compression ROW et PAGE des tables et index, dans toutes les éditions depuis SQL Server 2016 SP1 : estimer le gain, compresser, reconstruire. - [Exporter une table avec BCP](https://www.pachadata.com/docs/howtos/administration/bcp/index.md): Exemple d'export d'une table avec l'utilitaire bcp en ligne de commande : authentification intégrée (-T) et format natif (-n) pour SQL Server. - [Mettre à jour SQL Server : CU, GDR et branches de maintenance](https://www.pachadata.com/docs/howtos/administration/mises-a-jour-cu-gdr/index.md): Branches CU et GDR de SQL Server depuis 2017 : lire un numéro de build, trouver la bonne mise à jour, l'appliquer sur une instance ou un groupe Always On. - [Obtenir la taille des tables](https://www.pachadata.com/docs/howtos/administration/taille-des-tables/index.md): Comment obtenir la taille des tables, notamment les plus volumineuses. - [Plusieurs instances SQL Server sur un même serveur](https://www.pachadata.com/docs/howtos/administration/instances/index.md): La consolidation des instances SQL Server est préférable à la multiplication des installations sur un même serveur. - [Supprimer les messages de sauvegardes dans le journal d'erreurs](https://www.pachadata.com/docs/howtos/administration/errorlog-backup/index.md): Le,journal d'erreur contient les informations de sauvegardes réussies. c'est inutile. Nous voyons comment désactiver ces messages. ## Guides de performances - [Activer et utiliser le Query Store](https://www.pachadata.com/docs/howtos/performances/query-store/index.md): Comment activer et utiliser le Query Store pour diagnostiquer les problèmes de performance. - [Corriger les conversions implicites](https://www.pachadata.com/docs/howtos/performances/conversions-implicites/index.md): Comment identifier les problèmes de conversions implicites et les corriger - [Corriger les problèmes liés à l'estimateur de cardinalité](https://www.pachadata.com/docs/howtos/performances/cardinality-estimator/index.md): Comment identifier et corriger les problèmes de performances liés à l'estimateur de cardinalité. - [Diagnostiquer les problèmes de performances](https://www.pachadata.com/docs/howtos/performances/diagnostic/index.md): Diagnostiquer un SQL Server lent hypothèse par hypothèse : attentes, disques, configuration, requêtes coûteuses, blocages, index manquants, statistiques. - [Identifier les problèmes de blocages](https://www.pachadata.com/docs/howtos/performances/blocages/index.md): Comment reconnaître un problème de blocages, mettre en place la collecte des rapports de processus bloqués, et transmettre les fichiers pour analyse. - [Interdire une requête avec ABORT_QUERY_EXECUTION](https://www.pachadata.com/docs/howtos/performances/abort-query-execution/index.md): Utiliser ABORT_QUERY_EXECUTION dans SQL Server 2025 pour bloquer l’exécution de requêtes identifiées comme problématiques via Query Store Hints. - [Limiter les ressources d'un login avec le Resource Governor](https://www.pachadata.com/docs/howtos/performances/resource-governor-login-client/index.md): Brider CPU, mémoire, I/O, concurrence et tempdb d'un login en lecture seule avec le Resource Governor, mesuré sur SQL Server 2022 et 2025. - [Obtenir un plan d'exécution](https://www.pachadata.com/docs/howtos/performances/execution-plan/index.md): Afficher dans SSMS le plan d'exécution estimé (Ctrl+L) ou réel (Ctrl+M) d'une requête SQL Server, puis l'enregistrer dans un fichier .sqlplan. - [Optimiser les requêtes SQL](https://www.pachadata.com/docs/howtos/performances/requetes/index.md): Méthode pour optimiser les requêtes SQL Server : statistiques IO et TIME, Query Store, évènements étendus, traitement ligne à ligne, index, statistiques. - [Parallélisme SQL Server : configurer MAXDOP et le seuil de coût](https://www.pachadata.com/docs/howtos/performances/parallelisme/index.md): Régler le seuil de coût et MAXDOP : valeurs conseillées, threads par branche, réglage par base, par requête, par Query Store et par Resource Governor. - [Read Committed Snapshot](https://www.pachadata.com/docs/howtos/performances/rcsi/index.md): Comment activer l'option Read Committed Snapshot dans une base de données SQL Server ## Haute disponibilité - [Always On : Maîtriser les Timeouts](https://www.pachadata.com/docs/howtos/hadr/basculements/index.md): Lease Timeout, HealthCheck, Quorum... Configurez les seuils de SQL Server et WSFC pour stabiliser votre haute disponibilité. - [Diagnostic des groupes de disponibilité AlwaysOn](https://www.pachadata.com/docs/howtos/hadr/diagnostic/index.md): Collecter les journaux SQL Server, les fichiers AlwaysOn_health et les journaux WSFC (Get-ClusterLog) pour diagnostiquer un groupe de disponibilité. - [Les Basic Availability Groups de l'édition Standard](https://www.pachadata.com/docs/howtos/hadr/bag/index.md): L'édition Standard de SQL Server offre une solution de haute disponibilité : les Basic Availability Groups. Découvrez leurs avantages et leurs limites. - [Utiliser dbatools pour les groupes de disponibilité AlwaysOn](https://www.pachadata.com/docs/howtos/hadr/dbatools/index.md): Utiliser dbatools pour gérer et diagnostiquer les groupes de disponibilité AlwaysOn dans SQL Server. ## Maintenance des bases de données - [Garder un FULLSCAN sur certaines statistiques avec IndexOptimize](https://www.pachadata.com/docs/howtos/maintenance-des-bases/statistiques-fullscan-persistant/index.md): Quand une seule table a besoin de statistiques en FULLSCAN pour garder le bon plan : comment la trouver, fixer son échantillon avec PERSIST_SAMPLE_PERCENT et garder un seul job IndexOptimize. - [Guide complet du SHRINK dans SQL Server](https://www.pachadata.com/docs/howtos/maintenance-des-bases/shrink-database-file/index.md): Réduire un fichier avec DBCC SHRINKFILE : quand le faire, taille cible, paliers en T-SQL ou avec dbatools, suivi de l'opération, reconstruction des index. - [Identifier et régler les problèmes de journaux de transactions](https://www.pachadata.com/docs/howtos/maintenance-des-bases/journaux-de-transactions/index.md): Journal qui grossit ou disque plein : lire log_reuse_wait, trouver la transaction ouverte, changer le mode de récupération, réduire le fichier. - [Les sauvegardes du journal de transactions](https://www.pachadata.com/docs/howtos/maintenance-des-bases/backup-journaux-transactions/index.md): Pourquoi une base en mode FULL a besoin de sauvegardes de journaux, ce qu'une sauvegarde de VM ne remplace pas, et comment restaurer à un instant précis. - [Réaliser des sauvegardes sur un groupe de disponibilité](https://www.pachadata.com/docs/howtos/maintenance-des-bases/backup-ag/index.md): Planifier des sauvegardes complètes COPY_ONLY et de journaux sur chaque réplica d'un groupe de disponibilité avec Ola Hallengren, purger avec dbatools. - [Réduire la taille de tempdb](https://www.pachadata.com/docs/howtos/maintenance-des-bases/shrink-tempdb/index.md): Réduire tempdb avec DBCC SHRINKFILE sans redémarrer : ce qui bloque l'opération, comment trouver le coupable, et la taille de démarrage qu'un shrink partiel laisse derrière lui. ## Modélisation de données - [Choisir un index clustered](https://www.pachadata.com/docs/howtos/modelisation/clustered-index/index.md): Sur quelle clé placer l'index clustered d'une table SQL Server : clé petite, unique et croissante, pourquoi éviter le GUID, et le cas de la clé primaire. - [Gérer plusieurs auto incréments](https://www.pachadata.com/docs/howtos/modelisation/autoincrement-by-parent/index.md): Gérer plusieurs auto-incréments sur une seule table, lorsqu'on doit sous-numéroter une colonne par rapport à une première colonne. ## Monitoring de SQL Server - [Always On : supervision des groupes de disponibilité](https://www.pachadata.com/docs/howtos/administration/monitoring/alwayson-ag/index.md): Compteurs et indicateurs clés à surveiller pour les Groupes de Disponibilité Always On de SQL Server. - [Compteurs de base](https://www.pachadata.com/docs/howtos/administration/monitoring/compteurs-de-base/index.md): Compteurs Windows et SQL Server à superviser : CPU, latence disque, buffer cache hit ratio, page life expectancy, transactions et requêtes par seconde. - [Supervision avec PRTG](https://www.pachadata.com/docs/howtos/administration/monitoring/prtg/index.md): Configurer PRTG pour superviser SQL Server avec le capteur PerfCounter personnalisé : syntaxe des compteurs, unités, calcul du buffer cache hit ratio. ## Optimiser SQL Server - [Analyser les performances](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/050.analyser-les-performances/index.md): Chapitre 05.01 - [Architecture de SQL Server](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/020.architecture/index.md): Chapitre 02 - [Gérer les ressources du serveur](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/100.gerer-les-ressources-du-serveur/index.md): Chapitre 10 - Gérer les ressources du serveur - [Introduction](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/001.introduction/index.md): Introduction - [Les compteurs de performances](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/053.les-compteurs-de-performances/index.md): Chapitre 05.02 - [Les événements étendus](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/056.evenements-etendus/index.md): Chapitre 05.03 - [Les statistiques et la cardinalité](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/065.statistiques-et-cardinalite/index.md): Chapitre 06.5 - Les statistiques - [Optimiser le code SQL](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/080.optimiser-le-code/index.md): Chapitre 08 - Optimiser le code SQL - [Optimiser les objets et la structure de la base de données](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/040.optimiser-la-structure/index.md): Chapitre 04 - [Optimiser les procédures stockées](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/090.optimiser-les-procedures/index.md): Chapitre 09 - Optimiser les procédures stockées - [Optimiser son matériel](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/030.optimiser-le-materiel/index.md): Chapitre 03 - [Règles de base](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/010.regles-de-base/index.md): Chapitre 01 - [Savoir utiliser les index](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/060.indexation/index.md): Chapitre 06 - [Transactions et verrous](https://www.pachadata.com/docs/optimiser-sql-server/chapitres/070.transactions-et-verrous/index.md): Chapitre 07 - Transactions et verrous ## Reference - [Intelligent Query Processing en édition Standard](https://www.pachadata.com/docs/reference/iqp/index.md): Les fonctionnalités d'Intelligent Query Processing de SQL Server 2022 disponibles ou non en édition Standard, dans un tableau tiré de la doc Microsoft. ## Ressources - [Liens utiles](https://www.pachadata.com/docs/howtos/ressources/liens-utiles/index.md): Outils et références utiles pour SQL Server : PSBlitz pour le diagnostic de performances, un catalogue d'outils, un aide-mémoire des raccourcis de SSMS. - [Téléchargements](https://www.pachadata.com/docs/howtos/ressources/telechargements/index.md): Document PDF à télécharger : la liste des compteurs de performance indispensables à récupérer et à grapher dans votre supervision SQL Server. ## Réplication - [Ajout de colonnes à une table répliquée](https://www.pachadata.com/docs/howtos/replication/alter-table/index.md): Laisser un utilisateur ni sysadmin ni db_owner ajouter des colonnes à une table répliquée, en modifiant le trigger tr_MStran_altertable. ## SQL Server - Administration - [Diagnostiquer les timeouts de connexion SQL Server](https://www.pachadata.com/docs/articles/sqlserver/administration/diagnostic-timeouts-connexion/index.md): Timeouts de connexion intermittents à SQL Server : lire le message du client, prouver ce que le serveur a vu, mesurer le pool, puis chercher côté client. - [Installer et configurer SQL Server 2025 sur Windows Server](https://www.pachadata.com/docs/articles/sqlserver/administration/installation/index.md): Guide complet pas à pas : installation de SQL Server 2025 sur Windows Server, configuration des propriétés du serveur et du Gestionnaire de configuration. - [La consommation de RAM de SQL Server](https://www.pachadata.com/docs/articles/sqlserver/administration/sql-server-ram/index.md): Comprendre le comportement de gestion mémoire de SQL Server pour les administrateurs système habitués à d'autres plateformes ## SQL Server sur Linux - [Installer SQL Server sur Docker](https://www.pachadata.com/docs/howtos/linux/docker/index.md): Récupérer l'image SQL Server 2022 et lancer le conteneur avec Podman sans root, choisir l'édition par MSSQL_PID, obtenir un certificat avec Certbot. - [Virtualiser SQL Server avec KVM](https://www.pachadata.com/docs/howtos/linux/kvm/index.md): Installer KVM et libvirt sur Debian ou Ubuntu, activer le service et ajouter votre utilisateur aux groupes libvirt et kvm, avant de virtualiser SQL Server. ## Serveur et instance - [Identifier les problèmes de mémoire](https://www.pachadata.com/docs/howtos/serveur-et-instance/memoire/index.md): Requêtes pour examiner la mémoire de SQL Server : max server memory, compteurs Memory Manager et Memory Node, memory clerks, mémoire des assemblies .NET.