Table des matières SQL Server 2014
Transcription
Table des matières SQL Server 2014
Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Table des matières Avant-propos 1 Contenu de l’ouvrage Guide de lecture Première partie : manipulation d’une base Deuxième partie : programmation Troisième partie : gestion des bases de données Quatrième partie : maintien des performances Cinquième partie : administration du serveur Annexes Conventions typographiques Contact et téléchargements Les auteurs Remerciements 1 2 2 2 3 3 3 3 3 4 4 6 Introduction 7 Position de SQL Server dans le monde des SGBDR Et le libre ? Des métriques Un peu d’histoire Offre du moment Du serveur à l’utilisateur Installation de SQL Server Désinstallation de SQL Server Premiers pas : création d’une base 7 10 12 12 13 14 15 19 19 PARTIE I : Manipulation d’une base 21 CHAPITRE 1 : Définition des données Préambule Base de données Création d’une base (CREATE DATABASE) Suppression d’une base (DROP DATABASE) Conventions recommandées Tables relationnelles Création d’une table (CREATE TABLE) 23 23 24 24 25 26 26 26 Commentaires Conventions recommandées Premier exemple Types des colonnes Chaînes de caractères Valeurs numériques exactes Valeurs numériques approximatives Dates et heures Chaînes de caractères Unicode Chaînes binaires Autres types de données Identificateurs Contraintes Conventions recommandées Structure d’une table Suppression des tables Types personnalisés Sous-types Types table Visualisation des types Modification de types Suppression de types Index B-tree Index cluster Création d’un index B-tree Visualisation des index Suppression d’un index Tables en mémoire (In-Memory engine) Exécution d’une instruction Création d’une table en mémoire Limitations Métadonnées de la base 27 27 27 27 28 28 29 29 30 30 31 31 32 33 35 35 37 38 38 39 39 40 40 41 42 43 45 46 46 46 47 48 49 CHAPITRE 2 Manipulation des données Mise à jour des données Insertion de lignes (INSERT) Syntaxe Ligne par ligne Marqueurs NULL et DEFAULT Plusieurs lignes à la fois Collations Non-respect des contraintes Dates et heures Chaînes de caractères Unicode Chaînes binaires 53 53 54 54 54 55 56 56 58 59 60 60 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Auto-incrémentation Séquences Propriété IDENTITY Les GUID (ou UUID) Modifications de données Syntaxe (UPDATE) Exemple Non-respect des contraintes Suppressions de ligne Instruction DELETE Instruction TRUNCATE TABLE Mises à jour conditionnées (MERGE) La clause OUTPUT Intégrité référentielle Cohérences assurées Contraintes de clés étrangères Tables en mémoire (In-Memory tables) 61 61 64 67 70 70 71 71 72 72 . 73 74 75 76 77 78 83 CHAPITRE 3 Évolution d’un schéma Modifier une base Changer la connexion à une base Lecture seule Renommer une base Modifier la collation d’une base Modifier le paramétrage de la base Modifier les colonnes d’une table Ajout de colonnes Modifier le type des colonnes Colonnes calculées Supprimer des colonnes Les tables en mémoire Renommer des objets Renommer une table ou une vue Renommer un index Renommer une colonne Renommer une contrainte Renommer un type personnalisé Les tables en mémoire Modifier les contraintes d’une table Ajout de contraintes Suppression de contraintes Désactivation de contraintes Réactivation de contraintes Les contraintes en ligne Contraintes complexes Retrouver les caractéristiques 85 86 86 87 87 87 88 88 89 89 90 92 93 93 93 94 94 94 94 95 95 96 101 103 105 107 108 108 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Les tables en mémoire 108 CHAPITRE 4 Interrogation des données Généralités Syntaxe (SELECT) Pseudo-table Projection (éléments du SELECT) Extraction de toutes les colonnes Format des résultats Extraction de certaines colonnes Alias Doublons Expressions Ordonnancement Concaténation Insertion multiligne Création de tables Limitation du nombre de lignes Restriction (WHERE) Opérateurs de comparaison Opérateurs logiques Opérateurs intégrés Alias Comparaisons à l’aide d’une collation Fonctions scalaires Caractères Numériques Fonction pour les bits Fonctions diverses Conversions La fonction CAST La fonction CONVERT Les nouvelles fonctions Les conversions implicites Regroupements Fonctions simples d’agrégation Regroupements simples Regroupements complexes Pivots (PIVOT) Transpositions (UNPIVOT) Fonctions de fenêtrage La clause OVER Les fonctions de rang Les fonctions analytiques Opérateurs ensemblistes Intersection 109 109 110 111 111 112 112 113 113 114 115 115 116 116 117 118 120 120 121 121 122 123 124 124 127 128 129 131 131 132 134 134 136 137 138 140 143 144 145 146 146 148 151 152 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Opérateurs UNION et UNION ALL Différence Opérations ensemblistes et « valeurs » NULL Ordonner les résultats Ajouter des expressions Produit cartésien Jointures Types de jointures Les types d’écritures Équijointures Autojointure Inéquijointure Semi-jointure Jointures externes Intra-jointure Sous-requêtes Jointures procédurales Sous-interrogation dans la clause FROM Sous-interrogations synchronisées (corrélation) Division Classification Division inexacte (ou relative) Division exacte 153 154 155 155 156 156 157 158 158 159 160 161 162 162 165 166 166 169 169 171 172 173 173 CHAPITRE 5 Gestion des données complexes Dates, heures et intervalles Le moment présent La date standard (ISO) Le format des dates Traiter des dates Gestion des heures Mises à jour des dates/heures Autres fonctions Expressions communes de tables (CTE avec WITH) Utilisations non récursives Programmation de la récursivité Ordonner les descendants Parcours d’un graphe orienté Parcours d’un graphe non orienté Structures arborescentes (type HierachyID) Création de la table Insertion de nœuds Visualisation de la hiérarchie Modification de l’arbre Parcours de l’arbre 177 177 177 178 179 182 188 189 190 191 192 192 193 194 196 196 197 197 199 200 200 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Indexation et contraintes Bilan Expressions régulières Projet Visual Studio Fonctions disponibles Contraintes Les LOB Types de données Fonction d’accès Exemple FILESTREAM Paramétrage Création de l’environnement Insertion d’un fichier Fonctions disponibles pour les applications clientes FileTable Création de l’environnement Manipulation de fichiers XML Le type XML Insertions de documents Mises à jour de contenu Les méthodes XQuery Extractions avec « query » Conversions avec « value » Tests avec « exist » Constructions avec « nodes » Indexation Les espaces de noms Grammaires XML Schema Génération de contenu XML Variables XML La fonction OPENXML Indexation textuelle Le catalogue L’indexation Extractions par prédicats Extractions par fonctions table Création de listes de mots noirs Problématique du multilinguisme Indexation de documents électroniques et iFilters Recherches sur les métadonnées Recherches sémantiques Données spatiales Le référentiel Données géométriques Données géographiques 201 202 202 203 204 205 205 206 206 207 208 208 208 209 209 210 210 210 212 212 213 214 215 215 216 216 217 218 219 221 222 227 229 230 231 231 232 235 236 236 236 237 238 239 239 239 242 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 CHAPITRE 6 Chargement en bloc, export et import de données 247 Intégration de fichiers avec BULK INSERT 247 Syntaxe de la commande BULK INSERT 248 Utilisation des fichiers de format pour l’import de données 252 L’utilitaire d’import/export en ligne de commande : bcp.exe 256 Utilisation 256 Générer des fichiers de format avec BCP 259 Les fonctions OPEN 260 Interrogation d’un fichier Excel 261 Utilisation de OPENROWSET en mode BULK 263 OPENQUERY 266 Exporter avec l’assistant 268 SQL en ligne de commande avec SQLcmd.exe 272 Importer des données via un lot de commandes INSERT 272 Exporter une vue, une table ou les données d’une requête en format « listing » Exporter des données au format INSERT (SQL) 274 274 PARTIE II Programmation avancée 281 CHAPITRE 7 Programmation Transact-SQL Généralités Fichiers de commandes Programmation modulaire Structure d’un bloc Commentaires Variables Déclaration Initialisations et affectations Types des variables Variables système Paramétrage d’une session Structures de contrôle Structures conditionnelles Structures répétitives Étiquettes et GOTO Interactions avec la base Extraire des données 283 283 283 285 285 286 286 286 287 288 290 291 293 293 295 296 297 297 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Mise à jour des données Routines Procédures stockées Appels de procédures Appel avec reformatage Fonctions utilisateur (UDF) Appel de fonction table Recompilation et suppression d’une routine Objets temporaires Curseurs Déclaration Parcours d’un curseur (séquentiel) Accès direct Accès concurrents (FOR UPDATE) et mise à jour (CURRENT OF) Comment s’en passer ? Gestion des erreurs Erreurs prédéfinies Erreur utilisateur Création d’erreurs Propagation d’une erreur Gestion des transactions Transaction : implicite ou explicite ? Début et fin d’une transaction Compteurs des transactions État transactionnel et transactions imbriquées Contrôle des transactions Gestion des anomalies transactionnelles Le problème du verrou mortel (deadlock) Verrouillage manuel Quel mode adopter ? Où placer les transactions ? Les tables en mémoire (In-Memory tables) Niveaux d’isolation Programmation de transactions Ce qu’on ne peut pas faire Ce qu’on peut faire Déclencheurs Mécanisme général Déclencheurs LMD Déclencheurs LDD Déclencheurs de connexion (LOGON) Gestion des déclencheurs SQL dynamique Utilisation de EXECUTE Utilisation de sp_executesql 298 301 301 304 305 305 309 310 311 312 312 313 314 315 316 316 317 319 320 321 322 323 323 324 324 324 325 331 332 333 334 334 335 336 337 337 337 339 339 347 349 349 350 350 352 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 CHAPITRE 8 Les vues Généralités Création d’une vue (CREATE VIEW) Classification Intérêt des vues Modification et suppression d’une vue Vues modifiables Vues simples Vues complexes Vues paramétrées (fonction table) Déclencheurs pour les vues complexes Vues indexées Prérequis Définition Réécriture de requêtes Exemple d’utilisation Mise en œuvre de vues matérialisées Vues partitionnées distribuées 353 353 354 355 358 363 363 364 365 365 366 366 367 368 369 370 372 376 CHAPITRE 9 Intégration avec NET et au-delà 379 Introduction à SQL CLR et aux assemblies NET Généralités Remplacer la procédure stockée étendue système xp_fixeddrives Création d’une fonction de table incluse d’assembly Création d’une fonction scalaire d’assembly : les nombres premiers Création d’un type d’assembly défini par l’utilisateur : les adresses e-mail Création d’un agrégat d’assemblies Les déclencheurs d’assembly Les vues de gestion des assemblies Suivi des performances Connectivité des données Les fournisseurs d’accès aux données Accès aux bases de données 379 380 382 390 392 394 400 403 . 406 408 410 410 411 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 PARTIE III Gestion des bases de données 427 CHAPITRE 10 Création des bases et stockage des données Les bases de données système La base master La base invisible mssqlsystemresource La base model La base msdb La base tempdb Les autres bases système Création d’une base de données Commande CREATE DATABASE Modification d’une base Détachement et rattachement d’une base Rétroscript de création d’une base de données Mise à jour et migration des bases de données Structure physique des tables Structure du stockage physique des données Structure d’une page Ligne dans une page Extensions Pages techniques Structuration des données dans les lignes Le journal des transactions Commandes DBCC Organisation du stockage Le groupe de fichiers (filegroup) Les fichiers de stockage de données Les fichiers de transactions Architecture du stockage, fichiers et performances Stockage hors ligne des LOB (FILESTREAM, FILETABLE et RBS) Bonnes pratiques pour un stockage performant Migration des données Partitionnement Principe Exemple de partitionnement sur hachage Réduction de la taille des fichiers et vidage Compression Compression décimale Compression de colonnes éparses Compression par ligne ou par page Compaction des LOB Compression des sauvegardes 429 430 431 432 433 433 433 434 435 436 437 441 442 442 446 446 447 448 452 453 455 458 468 471 471 473 479 480 493 504 505 506 507 507 513 514 517 517 518 519 519 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Créer des clichés de base de données Principe Mise en œuvre Utilisation 519 519 520 521 CHAPITRE 11 Gestion de la sécurité Correctif SQL Server et Service Pack Compte de sécurité des services SQL Server Compte de service de SQL Server Compte de service de l’Agent SQL Autres comptes de services Bases de données d’une instance Bases de données système Bases de production Schémas SQL Création des schémas SQL Modification des schémas Sécurité au niveau des schémas Schémas particuliers Tour d’horizon de la sécurité des données Sécurité à deux niveaux Abus du terme utilisateur Autorisés et sécurisables L’octroi de privilèges et la révocation Chaînage des privilèges Sécurité des bases système Comptes de connexion L’authentification Connexion à l’aide de comptes système Connexions SQL Propriétaire d’une base de données Privilèges de niveau serveur Octroi de privilège sur les connexions et les points de terminaison Octroi de privilèges de serveur Arborescence des privilèges Rôle de serveur Rôles de serveur prédéfinis Rôles de serveur utilisateur Utilisateurs SQL Création des utilisateurs SQL Notion de propriétaire d’objet Privilèges de niveau base de données Privilèges de niveau table ou vue Privilèges de niveau routine (procédure et fonction UDF) Privilégier les conteneurs Rôles de base de données 523 523 524 525 525 525 525 526 528 530 531 531 532 532 532 533 535 535 536 537 537 538 539 539 540 541 541 542 543 543 544 544 545 546 546 547 548 548 550 550 554 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Rôles de base de données prédéfinis Rôles utilisateur de base de données Rôle public Attribution des rôles de base de données aux utilisateurs SQL Dépersonnalisation Dépersonnalisation d’une session Dépersonnalisation d’une routine Métadonnées de la sécurité Fonctions scalaires Fonctions table Vues de métadonnées Bonnes pratiques en matière de sécurité Concepts du chiffrement Algorithmes Conséquences du chiffrement Que faut-il chiffrer ? Architecture de chiffrement de SQL Server Chiffrement en pratique Clé d’instance (SERVICE MASTER KEY) Clé maîtresse de la base de données Crypter à l’aide d’une phrase de passe Créer un certificat Crypter à l’aide d’une clé Crypter à l’aide d’un certificat Signer et authentifier un objet Crypter avec un HSM TDE ou le cryptage du stockage Conclusion sur le chiffrement Métadonnées du cryptage Masquer le code d’un module SQL Utiliser une clé de hachage 554 554 555 555 556 556 558 560 560 561 561 562 563 563 564 566 566 567 568 568 569 571 572 576 576 581 582 584 584 585 585 CHAPITRE 12 Sauvegarde et restauration Qu’est-ce qu’une sauvegarde ? Remarques préliminaires Différents types de sauvegardes Algorithme de la sauvegarde Bases de données multiples et sauvegarde Journaux de transactions Fichiers du journal des transactions Journalisation des données Purge du journal des transactions Utilité du journal des transactions Mode de sauvegarde Sauvegarde à froid par copie de fichiers Sauvegarde à froid par extraction des données et métadonnées (dump) 587 587 588 588 588 589 590 590 591 591 593 593 593 595 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Inconvénient des sauvegardes à froid Sauvegarde complète de la base à chaud Sauvegarde différentielle Sauvegarde transactionnelle de la base à chaud Sauvegarde partielle Techniques avancées de sauvegarde Cryptage de la sauvegarde Sauvegarde vers un dispositif à bande Sauvegarde vers une URL Azure Empilement de sauvegardes dans un même fichier Répartition de la sauvegarde sur plusieurs fichiers Sauvegarde à destination multiple Options de performance Options de métadonnées Options de gestion des erreurs Option d’affichage de progression Options spécifiques aux sauvegardes du journal des transactions Sauvegarde hors plan (« fantôme ») Dispositifs de sauvegarde Vérification d’une sauvegarde Métadonnées des sauvegardes Stratégie de sauvegarde Questions sur la restauration Le plan de sauvegarde La restauration Cas pratique de restauration Commande RESTORE Différents scénarios de restauration Avant de restaurer Emplacement des fichiers Comment restaurer ? Techniques de restauration particulière pour les VLDB Restauration fragmentaire avec remontée partielle des données Restauration par rapiéçage Problèmes complémentaires à la restauration Comptes de connexion Messages d’erreur personnalisés Travaux de l’Agent SQL Sauvegarde et restaurations via l’interface graphique Sauvegarde via Management Studio Restaurations via Management Studio 596 596 597 597 597 600 600 601 601 602 603 604 604 605 606 606 606 607 607 608 615 616 616 617 617 618 619 621 622 623 624 632 632 632 633 634 634 634 635 635 638 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 PARTIE IV Maintien des performances 641 CHAPITRE 13 Maintenir les performances Fonctionnement de SQL Server Le cache de SQL Server Écritures et lectures physiques, système de stockage SQL Operating System (SOS) Réglages au niveau du système d’exploitation Serveur dédié Machine virtuelle Version et édition de Windows Service Pack Turbo Boost Hyper-threading Mode de gestion de l’alimentation Instant File Initialization Lock Page in Memory Pagination de la mémoire virtuelle Windows Updates Arrêt du serveur Plusieurs instances sur un même serveur Réglages au niveau serveur RAM allouée Extension de la zone de mémoire tampon (Buffer Pool Extension) CPU utilisés et parallélisme Autres réglages serveur Collation du serveur Réglages au niveau base Une seule base ou plusieurs ? Collation de la base Gestion des statistiques Fermeture et réduction automatique Lecture seule Optimisation de corrélation des dates Persistance retardée Les outils de gestion de la performance Les Data Management Views Les rapports Le profiler SQL Les événements étendus Le moniteur d’activité L’analyseur de performances L’Assistant paramétrage du moteur de base de données La collecte continue des données de performances 643 644 645 647 647 648 648 649 650 651 652 652 652 652 654 654 655 655 656 656 656 658 660 666 667 667 667 668 668 670 671 672 672 673 674 679 680 681 682 684 687 689 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Le diagnostic de placement "In Memory" Le gouverneur de ressources Encore plus d’outils… 697 699 700 CHAPITRE 14 Optimisation et statistiques Comment fonctionne l’optimiseur ? Optimisation sémantique Optimisation statistique Lire un plan de requête Plan de requête graphique Icônes représentant les opérations du plan d’exécution Principales opérations Métadonnées des plans de requêtes Forcer l’optimiseur Les tags de plan de requête Les repères de plans 705 705 706 711 721 722 724 729 730 731 731 740 CHAPITRE 15 Les index Principe et définition Pointeur de renvoi d’index Index clustered Index non clustered Choix de la clé de l’index clustered Ce qu’il ne faut pas faire Prédicat « cherchable » et utilité de l’index Efficacité d’un index Gain d’utilisation Sélectivité Métriques d’exécution (SET STATISTICS …) Limites d’utilisation des index Structure logique d’un index, ordre CREATE INDEX Index filtrés (clause WHERE) Index sur expression calculée Index couvrants (clause INCLUDE) Options physiques de création d’un index Que faut-il indexer ? Index des clés étrangères Colonnes faisant l’objet de recherches systématiques Index inclus et index redondants Estimation des index à créer Estimation des index à supprimer Combien d’index ? Augmentation de la volumétrie 743 744 746 746 746 747 748 750 751 751 752 753 755 755 759 762 764 767 769 769 770 771 772 775 776 777 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 777 778 778 780 787 792 792 793 793 794 794 794 796 801 Allongement du temps des mises à jour Diminution du temps des mises à jour et de la contention Potentiel d’indexation pour une table Tables obèses vs normalisation L’index columnstore Index « In Memory » Index non clustered avec hachage Index non clustered pour intervalle Détermination du nombre d’intervalles (buckets) Statistiques Indexation des objets de type LOB Index XML Index spatial Indexation textuelle CHAPITRE 16 Transactions et verrouillage 807 Verrous et blocages Granularité de l’information La notion de verrou Transaction Acidité des transactions Anomalies transactionnelles Stratégies de verrouillage Verrouillage pessimiste Verrouillage optimiste Isolation et évitement des anomalies transactionnelles Caractéristiques des verrous Granularité Mode État Cinématique de verrouillage Escalade de verrous Compatibilité des verrous Les attentes de verrou Le problème du verrou mortel Pose manuelle de verrous 808 808 809 809 810 810 811 811 812 . 818 819 820 820 821 821 826 829 829 830 840 PARTIE V Administration du serveur 843 La partie V, les annexes et l’index sont disponibles en ligne, sur la fiche de l’ouvrage sur www.editions-eyrolles.com. Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 CHAPITRE 17 Maintenance courante 845 Vérification des données de la base 845 Vérification physique 846 Vérification logique de la base 854 Réparations 855 Fréquence de vérification des bases de données 859 Maintenance des index 860 Fragmentation des index 860 Défragmentation 866 Facteur de remplissage 873 Fréquence d’exécution de la maintenance des index 873 Recalcul des statistiques 874 Commande UPDATE STATISTICS et ses dérivées . 874 Décider si le recalcul est nécessaire avec STATS_DATE() 876 Optimiser le recalcul en estimant le taux de mise à jour 877 Recalcul automatique et taux de mise à jour 879 Fréquence de recalcul des statistiques 880 Échantillon du calcul dans le cas de la mise à jour automatique des statistiques 880 Politiques d’administration Imposer une règle de nommage simple Interdire certains paramétrages de compte de connexion Conditions sur les fichiers Condition complexe avec requête SQL Stratégies vérifiées à la volée Utiliser des stratégies préétablies Les déclencheurs DDL Déclencheurs de niveau base Déclencheurs de niveau serveur Déclencheur LOGON Plans de maintenance 881 882 886 888 888 891 896 898 899 908 910 912 CHAPITRE 18 L’Agent SQL 921 Présentation de l’Agent SQL Lancement du service Agent SQL Composants de l’Agent SQL Lancement de traitements au démarrage Lancement d’une procédure au démarrage de l’instance SQL Server Lancement d’une procédure au démarrage de l’Agent SQL Server Paramétrage de l’Agent SQL Paramétrage de l’envoi d’e-mails Configuration de la messagerie de base de données (database mail) 921 . 922 923 924 925 . 927 927 928 929 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 Test de la messagerie de base de données Modification des profils et des comptes SMTP Suppression d’un profil Configuration de database mail à l’aide d’un script Envoi d’un e-mail Composantes de l’Agent SQL Opérateurs de l’Agent SQL Travaux de l’Agent SQL Catégories de travaux Création d’un travail Autres types de travaux et plans de maintenance La planification Lancer un travail dès que les processeurs sont peu actifs Lancer un travail une seule fois Lancer un travail périodiquement Lancer un travail au démarrage de l’Agent Lancer un travail sans planification Notification Scripter un travail de l’Agent SQL Alertes Alerte d’événement SQL Alerte de condition de performance SQL Server Alerte d’événement WMI Sécurité de l’Agent SQL Privilèges pour envoyer des e-mails Privilèges pour utiliser l’Agent SQL et manipuler les travaux Privilèges pour créer les opérateurs, les alertes et les proxies Utilisation d’un proxy pour étendre les droits de l’Agent SQL Gérer les travaux et l’Agent SQL Visualiser les travaux en cours Lire l’historique des travaux Connaître la santé de l’Agent SQL 933 934 935 935 935 936 937 941 941 942 951 954 954 955 . 955 956 956 956 957 959 959 964 966 966 966 966 968 968 969 969 970 970 CHAPITRE 19 Audit de performance 973 SQL Server Profiler et SQL Trace : les générateurs de profils 973 Architecture de SQL Trace et SQL Server Profiler 974 Utilisation de SQL Server Profiler . 974 Identifier les requêtes peu performantes 977 Capture des verrous mortels (deadlocks) et trace côté serveur 982 Les modèles de trace 989 Quelques bonnes pratiques 992 Corréler un fichier de trace SQL Trace avec un fichier de journal du moniteur de performances 993 Les événements étendus 998 Architecture logique des événements étendus 999 Gestion des sessions d’événements étendus avec les vues et fonctions Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 de gestion dynamique Les options de session Quelques exemples guidés L’interface graphique permettant la gestion de sessions XE Permissions requises pour la gestion de sessions XE Le moniteur d’activité Démarrage du moniteur d’activité L’onglet Processus : les tâches utilisateur actives L’onglet Resource Waits L’onglet Data File I/O L’onglet Recent Expensive Queries Permissions requises pour l’utilisation du moniteur d’activité Quelques bonnes pratiques et astuces 1004 1008 1011 1023 1030 1030 1031 1031 1033 1033 1033 1034 1034 CHAPITRE 20 Audit des données et du paramétrage 1037 Les déclencheurs LDD Caractéristiques des déclencheurs LDD Création pas à pas d’un déclencheur LDD sur une base de données Création pas à pas d’un déclencheur LDD sur une instance Considération pour la mise en production de déclencheurs LDD Les notifications d’événements Création pas à pas d’une notification d’événement Création d’une procédure stockée traitant la queue de notifications Auditer les changements de mots de passe L’audit de sécurité Structure logique des audits de sécurité Octroi des privilèges de stratégie de sécurité Créer une spécification d’audit de serveur Créer une spécification d’audit de base de données Comportement des audit avec les transactions Permissions requises pour la gestion des audits de sécurité Vues et fonctions de gestion des audits de sécurité Exemple d’utilisation L’audit des changements de données Le suivi des modifications Le suivi des changements de données Comparaison du suivi des modifications et du suivi des changements de données Gestion des bases de données par les stratégies Définir des stratégies Évaluer une stratégie Importer et exporter des stratégies 1037 . 1038 . 1038 1040 1042 1042 1043 . 1045 1048 1050 1050 1055 1056 1058 1061 1061 1061 1062 1067 1068 1073 1083 1084 1084 1088 1097 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014 CHAPITRE 21 SQL Server et haute disponibilité 1099 Haute disponibilité RPO, RTO et PRA Les cinq neuf (99,999) Options disponibles avec SQL Server Composants hardware et redondance Virtualisation : une nouvelle voie à la haute disponibilité Solutions natives SQL Server Choisir une solution adaptée à ses besoins 1099 1100 1100 . 1101 1101 1103 1103 1160 ANNEXE A Références complémentaires 1163 Sites spécialisés sur SQL Server En anglais En français Blogs sur SQL Server En anglais En français Sites généralistes avec une rubrique dédiée à SQL Server En anglais En français Sites généralistes sur les bases de données En anglais Sources Microsoft Éditeurs Livres Presse en ligne Logiciels 1163 1163 1164 1164 1164 1164 . 1165 1165 1165 1165 1165 1165 1166 1166 1166 1166 ANNEXE B Glossaire 1167 Index 1187 Livre SQL Server 2014 - F. Brouard, C. Soutou, N. Souquet, D. Barbarin - Eyrolles 2014