par le DBA de production...

Slides:



Advertisements
Présentations similaires
Sécurité informatique
Advertisements

GEF 435 Principes des systèmes d’exploitation
Installer un serveur FTP
CLIENT/SERVEUR SQL SERVER 7
Plan de formation Chapitre 1 : Présentation de SAP
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 3 : Le serveur Patrick Guimonet Architecte Infrastructure Division.
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 6 : Protection des données Bertrand Audras Microsoft Technology Center.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Administration. Administration Enjeux L’efficacité et la fiabilité de l’Infrastructure Technologique (IT) sont des facteurs critiques de réussite.
GEF 435 Principes des systèmes d’exploitations
Conception de la sécurité pour un réseau Microsoft
Exposé de Système - Informatique et Réseau
Module 10 : Gestion et analyse de l'accès réseau
Module 6 : Gestion et analyse du système DNS
Architecture de réseaux
Xavier Tannier Yann Jacob Sécurite Web.
Informatique parallèle hautes performances
Plan de formation Chapitre 1 : Présentation de SAP
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Speaker : Michael Nokhamzon33 Speaker : Pierre Tatot.
Retour sur l'allocation d'espace Exemple sur une table facture (sans les tables associées) N° fact, N° Client, N° Cde, date Cde, date fact, date réglement,
10 ans de DBA Sham UNMAR Philippe PIMENTA. 10 ans de DBA Sham UNMAR Philippe PIMENTA.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.

SECURITE DU SYSTEME D’INFORMATION (SSI)
David Baffaleuf– CAPDATA
Administration système
Module 1 : Préparation de l'administration d'un serveur
Serveurs Partagés Oracle
Xavier Tannier Sécurite Web.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Gestion des bases de données
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Développement dapplications web Authentification, session.
Test et débogage Tests unitaires. Gestion d’erreurs. Notion d’état, de pré-condition et de post-condition. Assertion. Traces de programme. Débogueur et.
Chapitre XI Gestion des erreurs et exceptions. 2 La gestion des erreurs et exceptions De nombreux problèmes peuvent survenir pendant lexécution dun programme:
Programmation concurrente
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Analyse des performances du serveur
Vue d'ensemble Surveillance des journaux d'événements
Outil de gestion des cartes grises
Gérer la sécurité des mots de passe et les ressources
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
Module 8 : Surveillance des performances de SQL Server
3 Octobre 2013 Les Communautés MS. Management d’infrastructures IT hétérogènes  Support Management  Technical Management  Data Management.
PLAN ● L'instance ● Optimisations – Gestion de l'espace – La gestion des quotas – Les requêtes gourmandes – Les goulots d'étranglement ● Administration.
Yonel Grusson 1 SQL SERVER 2000 CLIENT/SERVEUR. Yonel Grusson 2 PLAN Présentation Installation Résultat de l'installation L'administration –Par le SQL.
Erreurs commises couramment dans le domaine de la sécurité 1.Sensibilisation aux questions de sécurité 2.Suivi des incidents 3.Gestion déficiente des.
Back Orifice Scénario en 3 étapes - Préparation & envoi - Infection & Installation - Prise de contrôle - Détections Possibles - Net-Based - Host-Based.
(Ou groupes d ’utilisateurs)
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
Programmation Système et Réseau
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Module 5 : Exécution de tâches administratives
PLAN ● L'instance – Création – Démarrer, Arréter et surveiller – Connexion / Utilisateurs ● Optimisations et interconnexions ● Administration et sauvegardes.
Ce que l’on doit connaître des procédures de Backup/Restore Les nouveautés dans SQL Server 2005 Les procédures de BACKUP Les procédures de RESTORE Le.
Module 1 : Vue d'ensemble de Microsoft SQL Server
G ROUPE IRIUM ™ N°1 européen des PGI pour Distributeurs, Loueurs & Importateurs de Machines Les Bases de Connaissances Knowledge Base Maxime HILAIRE 07/05/2008.
Introduction aux outils de supervision
Outil de Supervision Réseau
Module 2 : Planification de l'installation de SQL Server
Module 3 : Gestion des fichiers de base de données
Master 1ère année Sécurité des Systèmes d’Information 1 Rôle et profil de l'administrateur  Profession généraliste peu connue mais très recherchée  Il.
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
ALLOCATION DU CPU et GESTION DES TRAVAUX.
La solution KoXo Administrator
Présentation DU PROGICIEL NAGIOS
Chapitre 12 Surveillance des ressources et des performances Module S41.
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
Transcription de la présentation:

