22 SQL Server 2008 R2 Administration & Monitoring 09/02/2010 Vincent BelletPascal Belaud ConsultantArchitecte avant-vente Microsoft FranceMicrosoft France
33 SQL Server Roadmap 1 ère Génération SQL Server 7.0 SQL Server ème Génération SQL Server ème Génération SQL Server 2008 Table Rows Multi-dimensional “Cubes” XML Compression VLDB : 50TB Entities Unstructured Spatial VLDB : 20TB Structured Native XML Encryption Fonctions Load Query Insert Delete Replicate Analyze Integrate Shred Map Organize Search Mine End-user Reporting Native XML Query Actions
44 SQL Server – Plateforme complète et modulaire
55 La Gestion par Règles
66 Démo La Gestion par Règle en action!
77 La Gestion par règles - Terminologie Managed target Serveur Base de données Table … Facet: propriétés des règles Condition: condition booléenne appliquée à une facet Policy Category: catégories de règles définies par l’utilisateur
88 La Gestion par règles – En Pratique Définir ses règles LIKE ‘usp_%’ Condition Nom Facet Procédures stockées Target
99 La Gestion par règles - Mécanisme Demande explicite On demand Triggers DDL Evaluation avant validation On change:prevent Triggers DDL Modifications autorisées avec enregistrement historique On change:log only Evaluation plannifiée via SQL Server Agent On schedule
10 SQL Server Database Engine MSDB (Policy Store) Database Engine Eventing Database Policy Event Handler DDL Events (sync) Service Broker Queue Trace Events (async) (async) Catalog views SQLCLRSQLCLR Policy Engine SMO Windows PowerShell™ Wrapper SQL Server Agent SQL Agent Job Policy Invoker Policy Engine SMO DDL Trigger (syspolicy_event_trigger) (syspolicy_event_trigger) Policy Event Handler (sp_syspolicy_dispatch_event) Policy Event Handler (sp_syspolicy_dispatch_event) Policy Execution Stub (sp_syspolicy_execute_policy) Policy Execution Stub (sp_syspolicy_execute_policy) La Gestion par règles - Mécanisme
11 Gestion de N serveurs La Gestion par règles - Mécanisme
12 La Gestion par règles – Exemples de cas d’utilisation Empêcher l’utilisation de SQL MailConventions de nommageCartographie
13 La Gestion par règles Bonnes pratiques Une bonne préparation en amont! Réutiliser les règles de bonnes pratiques natives Classifier les règles
14 Démo Data Collection (DWH Performance)
15 Le Gouverneur de Ressources
16 Démo Resource Governor!
17 Le Gouverneur de Ressources Environnement Des types de charge différents Charge = besoins hardware uniques DBAs ne contrôlent pas le code T-SQL Conflit de charge Exécutions simultanées Applications, clients…différents! Optimisation limitée
18 Les outils et niveaux de gouvernance % CPU et mémoire Système d’exploitation Instances multiples Windows Resource Manager Limiter l’allocation CPU & Mémoire Resource Management using Hyper-V Gestion fine par instance %CPU et mémoire pour chaque instance SQL Server 2008 Resource Governor Le Gouverneur de Ressources
19 Pools Groupes de Charge Sessions Fonctions de Classification Le Gouverneur de Ressources Terminologie
20 What is? Segmenter les charges relationnelles SQL Server Assigner des ressources à des charges What is NOT? Segmenter les ressources à un niveau serveur Protéger/limiter les ressources Le Gouverneur de Ressources
21 When is it useful? N applications/charges sur un même serveur Charges sont prédictibles When is it NOT useful? Charges non- uniformes Assurer les ressources à travers plusieurs applications Le Gouverneur de Ressources
22 Pourquoi utiliser le gestionnaire de ressources? Serveurs mutualisés Etre capable de répondre à la qualité de service Un contrôle plus fin des charges Monitorer et tracer les charges Le Gouverneur de Ressources
23 Fonctionnement Sessions Pool Interne Pool Défaut Pool B Pool A Groupe Interne Groupe Défaut Groupe C Groupe B Groupe A Fonction de classification Requête DAC Requête 1 Requête 2 Requête 3 Requête 4 Légende Login DAC La fonction de classification identifie le groupe A Le ‘Groupe A’ et le ’Pool A’ sont supprimés; la fonction de classification n’est pas modifiée La session n’a pas de groupe correspondant. Elle est gérée par le groupe par défaut La session est encore active et continue de s’exécuter avec les limitations du groupe La session est évaluée pour le ‘Groupe B’ La session est évaluée pour le ‘Groupe C’ Max CPU%100% 70% Min CPU%0%20%50% La dernière session du ‘Pool A’ finit de s’exécuter Ressources du ‘Pool A’ deviennent disponibles Max CPU%100%70% Min CPU%0%50% New Max CPU%50%N/A70% Old Max CPU%30%50%70% Les ressources peuvent être réallouées Le Gouverneur de Ressources
24 Faire des Tests! Gestion des charges en arrière plan La fonction de classification Debugging Requête DAC DM’s & Compteurs SQL Server Profiler PreConnect:Starting & PreConnect:Completed Se baser sur l’utilisation des ressources Sys.dm_os_performance_counters Le Gouverneur de Ressources
25 SQL Server Utility
26 Démo SQL Server Utility Gérer et optimiser l’allocation de ses ressources
27 SQL Server Utility - Consolidation sysprep SQL setup Data Tier App Utility Control Point and Managed Instances >64 logical processors (Windows Server & SQL) 2008 R2 New in SQL 2008 R2 ® New in SQL 2008 R2 ® Resource Governor Windows Server Resource Manager (WSRM) Microsoft Assessment and Planning (MAP) failover cluster in guest VMs System Center VM Manager Hyper-V Live Migration
28 SQL Server Utility - Concepts Instances SQL ServerData-tier applicationsFichiers bases de donnéesVolumes
29 SQL Server Utility – Utility Control Point (UCP) Collection mutualisée des métriques d’utilisation de ressources Vue centrale Point central pour l’évaluation des policies Gestion multi-instances Management Studio DBA SQL02 SQL03 SQL04 SQL01 Managed Instances SQL05 UCP
30 SQL Server Utility – Data Tier Application (DAC) 30 Data Tier Application (DAC) Déploiement applications T-SQL Une définition pour tous les éléments Installation, désinstallation, mise à jour Data Tier Application Schema Extra Files Policies Déploiement Data Tier Application déployé Gestion par DAC Isolation des ressources Data Tier Application Properties & Metadata Gestion Schema
31 SQL Server Utility – Data Tier Application (DAC) Propriétés Objets utilisés par l’application Objets propres à l’instance Policy Fichiers & Scripts
32 SQL Server Utility - Démarche 1. Installer l’Utility Control Point (UCP) 2. Ajouter les instances 3. Chercher les consolidations potentielles 4. Consolider 5. Mesurer les résultats
33 SQL Server Utility - Architecture
34 Conclusion Industrialisation des développements Gestion par règles Gouvernance Production Gouverneur de Ressources Server Activity : temps réel Data Collection : métriques micro UCP : vue consolidée Data Tier application SQL Server Utility