Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 3 : Le serveur Patrick Guimonet Architecte Infrastructure Division Plateforme et Ecosystème Microsoft France
Objectifs Décrire la gestion de la mémoire de SQL Server Décrire larchitecture de gestion de la mémoire Décrire larchitecture des processus et des threads Configurer le serveur de bases de données
Gestion de la mémoire (1/2) SQL Server 2005 gère dynamiquement et automatiquement la mémoire. SQL Server divise sa mémoire en 2 parties principales : Le Buffer Pool (BPool) qui est utilisé pour toutes les allocations de 8Ko ou moins Il sagit essentiellement des pages dindex et de données. La taille de cette zone évolue entre deux limites définies par les paramètres systèmes : min server memory et max server memory La zone despace réservée (ou MemToLeave) qui est utilisée pour toutes les allocations qui dépassent 8Ko Cette zone est de taille fixe et continue. Sa taille est définie par la formule : 256Mo + (max worker threads * 512 Ko).
Gestion de la mémoire (2/2) Une hiérachie de composants se partagent la gestion de la mémoire ; 1.les nœuds mémoires, 2.Les agents mémoires (les clerks) qui gèrent des caches et des pools 3.Les objets De nombreux éléments utilisent ces composants : Le cache de procédures Le cache des ordres SQL Le gestionnaire de verrous Le CLR (Common Language Runtime), … Pour de plus amples détails, vous pouvez allez sur le blog suivant :
Architecture mémoire 2 fonctions principales du SQLOS : Ordonnancement non préemptif Gestion de la mémoire Windows SQL OS SQL Engine CLR 2.0 SQLOS Nœuds dordonnancement Ordonnanceurs Tâches Threads de travail Threads systèmes Nœuds mémoire Agents mémoire (clercs) Caches Pools Objets mémoire Surveillance des ressourcesGestion des exceptions Gestion de la mémoire Ordonnancement non préemptif
Démo
Processus & threads SQL Server sexécute sous la forme dun processus lançant plusieurs threads en parallèle. Les threads partagent le même espace dadressage. Les changements de contextes sont gérés en mode noyau. On peut utiliser des threads gérées en mode utilisateurs, les fibres. La couche OLE DB sert de couche de communication entre le le moteur relationnel au sens stric et le moteur de stockage.
Threads systèmes SQL Server exécute un certain nombre dopérations en tâches de fond via des threads systèmes. Les principales sont :Le lazywriter (écriture sur disque des blocs de données modifiés); le log writer (écriture sur disque des fichiers journaux); Les checkpoints; Les nettoyages de bases (cleanup); Les mises à jour automatique des statistiques; Les réductions de taille des fichiers
Threads utilisateurs SQL Server emploie une architecture de serveur partagé car un pool de threads de travail est automatiquement démarrée pour traiter les requêtes utilisateurs.
Démo
Ressources SQL Server 2005 Le site français sur SQL Server 2005 (livres blancs, webcasts en français) Blog francophone (actualités, trucs & astuces en français) Le site Technet français (ressources techniques en français) Le site global sur SQL Server Le site Technet global (SQL Server TechCenter) SQL Server Developer Center
Votre potentiel, notre passion… A bientôt et merci davoir suivi cette vidéo... © 2006 Microsoft France