par le DBA de production... 10 points à vérifier par le DBA de production...

Les 10 points Clés... La présence des processus: SQL Server, Agent, etc... La remontée d’erreurs. La supervision de la maintenance. La volumétrie des bases et filesystems. Les critères d’alerte de performance. Les attentes. Les requêtes consommatrices. La sécurité. L’environnement immédiat (système, stockage). La gestion du changement.

1: Présence des processus Détecter l’indisponibilité le plus tôt possible... sqlservr, sqlagent, sqlwriter, fdhost, logread, distrib, etc... Tester la présence du processus seul ne suffit pas. Il faut aussi tester si la connexion peut être établie. Mesurer la qualité de la réponse avec une requête fonctionnelle significative. Utiliser un outil indépendant (pas de job sql agent...). SQLCMD, script BAT, powershell, plugin nagios, .NET, etc... Plus l’empreinte sur le système est faible, plus la fréquence d’exécution peut être élevée pour permettre de réduire le délai de réaction. En cas de conflit dans le code entre

2: Remontée d’erreurs Détecter lorsqu’une erreur se produit... Sources multiples : ERRORLOG, journal Application, ring buffers, trace par défaut, session XE system_health... Utiliser les alertes SQL Agent et DB Mail: Severity 17 (oom conditions, erreurs 1105 / 9002), et severity de 20 à 25. Inclure l’erreur 825 (read-retry) en utilisant le n° d’erreur. Attention aux parsers ‘maison’ pour l’ERRORLOG (unicode) xp_readerrorlog (Attention bug CPU 100% http://support.microsoft.com/kb/973524) Utilisation de Log Parser pour les *.evt (http://www.microsoft.com/en-us/download/details.aspx?id=24659) Attention aux erreurs non formalisées: a significant part of sql server memory has been paged out... SQL Server has encountered xxx occurrence(s) of IO requests taking longer than 15 seconds... En cas de conflit dans le code entre

3: Superviser la maintenance Connaître l’état des tâches de maintenance: backup, rebuild index, statistiques, dbcc checkdb... Contrôler la sortie des jobs: DB mail, xp_sqlagent_enum_jobs, sysjobhistory... Contrôler aussi si la tâche n’a pas du tout été exécutée. Donc il faut en plus une logique de test indépendante de l’exécution. Avec un plan de plus de 100 jobs à contrôler, le mail atteint ses limites en termes de lisibilité et d’exploitation (SCOM ?) En cas de conflit dans le code entre

4: VOLUMéTRIE BASES et FS Connaître l’état de remplissage des enveloppes données / journaux et des filesystems... Permet de faire du capacity planning. Permet de voir ce que l’on récupère suite à une purge / un rebuild index. Permet d’établir un profil d’utilisation, notamment au niveau du journal de transactions. Avec des seuils correctement paramétrés, permet d’être très proactif. Problème: seuils en % et volumétries très élevées. Autre problème: solution intégrée dans l’agent SQL pour les journaux de transactions (Percent Log Used) mais pas pour les fichiers de données. Data Collector / xp_fixeddrives / SQLCLR En cas de conflit dans le code entre

5: ALERTES DE PERFORMANCE Etre averti d’un problème de performance en constitution avant qu’il ne soit trop tard. Là aussi permet une certaine proactivité. Alertes SQL Agent, Xevents Page Life Expectancy (max server memory / 4Gb) / * 300. Ex: BP = 30Gb, PLE = 2250 secs) Percent Log Used ( >= 90%) Processed Blocked ( > 5) Number of Deadlocks / sec ( > 0) Free Space in Tempdb (<=10%) En cas de conflit dans le code entre

6: ATTENTES 1/3 Savoir où l’instance passe le plus de temps à attendre (donc à ne rien faire d’utile) Le point de départ d’une recherche d’un problème global de performance. sys.dm_os_wait_stats, session XE system_health. Nécessite que l’instance ait une disponibilité élevée (flush des infos non persistées en cas de restart: DMV, ring buffers, etc...) Heureusement system_health persiste ces informations dans un fichier ( >= SQL Server 2012) En cas de conflit dans le code entre

6: ATTENTES 2/3 WAIT Description CXPACKET Évènement d’attente parallélisme inter-threads. N’indique pas forcément un problème. Waits élevés regarder quelle est la tâche qui n’est pas en CXPACKET dans sys.dm_os_waiting_tasks pour le même session_id. Si attente + counts élevés, revoir le plan, sinon revoir la valeur de MAXDOP (ne pas le mettre systématiquement à 1). PAGEIOlATCH_% Attente de lecture de pages depuis le disque. Soit problème de rotation du BP élevée (voir page life expectancy), soit directement problème avec sous système IO. PAGELATCH_% Contention d’accès sur des pages en mémoire. La plus connue est sur PFS/GAM/SGAM sur tempdb (1 fichier/core de même taille), mais peut survenir sur des bases utilisateur aussi. WRITELOG_% Contention sur l’écriture vers le journal de transactions sur disque. Séparation DATA/LOG, regarder la latence vers les fichiers LDF avec sys.dm_io_virtual_file_stats, pb de cache en écriture, de RAID, etc... ASYNC_NETWORK_IO Attente retour client réseau. SOS_SCHEDULER_YIELD Si counts + waits élevés, indique une contention CPU (entrées / sorties, parallélisme, compilation, TVF, compression, hash build, tris, etc...) THREADPOOL Max worker threads atteint (MAXDOP à 0 sur des plans complexes, chaîne de blocage de tâches très longue... tsk1->tsk2-> tsk3->tsk4->tsk5->tsk6->tsk7...) En cas de conflit dans le code entre

6: ATTENTES 3/3 Détecter les attentes sur verrous: Souvent facile à diagnostiquer. sys.dm_os_waiting_tasks, sys.dm_tran_locks. Utiliser le Blocked Process Report avec Service Broker ou SQL Trace. Utiliser le Blocked Process Report avec Xevents. Utiliser une alerte SQL Agent avec le compteur Perfmon Blocked Processes (mais pas de durée de seuil). En cas de conflit dans le code entre

7: Les requêtes consommatrices Avoir une visibilité sur les requêtes qui pénalisent le plus l’instance en termes d’entrées / sorties, temps CPU. Souvent à l’origine de nombreux problèmes sur l’instance (mémoire, CPU, entrées / sorties, attentes, etc...) Data Collector, SQL Trace, Xevents. DMV / DMF, sys.dm_exec_% Données brutes à agréger et classer par Reads / CPU time / Elapsed / nb executions. En cas de conflit dans le code entre

8: LA SéCURITé Qui peut se connecter, qui fait quoi. Server Audits. Utiliser les rôles prédéfinis, ou le CREATE SERVER ROLE à partir de SQL Server 2012. Identifier les risques: Authentification (mots de passe, connexions SSL, etc...) Permissions système et permissions sur les objets. Encryption des données (certs, TDE) Vol de données / vol de sauvegardes. Comptes de service. ... -> !! SQL Injection !! En cas de conflit dans le code entre

9: L’ENVIRONNEMENT IMMEDIAT Problème externe ou corolaire à SQL Server (stockage, host, hyperviseur, réseau...) Mesurer l’activité depuis un point de vue SQL Server seul ne suffit pas, il faut élargir les observations à l’environnement immédiat. Système d’exploitation, host: mémoire, programmes concurrents, antivirus, ressources matérielles insuffisantes, etc... Stockage: cache baie sous dimensionné en écriture, mauvais choix de RAID, nombre de disques insuffisants dans le groupe, IO queue depth par défaut, etc... Hyperviseur: problème de paramétrage, cpu ready, entrées / sorties, sur-mutualisation, etc... En cas de conflit dans le code entre

10: DETECTER / GERER LES CHANGEMENTS « Aujourd’hui c’est plus lent qu’hier... » Détecter les changements de paramétrage ou d’option de base. Détecter les changements au niveau des jobs. Détecter les changements de structure / de code. Détecter les changements de volumétrie (impact stats, requêtes, maintenance...) Etablir un protocole de mise en production (CM). La même personne ne fait pas tout de bout en bout dans son coin. Peu d’outils intégrés au niveau de SQL Server pour suivre ces modifications, il faut l’écrire soi-même ou utiliser des outils tiers. -> !! Recetter les modifications !! En cas de conflit dans le code entre