TechDays Paris 2012 : Top 10 des Best Practices pour SQL Server
Speaker : Nadia Ben El Kadi

Configuration machine
La session commence par la toute première question à se poser lors de la mise en place d’environnement SQL Server, la configuration des machines :
- Type de machine
- Nombre de processeurs
- Taille de mémoire RAM
- Volume de disques
- Type de volumes
- …
Utilisation possible de Sizer fournis par les fabricants de matériel. On peut aussi passer par des “Appliances” totalement préconcues et préconfigurées pour un type d’utilisation donné.

Système Disk
La seconde notion importante est la configuration du système de Disk (I/O), type de lecture/écriture imposée par les applications associées à l’environnement :
- OLAP : Lecture massive, peu d’écriture
- OLTP : Ecriture massive, lecture aléatoire
- …
Attention au formatage : toujours prendre des formatage en 64 KB et 256 si gros environnement OLTP paralellisé.
Setup
L’Installation est une étape à prendre attention. On ne doit installer que ce qui est nécessaire. Ne pas installer les outils “au cas où”.

Il est déconseillé de mettre SQL Server DataBase avec les autres moteurs (Analysis ou Reporting).
Service Pack
Les SP doivent être installés, les CU ne doivent pas être installés d’office mais uniquement si les cas décrits sont rencontrés

Config post Installation
Il est bon de placer un
TraceFlag “1117” pour suivre la croissance des fichiers des bases de données de manière régulières (tous les fichier grossissent en même temps de la même taille).
>> Best Practice pour SharePoint

Configurer la mémoire maximum de RAM allouée à SQL Server:
- Si RAM machine < 8 GB : Laisser 1 GB de RAM pour Windows
- Si RAM machine > 8 GB : Laisser 2 GB pour Windows
- Si RAM machine > 128 GB : Laisser 4 GB pour Windows

Configuration des répertoires de base pour la création ou sauvegarde de base de données

Mettre Max Degree of Paralelism à 1 sur des machine ayant de nombreuses requêtes.
>> Best Practice pour SharePoint

Fichier de Bases
Surveiller les AutoGrow, contrôler la croissance des bases de données avec une croissance suivant une taille donnée
Dans le cas de fichiers multiples, bien prendre attention à avoir un fichier par contrôleur Disk.
Un seul fichier pour les fichiers de LOG.

Attention aux options des bases de données 
Légendes urbaines 
Plan de maintenance à implémenter Backup, Check Intégrité, Optimisation (Index defrag – Rebuild ou Reorganize, Update Statistics)

Fragmentation Physique à surveiller, mais avec le moteur SQL Stoppé
Performance Travail sur les index en rapport avec l’application. Travail sur des requêtes pour optimisation sur le bon index en fonction.

Design Conception des indexes, ou les placer et pourquoi
- Clustered IndexChoice : Plusieurs fois la même valeur
- NonClustered Index : Cas des ID (un item par valeur)
Utiliser les vues système pour l’utilisation des index.

Performance Query Utiliser les outils de performance de requêtes basés sur les traces (Perfmon BLG files – chercher PAL), ou le DataBase Tuning Advisor.

Monitoring Surveiller vos environnements depuis les outils de monitoring (MOM) ou depuis SQL Agent. Outil de consolidation de SQL Server 2008 R2

Taches pour les DBA
Installation, maintenance, contrôle, …

DBA ToolBox
Voir MAP ToolKit : Discover pour l’ensemble des moteurs SQL Server d’un réseau

Consolidation de serveurs (SSAS ou SQL Engine) Cf White paper

Mythes et … réalités SQL Server est utilisé pour des environnements énormes (cas des Pompiers de Paris, des ADP ou de NASDAQ).

SQL Server 2012 Beaucoup de nouveautés avec 2012, dont SQL Server AlwaysOn Availability Group (cas de Mirroring avec moirir utilisable en lecture). Contained DB (User Logins associés uniquement avec les Bases de données), ColumnStore Index (Index compressé sur des colonnes), PowerView (Outil BI avec un Browser pour créer des Report).

Pensez au Books onLine
Conclusion
Session très rapide et intense mais réellement intéressante sur les bonnes pratiques. Nécessite tout de même une bonne motivation pour suivre le rythme 
Romelard Fabrice [MVP]
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :