SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick Lausanne 10/2011

2,531 views
2,401 views

Published on

Découvrez les bonnes pratiques, conseils et astuces concernant le développement, l'administration et l'architecture de Microsoft SQL Server 2008 et des versions antérieures ! Cette présentation est conçue aussi bien pour les administrateurs de base de données ou développeurs de Microsoft SQL Server que pour les DBAs occassionnels.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,531
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
58
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • OLTP : OnLineTransactionProcessing base de données transactionnelles OLAP : OnLineAnalyticalProcessing base de données décisionnellesHA : High AvaibilityDR : Disaster Recovery
  • Montrer FastTrack
  • Montrer FastTrack
  • Montrer FastTrack
  • \\Paramètres Windows\\Paramètres de sécurité\\Stratégies locales\\Attribution des droits utilisateur\\Dans SQL Server, les fichiers de données peuvent être initialisés instantanément. Cela permet une exécution rapide Créer une base de données. Ajouter des fichiers journaux ou de données à une base de données. Augmenter la taille d'un fichier existant (opérations de croissance automatique incluses). Restaurer une base de données ou un groupe de fichiers.L'initialisation instantanée des fichiers n'est disponible que si l'autorisation SE_MANAGE_VOLUME_NAME a été attribuée au compte de service (MSSQLSERVER) SQL Server. Les membres du groupe Administrateur Windows disposent de ce droit et peuvent l'attribuer aux autres utilisateurs en les ajoutant à la stratégie de sécurité Effectuer des tâches de maintenance des volumeshttp://msdn.microsoft.com/fr-fr/library/ms175935.aspx.
  • Sysprep : http://technet.microsoft.com/fr-fr/library/cc721940(WS.10).aspxL’outil SysPrep prépare une installation de Windows à la duplication, à l'audit et à la livraison au client
  • Examples: do not just configure, know what they do and how they affect your setupPagefile http://support.microsoft.com/kb/889654/en-usSharepoint collation http://support.microsoft.com/kb/2008668Hi Perf Workloads: http://support.microsoft.com/kb/920093/en-ushttp://msdn.microsoft.com/en-us/sqlserver/bb671432
  • Mémoire :min server memory = garantie une quantité minimale de mémoire disponible pour le pool de mémoires tamponsmax server memory = SQL Server ne dépasse pas cette valeur http://msdn.microsoft.com/fr-fr/library/ms178067.aspxVérifier si le privilège «Verrouillage des pages en mémoire» est accordéLaisser au moins 2 Go de mémoire à l'OS: Dimensionner par rapport aux autres instances/applications en cours sur votre système Garder à l'esprit que se connecter via RDP et utiliser le Management Studio a besoin de mémoire!ProcesseurLaisser les valeurs par défautMême lorsque vous exécutez plusieurs instances de SQL ServerMasque d’affinité CPU peut être utilisé que si d'autres applications sont executées sur le système :Assurez-vous que chaque processeur dispose de suffisamment de mémoire locale (NUMA) : http://msdn.microsoft.com/library/ms180954(v=SQL.105).aspxVérifier le « HBA/Network card balance »Référence : http://msdn.microsoft.com/library/ms186255(v=SQL.105).aspxSécuritéUtiliser l'authentification Windows uniquementMais il arrive souvent que le dernier recours soit le compte 'sa'Assurez-vous que 'sa' a un mot de passe qui respecte des exigences de complexité :Comporter au moins six caractèresContenir des caractères provenant de trois des quatre catégories suivantes :Caractères majuscules anglais (A à Z)Caractères minuscules anglais (a à z)Chiffres en base 10 (0 à 9)Caractères non alphabétiques (par exemple, !, $, #, %)Echecs d'audit et réussites de connexionsRend dépannage facileAssurez-vous que le groupe DBA du domaine a accès au serveurComptes intégrés \\ l’administrateur ne devrait pas avoir directement les droits sysadmi:SQL Server 2008 c'est par défautSQL Server 2005 (enlever les comptes intégrés \\ administrateurs manuellement. S’assurer que les droits sysadmin sont accordés aux bons utilisateurs!)Propriété AuditLevel :http://msdn.microsoft.com/fr-fr/library/ms136321(v=sql.90).aspx ConnectionsValeurs par défautConfiguration de la base de donnéesTaux de remplissage par défaut de l’index à 70 :Aide à réduire le fragmentation d’indexRecommandé pour SharePointCompresser la sauvegardeA utiliser tout simplement Vérifier l’emplacement par défaut des sauvegardesOu donc ?AvancéesNe pas activer FILESTREAM pour l'accès Transact-SQL si cela n’est pas nécessaireConfigurer MAXDOP à 1 pour de l’OLTP (ERP/CRM/SharePoint/SAP,...)Pour de l’OLAP, MAXDOP doit au moins être à 2La configuration manuel de MAXDOP nécessite de veiller à ce que chaque thread bénéficie de suffisamment de mémoirePermissions
  • Mémoire :
  • Mémoire :
  • Faire des stratégies (Policies) pour chaque paramètre, ainsi il est possible de vérifier si toutes les instances SQL centralisées répondent aux paramètres par défautGouverneur de ressources :permet de gérer la charge de travail et les ressources SQL Server en spécifiant des limites concernant la consommation de ressources par les requêtes entrantesNe pas changer les paramètres par défaut sauf dans le cas d’une optimisation pour un DWH FastTrackUtilisation de la connexion administrateur dédiée (DAC) pour se connecter : Par défaut, le DAC écoute le port TCP 1434 :sqlcmd –Sadmin:’connectstring’Mgmt Studio Query Editor admin:’connectstring’ Activer les connexions réseaux avec sp_configure :sp_configure 'remoteadmin connections', 1;Référence : http://msdn.microsoft.com/fr-fr/library/ms189595.aspx
  • DBCC CHECKDB pour les contrôles de cohérenceA effectuer toujours avant une sauvegarde complèteElle demande beaucoup de ressourcesA effectuer pour de grands blocs de donnéesExécution périodique de la commande sans optionDBCC CHECKDB avec l’option WITH PHYSICAL_ONLYTrès utile pour des contrôles réguliers sur la productionRéduit le temps de la commande sur de grosses bases de donnéesReconstruction : ALTER INDEX…REBUILDCréer une copie complète de l’indexA besoin de 1,2x la taille initiale au cours de la recréationVersion entreprise effectue en ligne (online) sans bloquer l’accès à l’indexRecommander pour les taux de fragmentation supérieur à 30%Réorganisation : ALTER INDEX…REORGANIZEDéfragmentation interne de l’index par réorganisation des entréesPas aussi efficace Toujours en ligneRecommander pour les taux de fragmentation entre 10% et 30%
  • StatistiquesLes statistiques connaissent l'arrangement des données dans les colonnesEssentiel pour l‘optimiseur de requête pour générer des plans d'exécutionLa manière la plus facile est de créer et maintenir automatiquement les statistiques avec AUTO_CREATE_STATISTICS & AUTO_UPDATE_STATISTICSRecommandation : A maintenir avec un job ou un plan de maintenanceHistoriquessp_delete_backuphistory : historique des sauvegarde et restaurationsp_purge_jobhistory : enregistrements des tâches sp_maintplan_delete_log : log pour les plans de maintenancesp_syspolicy_purge_history : historique des évaluations de stratégies
  • VLF : Each transaction log file is divided logically into smaller segments called virtual log files. Virtual log files are the unit of truncation for the transaction log. When a virtual log file no longer contains log records for active transactions, it can be truncated and the space becomes available to log new transactions.Pré-allocation des fichiers de donnéesEvite la fragmentation des fichiers Pré dimensionner le fichier de transaction logUtilisez un incrément raisonnable pour l’autogrowChoisir les paramètres de correction automatiqueAuto_Close = falseAuto_Shrink = false Auto_Createstatistics = trueAuto_Updatestatistics = true
  • SQL Server 2005 SP4: Technical support continues till 04/12/2016, yet mainstream (hotfix) support ends as of 04/12/2011; options for hotfix support after 04/12/2011:Continue with self-helpUpgrade to the latest supported service pack for SQL Server 2005 or SQL Server 2008 or SQL Server 2008 R2Extended hotfix support agreement
  • SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick Lausanne 10/2011

    1. 1. dbi servicesSQL Server – Best Practices Stéphane Haby Consultant Mobile +41 79 103 89 60 stephane.haby@dbi-services.com www.dbi-services.com1 www.dbi-services.com 06.10.2011 © dbi services
    2. 2. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et dimensionnement iii. Installation iv. Configuration v. Maintenance vi. Conclusion2 www.dbi-services.com 06.10.2011 © dbi services
    3. 3. IntroductionScope 4 axes :  Planification & Dimensionnement  Installation  Configuration  Maintenance Scope :  Moteur de base de données Out of Scope :  Autres outils SQL Server (SSAS,SSIS & SSRS)  Système d’exploitation Documentation en ligne dans 27 langues  http://msdn.microsoft.com/fr-fr/library/ms130214.aspx3 www.dbi-services.com 06.10.2011 © dbi services
    4. 4. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et dimensionnement iii. Installation iv. Post installation v. Maintenance vi. Conclusion4 www.dbi-services.com 06.10.2011 © dbi services
    5. 5. Planification et dimensionnementComment commencer ? Quelle utilisation? OLAP? OLTP? Mixte? Besoin d’un accord de niveau de service (SLA)? Haute disponibilité (HA) / reprise après sinistre (DR)? Combien de ressources sont nécessaires? Virtualisation? Comment va fonctionner la BdD dans l’environnement existant?5 www.dbi-services.com 06.10.2011 © dbi services
    6. 6. Planification et dimensionnementComposants du système de base Construire un système équilibré, sans goulots détranglement Principes des « Fast Track reference architectures »  Fast Track 3.0 System Sizing ToolRéférence : http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/fast-track.aspx NIC Réseau 4 1 Serveur Mémoire 2 HBA 5 Schéma des 3 fichiers SQL Sous-système de disques6 www.dbi-services.com 06.10.2011 © dbi services
    7. 7. Planification et dimensionnementFast Track 3.0 System Sizing Tool7 www.dbi-services.com 06.10.2011 © dbi services
    8. 8. Planification et dimensionnementFast Track 3.0 System Sizing Tool8 www.dbi-services.com 06.10.2011 © dbi services
    9. 9. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et dimensionnement iii. Installation iv. Configuration v. Maintenance vi. Conclusion9 www.dbi-services.com 06.10.2011 © dbi services
    10. 10. InstallationSQL Server Setup Au démarrage  Sélectionnez uniquement les fonctions nécessaires  Choisissez l’assemblage approprié  Paramétrage des chemins Utilisez un utilisateur de domaine pour un compte de service Stratégie de sécurité  Verrouiller les pages en mémoire  Effectuer des tâches de maintenance sur les volumes10 www.dbi-services.com 06.10.2011 © dbi services
    11. 11. InstallationÉtapes à suivre pour un SQL SysPrep1. Installer et configurer lOS2. Installer SQL Server Management Studio et les autres composants services partagés nécessaires (SSIS, BIDS,...)3. Préparer les instances SQL Server4. SysPrep de lOS5. Déployer limage6. Démarrer lOS, ajouter au domaine, ...7. Finaliser les instances SQL Server8. Configurer les instances SQL Server via des scripts T-SQLRéférence : http://msdn.microsoft.com/en-us/library/ee210664.aspx11 www.dbi-services.com 06.10.2011 © dbi services
    12. 12. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et Dimensionnement iii. Installation iv. Configuration v. Maintenance vi. Conclusion12 www.dbi-services.com 06.10.2011 © dbi services
    13. 13. Configuration Trace flags/Knowledge Base articles  Rôles  Définir temporairement des caractéristiques de serveur spécifiques  Désactiver un comportement particulier  Internet ou une présentation PowerPoint n’est pas forcément une source fiable  Appliquez les bonnes pratiques conseillées par votre fournisseur d’applicationNe pas se contenter de configurer son système, il faut savoir en quoi un paramètre l’affecte avant de l’appliquer 13 www.dbi-services.com 06.10.2011 © dbi services
    14. 14. ConfigurationIndicateur de trace 1117 Indicateur au démarrage lorsque plusieurs fichiers de données sont présents par base de données Trace tous les fichiers de données Recommandé pour  SAP (Note 1238993)  FastTrack DWH  SharePoint DBCC TRACEON (1117,-1)14 www.dbi-services.com 06.10.2011 © dbi services
    15. 15. ConfigurationPropriétés du serveur15 www.dbi-services.com 06.10.2011 © dbi services
    16. 16. ConfigurationPropriétés serveur – Résumé 1/2 Mémoire  «Verrouillage des pages en mémoire» est accordé  Laisser au moins 2 Go de mémoire à lOS Processeurs  Valeurs par défaut  Masque d’affinité CPU peut être utilisé que si dautres applications sont exécutées sur le système Sécurité  Utiliser lauthentification Windows uniquement  Compte sa avec un mot de passe qui respecte des exigences de complexité16 www.dbi-services.com 06.10.2011 © dbi services
    17. 17. ConfigurationPropriétés serveur – Résumé 2/2 Connections  Valeurs par défaut Paramètres de bases de données  Taux de remplissage par défaut de l’index à 70%  Compresser la sauvegarde Avancé  Ne pas activer FILESTREAM si pas nécessaire  MAXDOP à 1 pour de l’OLTP (ERP/CRM/SharePoint/SAP,...)  MAXDOP au moins à 2 pour de l’OLAP Permissions  Valeurs par défaut17 www.dbi-services.com 06.10.2011 © dbi services
    18. 18. ConfigurationTempDB : nombre de fichiers Règle dor:  ¼ - ½ fichier de données par cœur CPU  1 fichier de journal des transactionsExemple : 4 CPU quadri-core (16 cœurs)  16 * ¼ et 16 * ½ = 4 à 8 fichiers TempDB Débuter avec le minimum de fichiers sauf si le stress imposé aux fichiers TempDB des applications est connu + de 8 fichiers ne sert à rien sauf si spécifié dans la documentation du logiciel18 www.dbi-services.com 06.10.2011 © dbi services
    19. 19. ConfigurationTempDB : Taille des fichiers Calculer la taille initiale : beaucoup de formules compliquées La bonne pratique au départ est d’avoir plusieurs fichiers de  2 Go avec un incrément de 1 Go pour les données  1 Go avec un incrément de 512 Mo pour les log Surveiller régulièrement le TempDB19 www.dbi-services.com 06.10.2011 © dbi services
    20. 20. ConfigurationAstuces pour configurer l’instance de base Créer un script pour ces paramètres  Utiliser les variables sqlcmd  Commenter tout Utilisation de « Server Dashboard Report » pour les paramètres non configurés par défaut Utilisation de « Configuration Change History Report » pour surveiller les changements Faire des stratégies pour chaque paramètre Aidez vous du « Ressource Governor »20 www.dbi-services.com 06.10.2011 © dbi services
    21. 21. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et dimensionnement iii. Installation iv. Configuration v. Maintenance vi. Conclusion21 www.dbi-services.com 06.10.2011 © dbi services
    22. 22. MaintenanceStratégie de sauvegardes & restaurations Définir une stratégie de sauvegarde normalisée pour l’ensemble de l’environnement Bien choisir le type de sauvegarde Etapes de la sauvegarde (sur disques, sur bandes ?) Tâches planifiées Standardiser le chemin de restauration/récupération Réduire les fenêtres de sauvegarde avec les flux de sauvegardes multiples et la compression TESTER la restauration régulièrement22 www.dbi-services.com 06.10.2011 © dbi services
    23. 23. MaintenancePlan de maintenance 1/2 Contrôle d’intégrité  DBCC CHECKDB pour les contrôles de cohérence  DBCC CHECKDB avec l’option WITH PHYSICAL_ONLY Défragmentation d’index  Reconstruction : ALTER INDEX…REBUILD Taux de fragmentation > 30%  Réorganisation : ALTER INDEX…REORGANIZE 10% > Taux de fragmentation < 30% Référence : http://msdn.microsoft.com/fr-fr/library/ms189858.aspx23 www.dbi-services.com 06.10.2011 © dbi services
    24. 24. MaintenancePlan de maintenance 2/2 Statistiques  Maintenir automatiquement les statistiques avec AUTO_CREATE_STATISTICS & AUTO_UPDATE_STATISTICS Historiques  Utiliser les sp_delete_xxxx & sp_purge_xxxx Utilisation des scripts d’Ola Hallengreen  http://ola.hallengreen.com  Pas de support Microsoft, mais facilite la vie de DBA 24 www.dbi-services.com 06.10.2011 © dbi services
    25. 25. MaintenanceVirtual Log File & Création de la BdD Virtual Log File (VLF)  DBCC Loginfo  Nombre de VLF < 100 n’affecte pas les performances  Taille : Toujours < 512 Mo par VLFRéférence : http://dbamohsin.wordpress.com/2011/02/11/448-virtual-log-files-vlfs-on-a-11gb-file-hmmmmmm/ Création de la base de données  Pré-allocation des fichiers de données  RECOVERY=Full & PAGE VERIFY=CHECKSUM  Paramètres de correction automatique (Auto_Close, Auto_Shrink)  Penser à la compression de tableRéférence : http://www.dbi-services.com/index.php/blog/entry/sql-server-tuning-detect-sparse-columns-candidate25 www.dbi-services.com 06.10.2011 © dbi services
    26. 26. MaintenanceSPs & CUsService Packs Mises à jour cumulatives Installation recommandée  A installer que si un problème Support dépend du dernier survient ou si cela concerne la service pack sécurité Cycle: tous les 12 mois  Cycle: tous les 2 mois  Info sur : http://blogs.msdn.com/b/sqlr eleaseservices/26 www.dbi-services.com 06.10.2011 © dbi services
    27. 27. MaintenanceLe support d’SQL ServerSQL Version Mainstream Support Extended SupportSQL Server 2000 SP4 08.04.2008 09.04.2013SQL Server 2005 SP4 12.04.2011 12.04.2016SQL Server 2008 14.01.2014 08.01.2019SQL Server 2008 R2 14.01.2014 08.01.2019 Mises à jour  Préparer et exécuter le plus tôt possible  Garantir un produit supporté  Bénéficier de nombreuses améliorations, corrections et mises à jour de sécurité27 www.dbi-services.com 06.10.2011 © dbi services
    28. 28. MaintenanceSystem Center Advisor https://www.systemcenteradvisor.com/ Code du projet : Atlanta Evalue les configurations des serveurs Détection pro-active des incidents Suggère des améliorations Avise les clients sur les mises à jour28 www.dbi-services.com 06.10.2011 © dbi services
    29. 29. MaintenanceSystem Center Advisor Dashboard29 www.dbi-services.com 06.10.2011 © dbi services
    30. 30. dbi servicesSQL Server – Best Practices Agenda i. Introduction ii. Planification et dimensionnement iii. Installation iv. Configuration v. Maintenance vi. Conclusion30 www.dbi-services.com 06.10.2011 © dbi services
    31. 31. Conclusiondbi services recommande Planification et dimensionnement  Posez vous les bonnes questions  Utilisez les outils disponibles Installation  Installez que les fonctions nécessaires  Utilisez SysPrep pour la duplication Configuration  Configurez correctement les propriétés du serveurs  Dimensionnez convenablement le TempDB Maintenance  Utilisez les plans de maintenance  Surveillez les Virtual Log File31 www.dbi-services.com 06.10.2011 © dbi services
    32. 32. dbi servicesAny Questions? Please Do Ask! Stéphane Haby Consultant Mobile +41 79 103 89 60 stephane.haby@dbi-services.com www.dbi-services.com „We look forward to working with you!“32 www.dbi-services.com 06.10.2011 © dbi services

    ×