Mise en œuvre et administration



Documents pareils
Windows Server 2008 R2

Procédure d installation :

Tutorial sur SQL Server 2000

SQL Server Installation Center et SQL Server Management Studio

Cours de SQL SERVER 2005 SQL SERVER 2005

Préconisations Techniques & Installation de Gestimum ERP

2011 Hakim Benameurlaine 1

Guide SQL Server 2008 pour HYSAS

Installation SQL Server 2005 Express sur le serveur

Sauvegarde d'une base de données SQL Server Express 2005

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Encryptions, compression et partitionnement des données

1. Aménagements technologiques 2. Installation de Microsoft SQL Server 2012

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

COMMENT INSTALLER LE SERVEUR QIPAIE

FileMaker Server 14. Guide de démarrage

Installation et configuration de SQL Server 2008 R2 (v3)

Instructions d installation de MS SQL Server pour Sage 50 Classement et Gestion commerciale. Sage Suisse SA Avenue Mon-Repos Lausanne

SQL Data Export for PS/PSS

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

Création et Gestion des tables

Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012

STATISTICA Version 12 : Instructions d'installation

Procédure d'installation complète de Click&Decide sur un serveur

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

avast! EP: Installer avast! Small Office Administration

Modélisation et Gestion des bases de données avec mysql workbench

Procédure d'installation de SQL Server Express 2005

VERITAS Backup Exec TM 10.0 for Windows Servers

1. Aménagements technologiques 2. Installation de Microsoft SQL Server Microsoft SQL Server 2008 Service Pack 3

Installation de Premium-RH

SQL Server administration SERVEUR DE BASES DE DONNEES OLIVIER D.

Suite logicielle ZOOM version 7.1 Guide d installation 94ZM-ZMJ1F-712

Description de SQL SERVER. historique

vsphere 5 TP2 La virtualisation avec VMware CNFETP F. GANGNEUX technologie GANGNEUX F. 17/12/2012

Guide de migration BiBOARD V10 -> v11

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Créer et partager des fichiers

UltraBackup NetStation 4. Guide de démarrage rapide

Guide d installation BiBOARD

Manuel utilisateur (Manuel_utilisateur_version pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version

Standard. Manuel d installation

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

Data Tier Application avec SQL Server 2008 R2

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Logiciel HLA Fusion Version 3.X.X

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Procédure d'installation de SQL Server Express 2008

Installation et configuration du logiciel BauBit

DOCUMENT D ACCOMPAGNEMENT POUR L INSTALLATION DU LOGICIEL ESTIMACTION

Tutorial Terminal Server sous

TecLocal 4.0. Nouveautés de la version 4.0 (notes de mise à jour)

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

GPI Gestion pédagogique intégrée

1/ Présentation de SQL Server :

Sauvegarde des bases SQL Express

Présentation du module Base de données spatio-temporelles

MS SQL Express 2005 Sauvegarde des données

Préparation à l installation d Active Directory

Manuel de l utilisateur

Corrigé de l'atelier pratique du module 6 : Transfert de données

FileMaker Server 14. Aide FileMaker Server

Manuel d Administration

Configurer la supervision pour une base MS SQL Server Viadéis Services

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Installation de GFI FAXmaker

MANUEL D INSTALLATION

Installation de GFI Network Server Monitor

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Windows Internet Name Service (WINS)

Eléments techniques tome I Installation Serveur Windows 2012

ANTIDOTE 8 INSTALLATION RÉSEAU WINDOWS

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Connexion à SQL server

WINDOWS SHAREPOINT SERVICES 2007

Sage 100 pour SQLServer. Version Manuel de référence

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Installation de SCCM 2012 (v2)

Thibault Denizet. Introduction à SSIS

COSWIN MOBILE SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION

Tsoft et Groupe Eyrolles, 2005, ISBN :

IBM SPSS Modeler Text Analytics Server for Windows. Instructions d installation

Tropimed Guide d'installation

SQL SERVER PRECONISATIONS A L INSTALLATION.2 VERIFICATION INSTALLATION...2 CONNEXION RESEAU.4 EMPLACEMENTS DOSSIERS & SAUVEGARDES...

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Formateur : Caroline CHAILLET Cours 4740A - Implémentation d'une base de données Microsoft SQL Server /134

MANUEL D'INSTALLATION SUR WINDOWS 2003/2008 SERVER

Installation FollowMe Q server

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

esms Desktop Guide de l utilisateur

Installation de SharePoint Foundation 2013 sur Windows 2012

INSTALLATION ET PRISE EN MAIN

Guide de configuration. Logiciel de courriel

Recommandations techniques

Procédure d installation

Fiche Technique. MAJ le30/03/2011

Transcription:

Mise en œuvre et administration 1

2 Plan du cours Présentation Installation et configuration Outils de gestion Objets de base de données Gestion des fichiers Sécurité Backups et restauration

3 Plan du cours Automatisation des tâches Monitoring Transfert de données Introduction à la réplication

4 SQL Server Présentation

5 Plan du chapitre Introduction Versions de SQL Server Licences Systèmes d exploitation associés

6 Introduction Système de gestion de base de donnée OLTP et OLAP Développé par Microsoft Première version : 1989 (Sybase SQL Server) Dernière version : 2008 (v10)

7 Versions SQL server existe en plusieurs versions Les fonctionnalités, le prix et les domaines d utilisation varient d une version à l autre

8 Versions SQL Server Express Gratuite, disponible sur le site de Microsoft Peut être utilisée en environnement de production Limitations : Un seul CPU supporté Maximum 1 Go de RAM utilisable Maximum 4 Go de données par Base de données (sans compter le log) Fonctionnalités avancées non disponibles (Profiler, job scheduler, Import/export )

9 Versions SQL Server Mobile Version allégée pour les périphériques mobiles (PDA, Smartphones, systèmes embarqués ) Très limitée

10 Versions SQL Server Workgroup Limitations : Deux CPU supportés maximum Maximum 3 Go de RAM utilisable Plusieurs fonctionnalités avancées non disponibles Partitionnement Vues indexées

11 Versions SQL Server Standard Existe en version 64 bits Limitations : Quatre CPU supportés maximum Plusieurs fonctionnalités avancées non disponibles Partitionnement Vues indexées

12 Versions SQL Server Entreprise Existe en version 64 bits Toutes les fonctionnalités sont disponibles Ne peut être installée que sur un OS serveur (sauf la version d évaluation) SQL Server Développeur Identique à la version entreprise Ne peut pas être utilisée en environnement de production

13 Licences En plus de l achat du logiciel, des licences doivent être achetées Il existe plusieurs possibilités Licence par processeur Licence par utilisateur Licence par poste client A vous de choisir la formule la plus économique

14 Systèmes d exploitation Les version de production tournent uniquement sur un Os serveur Le support de vista et windows serveur 2008 a commencé avec le SP2 de SQL Server 2005

15 SQL Server Installation et configuration

16 Plan du chapitre Composants requis Notion d instance Installation d une instance Suppression d une instance Installation non assistée Labo

17 Composants requis Pour s installer complètement, SQL Server a besoin des composants suivants : Internet Explorer 6.0 SP1 ou plus (requis pour Microsoft Management Console) Internet Information Services (IIS) 5.0 ou plus (requis pour Reporting Services) TCP/IP networking.net Framework 2.0 (l installera si nécessaire) Windows Installer 3.1 (l installera si nécessaire)

18 Notion d instance Il est possible d installer plusieurs serveurs SQL Server sur une même machine On parlera alors d «instances» Les instances sont complètements indépendantes au niveau mémoire, processus et stockage de données

19 Notion d instance La première instance SQL Server installée est l instance par défaut Les autres instances sont des «instances nommées» Une instance est identifiée de la façon suivante : NomDeLaMachine\NomDeL instance

20 Notion d instance L instance par défaut est nommée MSSQLSERVER Si l on ne spécifie pas de nom d instance, c est elle qui sera utilisée La version Express d SQL Server installe une instance nommée SQLEXPRESS

21 Installation d une instance Mise à jour des composants Vérification de la config système Enregistrement Installation des composants Nom de l instance Gestion des comptes services Mode d authentification Règles de tri

Mise à jour des composants 22

23 Mise à jour des composants Vérifie les composants suivants et les installe si nécessaire: Windows installer 3.1.Net Framework 2.0 SQL Server Setup support files

Vérification de la config système 24

25 Vérification de la config système vérifications du système Suggère des solutions en cas d incompatibilités Génère un rapport

Enregistrement 26

Installation des composants 27

28 Installation des composants SQL Server se présente sous la forme de services Windows Selon l utilisation que vous faites d SQL Server, il est inutile d installer certains services

29 Installation des composants Liste des composants SQL Server Database Services Composant et service de base Moteur de base de données Réplication, Index FullText etc. Analysis Services Serveur et outils pour supporter OLAP et le data mining Reporting Services générer et distribuer des rapports

30 Installation des composants Liste des composants Intégration Services Outils d import et export de données ETL (Extract Transform Load) Workstation Components, Book online and development tools Outils et documentation Bases de données d exemple

31 Installation des composants «advanced» examiner le détail des composants installés affiner votre choix Vérifier l espace disque requis Certains composants ne peuvent être installés qu en passant par cette section

Nom de l instance 32

33 Nom de l instance Choisissez entre créer l instance par défaut ou ajouter une instance nommée Vérifier les instances déjà installées

Gestion des comptes services 34

35 Gestion des comptes services Un service utilise un compte Windows Compte par défaut : compte système local Pour une gestion plus pointue de la sécurité, utilisez un compte personnalisé

36 Gestion des comptes services Services SQL Server SQL Server Moteur de base de donnée Les autres services en dépendent SQL Server Agent Exécute les tâches automatisées (jobs) Analysis Services analyse OLAP data mining

37 Gestion des comptes services Services SQL Server Reporting Services Moteur de reporting SQL Server Browser Fournit les informations de connexion aux clients Démarrage de services Choisissez quels services démarrent à la fin de l installation (et de manière automatique ensuite)

38 Gestion des comptes services Types de comptes Compte utilisateur de domaine A utiliser si votre service doit accéder à des ressources sur une autre machine du domaine Compte service local Compte limité à la machine locale Compte service réseau Microsoft recommande de ne pas utiliser ce type de compte

39 Gestion des comptes services Comptes séparés Chaque service devrait tourner avec uniquement les droits dont il a besoin Des comptes séparés vous permettront de ne donner des droits que pour les services en ayant besoin Cas où la séparation des droits est nécessaire : Il est recommandé pour le service Sql server d utiliser un compte domaine à droits minimaux Le compte du SQL Server Agent peut avoir besoin de droits administrateur si des jobs CmdExec ou ActiveScript sont créés par un utilisateur n ayant pas ces droits

Mode d authentification 40

41 Mode d authentification Activer ou non l authentification mixte Dans le cas où l authentification SQL Server est activée, spécifier le mot de passe du compte SA Ce point sera expliqué en détail dans le chapitre de sécurité

42 Mode d authentification Activer ou non l authentification mixte Dans le cas où l authentification SQL Server est activée, spécifier le mot de passe du compte SA Ce point sera expliqué en détail dans le chapitre de sécurité

Règles de tri 43

44 Règles de tri Collation Les règles de tris ou «collation» déterminent les critères dont il faut tenir compte lors d une comparaison (et donc dans un tri) Les règles peuvent être modifiées à plusieurs niveaux: Instance Base de donnée Colonne Expression

45 Règles de tri Les collation peuvent être différentes pour chaque service Collation designator L alphabet utilisé Options Binary : mode le plus simple, le code binaire des caractères sert au tri Case-sensitive : sensible aux majuscules Accent-sensitive : sensible aux accents Binary code point : Tri code point pour données unicodes, tri binaires pour les autres Kana-sensitive : fait la différence entre hiragana et katakana Width-sensitive : fait la différence entre le codage sur un ou deux octets

Prêt? Partez! 46

47 Prêt? Partez! Vous avez enfin tout configuré, l installation peut commencer Récapitulatif des composants à installer Avertissements en cas de problèmes éventuels Vous devez relancer l installation pour chaque nouvelle instance

Désinstallation d une instance 48

49 Désinstallation d une instance Une instance se désinstalle en passant par: Panneau de contrôle Ajout suppression de programme Microsoft SQL Server Désinstaller Choisir ensuite l instance

50 Installation non assistée Il est possible de scripter l installation d SQL server Utilisation d un script ini contenant tous les règlages Plus d intervention utilisateur requise Installation à distance possible Un script d exemple à compléter est disponible sur le disque d installation template.ini

51 Installation non assistée Lancer le setup en ligne de commande setup.exe {/qn ou /qb} /settings <path to.ini file> Option : /qn : installation silencieuse sans boite de dialogue /qb : installation silencieuse avec juste une barre de progression

52 Labo Installez votre instance par défaut Tous les composants Bases de données de tests inclues Comptes system local Authentification windows Sensible uniquement aux accents Installez une instance nommée «temporaire» Supprimez-là

53 SQL Server Outils de gestion

54 Outils de gestion Surface Area Configuration Tool SQL Server Configuration Tool SQL Server Management Studio Sqlcmd Labo

55 Surface Area Configuration Tool Minimiser la surface Un service ou une option inutilisée mais active est à éviter Gaspillage de ressources Faille de sécurité potentielle inutile Surface area configuration tool permet de gérer Les services sql server Les «features» ou fonctionnalités, spéciales d SQL Server

Surface Area Configuration Tool 56

57 Surface Area Configuration Tool Services et connexions Gérer les différents services et leur mode de démarrage Gérer les types de connexions utilisées Fonctionnalités Activer / désactiver des fonctionnalités à risque de SQL server Ces rêglages se font par instances

58 Surface Area Configuration Tool Fonctionnalités Requêtes Ad Hoc à distance Autorise les commandes OPENROWSET et OPENDATASOURCE Intégration CLR Mapping de functions utilisateurs à des assemblies.net

59 Surface Area Configuration Tool Fonctionnalités DAC Connexion Administrateur Dédiée. Connexion de secours en ligne de commande Database mail Envois de mail à partir de commandes T-SQL Native XML Web service Permet de créer des web services directement dans SQL Server via un HTTP Endpoint

60 Surface Area Configuration Tool Fonctionnalités OLE Automation Ancien mode permettant la communication entre processus basée sur COM Remplacé par l intégration CLR Dangereux, aucune garantie sur le code vraiment executé Service Broker Technologie de messagerie asynchrone de SQL Server

61 Surface Area Configuration Tool Fonctionnalités SQL Mail Ancienne méthode d envoi de mail, remplacé par Database mail Nécessite Outlook Web Assistant Remplacé par reporting service, ensemble de procedure permettant la création de pages HTML Xp_cmdshell Permet d executer des commandes system à partir de TSQL

SQL Server Configuration Tool 62

63 SQL Server Configuration Tool Permet de gérer les services des différentes instances Visualiser leur état Modifier leur propriétés Ports reseau Protocoles

Management studio 64

65 Management studio Client permettant de se connecter à une instance SQL Server Exploration graphique du serveur Administration (TSQL et Interfaces graphiques) Scripts T-SQL, MDX, DMX et XMLA Fait partie de la suite Visual Studio

66 Management studio Management studio est l outil le plus utilisé des développeurs et des Administrateurs Il est très pratique mais demande un certain temps de prise en main

67 SQLCMD SQLCMD est un outil en ligne de commande permettant de se connecter à une instant SQL Server et d executer des instructions TSQL C est management studio sans interface graphique

SQLCMD 68

69 SQLCMD Pour obtenir la liste des paramètres : SQLCMD -? Ne pas oublier de spécifier la DB Utiliser l instruction GO pour executer une requête SQLCMD Permet aussi d executer des scripts et de récupérer le résultat dans un fichier

70 SQLCMD Exemple d utilisation de script avec paramètre Script.sql : SELECT $(col) FROM $(tab) GO Commande : Sqlcmd S localhost i script.sql o output.txt v col="name" tab="sys.databases" Le résultat est disponible dans output.txt

71 SQLCMD Dedicated Administrator connection Connexion d urgence pour quand le serveur est tombé mais que le service SQL Serveur tourne toujours Une seule DAC peut être activé Ajouter le paramètre A pour l activer (ne pas oublier d activer la fonctionnalité dans Surface Area Configuration Tool)

72 Labo Installez une instance nommée SQLADMIN Uniquement le moteur de base de donnée Insensible aux accents et à la casse SQL Server Agent démarré automatiquement Activez ensuite les options suivantes CLR integration et Database Mail Arrêtez le service SQL Server Agent

73 Labo Créez un script permettant de lister les bases de données d un serveur Utilisez la vue sys.databases Lancez ce script par ligne de commande et récupérez le résultat dans un fichier texte

74 SQL Server Objets de base de données

75 Plan du chapitre Introduction Query Designer Schémas et résolution de noms Tables et vues Clefs primaires et étrangères Indexes et clefs d unicité Diagrammes

Introduction 76 Ce chapitre présente les interfaces fournies par management studio pour la création d objets dans votre base de donnée

77 Query Designer Pour exécuter une requête via management studio Click sur «new query» dans la barre d outils Un onglet s ouvre, tapez votre requête et appuyez sur F5 ou sur le point d exclamation rouge de la barre d outils Le résultat s affiche Assurez vous d être dans la bonne DB celle par défaut est master Pour la modifier, utilisez la dropdown de la barre d outils

78 Query Designer Pour créer une requête avec le designer click droit sur le fond de l onglet de requête «design query in editor» Choisissez les tables Supprimez les relations inutiles (jointures) Cochez les colonnes à afficher Spécifiez les options voulues Et voilà!

Query Designer 79

80 Schémas et résolution de noms Un schéma est un moyen de regrouper différents objets DB Avantages : Regroupement logique d objets Facilité de gestion au niveau des droits Il est possible d avoir deux objets ayant le même nom dans des schémas différents

81 Schémas et résolution de noms Un schéma est comparable à un namespace en POO Exemple : dans la base de donnée d une société, les tables relatives aux ressource humaines peuvent être placées dans un schéma RH alors que celles des ventes dans un schéma ventes

82 Schémas et résolution de noms Lorsque l on veut utiliser un objet placé dans un schéma, il faut normalement utiliser le nom complet NomDuSchema.NomObjet Si le nom du schéma est omis, on est dans un cas de «résolution de nom» Chaque utilisateur possède un schéma par défaut qui servira à cet effet

Schémas et résolution de noms 83 Résolution de nom

84 Schémas et résolution de noms La création de schéma se fait soit par une instruction TSQL CREATE SCHEMA [ventes] Soit par management studio (et management studio ne fait que générer et exécuter pour vous du TSQL)

Schémas et résolution de noms 85

86 Schémas et résolution de noms Dans la version 2000 de SQL server, il n y avait pas de différence entre le propriétaire d un objet et son schéma La différence est apparue dans la version 2005 Il existe des schéma déjà inclus dans les nouvelles DB Le schéma DBO est celui par défaut

87 Tables et vues La création de table peut se faire très facilement avec management studio Vous ajoutez les colonnes une à une Spécifiez leur type Spécifiez si elles acceptent la valeur null Réglez quelques propriété de colonnes si nécessaire Modifier les propriétés de table comme son nom et son schéma Sauvegarder et c est bon!

Tables et vues 88

89 Tables et vues Les vues dans management studio peuvent être crées de la même façon que les tables Click droit sur le dossier views Click sur New view Le query designer se lance Le résultat sera sauvé comme vue

90 Clefs primaires et étrangères La création de clefs primaires et étrangères se fait dans l interface de création de table Pour modifier une table existante, click droit sur la table puis click sur «Design»

91 Clefs primaires et étrangères Ajout de clef primaire Sélectionner la ou les colonnes impliquées dans la clef (ctrl + click pour en sélectionner plusieurs) Click droit puis «set primary key» N oubliez pas de sauvegarder votre onglet pour que les modifications soient sauvegardées

Clefs primaires et étrangères 92 Ajout de clef primaire

93 Clefs primaires et étrangères Ajout de clef étrangères Dans la barre d outil, click sur le bouton relationship La fenêtre de gestion des clefs étrangères apparait Cliquez sur Add et complétez les informations nécessaires N oubliez pas de sauvegarder l onglet d édition de la table pour enregistrer les modifications

Clefs primaires et étrangères 94 Ajout de clef étrangères

Clefs primaires et étrangères 95 Ajout de clef étrangères

Indexes et Clefs d unicité 96 La création d index non clusterisés (l index de la PK est généralement celui clusterisé) se fait en sélectionnant «manage indexes and keys» dans la barre d outils

Indexes et Clefs d unicité 97

98 Indexes et Clefs d unicité Un index est créé automatiquement pour la clef primaire Cliquez sur Add pour créer un index supplémentaire Choisissez les colonnes

99 Diagrammes La création de diagramme est très simple dans SQL Server Cliquez sur Database Diagrams Si c est la première fois, l ecran suivant apparait Répondez «Yes» cela créera une table système [sysdiagrams] qui contiendra les infos de votre schéma

Diagrammes Faites ensuite un click droit, «new database diagram» Choisissez les tables à ajouter au diagramme Les relations apparaissent automatiquement Les modifications effectuées sur le diagramme son répercutées sur les tables à la sauvegarde du diagramme 10 0

Diagrammes 10 1

Labo Créez une base de donnée avec l instruction TSQL suivante 10 2 create database Taches Créez les tables suivantes Employes Id int PK Nom varchar(200) Prenom Varchar (100) NULL IdFonction int DateEngagement - datetime

Labo Créez les tables suivantes Fonctions Id int PK Nom varchar(150) Departements Id int PK Nom varchar(300) Adresse varchar(500) Une table de jointure entre Employee et Departement 10 3

Labo Créez une vue DetailEmployé Nom Prenom Fonction Anciennete Indices : getdate() et datediff() Ajoutez un index sur le Nom des employés Créez les clefs étrangères entre les différentes tables 10 4

Labo Créez un diagramme contenant toutes les tables de la DB Créez une clef d unicité sur le nom de département 10 5

10 6 SQL Server Gestion des fichiers

Plan du chapitre 10 7 Types de fichiers Log des transactions Emplacement des fichiers Groupes de fichiers Partitionnement Planification Bases de données système

Types de fichiers 10 8 Une base de donnée est constituée d au moins deux types de fichiers Un fichier MDF (Master Data File) Contient les tables et vues système Contient les objets tels que StrorProcs et fonctions Peut contenir des données de tables Fichier unique Un fichier LDF (Log Data File) Enregistre les différentes transaction réalisées sur la base de données

Types de fichiers 10 9 Il est possible d ajouter un troisième type de fichier NDF (Next Data File) contient des données de tables utilisateurs Les extension MDF, NDF et LDF ne sont pas obligatoire mais vivement conseillées pour plus de clareté

Types de fichiers 11 0 Fichier de données:.mdf ou.ndf Extensions : 8 pages contigües de 8KB Fichier de Logs:.ldf Pages de 8KB

Log de transactions Une transaction est un ensemble d une ou plusieurs instructions T-SQL traité comme une seule instruction 11 1

Log de transactions 11 2 Il existe deux types de transaction Explicite au moyen des commandes BEGIN TRANSACTION et COMMIT Implicites si l option AUTOCOMMIT est activée sur la DB (elle l est par défaut) pour les opérations suivantes : ALTER TABLE, INSERT, UPDATE, DELETE, CREATE, OPEN, REVOKE, DROP, SELECT, FETCH, TRUNCATE TABLE, GRANT

Log de transactions 11 3 Toutes les transactions sont enregistrées dans le log Le log, ou fichier journal, contient donc la liste des différentes modifications subies par la Base de donnée au fil du temps

Log de transactions 11 4 SQL Server travaille principalement en cache pour plus de rapidité Les modifications de données en cache sont périodiquement sauvées sur disque Cette opération est nommée «Checkpoint»

Log de transactions 11 5 Cycle de vie d une modification : 1. L application envoie les modifications de données 3. Les modification sont enregistrées dans le journal 4. Le Checkpoint écrit les transactions dans la base de données. 2. Les pages de données sont localisées ou lues dans le cache et modifiées

Log de transactions 11 6 Le log est un outil crucial en cas de panne, lui seul permet de savoir quelles opérations ont été réalisées entre le dernier checkpoint et la panne Cette section cruciale du log est nommée «queue du log»

Emplacement des fichiers 11 7 A la création d une base de donnée, vous pouvez placer les fichier où vous le souhaitez Par défaut ce sera : «C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA» Dans un environnement de production, il sera préférable de placer les fichiers sur des disques durs séparés pour augmenter les performances

Emplacement des fichiers 11 8 Il est conseillé d avoir un fichier par disque pour un maximum de performance Le fichier de log sera plus efficace sur un disque isolé

Emplacement des fichiers 11 9 La base TempDB peut être idéalement placée sur un disque rapide à part pour un maximum de performance Le déplacement de cette DB peut se faire de la manière suivante sur la DB master : ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = F:\tempdb2005.mdf') GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = F:\tempdb2005.ldf') GO Supprimez ou déplacez les anciens fichiers Redémarrez ensuite le service

Groupes de fichiers 12 0 Un groupe de fichier est un moyen de regrouper plusieurs fichiers de donnée sous un même nom Il est ensuite possible de placer une table dans un groupe de fichier spécifique Il n est pas possible de placer directement une table dans un fichier

Groupes de fichiers 12 1 Cas concret :

Groupes de fichiers 12 2 Si des données sont rarement utilisées, il peut être intéressant de les placer sur un disque à part Les données souvent utilisées seront sur un disque plus petit mais plus rapide

Groupes de fichiers 12 3 Il existe toujours au moins un groupe de fichier, le PRIMARY Il ne peut pas être modifié Si l on ne spécifie pas de groupe de fichier lors de la création d une table, elle est placée dans le groupe par défaut (option de la base de données)

Groupes de fichiers 12 4 Les indexes sont également stockés dans des groupes de fichiers, pas forcement le même que celui de leur table Les données des colonnes étant stockées par pointeurs (TEXT, IMAGE etc.) peuvent être stockées dans un groupe de fichiers à part

Groupes de fichiers 12 5 Un groupe de fichiers autre que le PRIMARY peut être placé en lecture seule Plus moyen de modifier les données Possibilité d activer la compression NTFS

Partitionnement 12 6 Il est également possible de répartir une table entre plusieurs groupes de fichiers Augmentation des performances Disponible uniquement dans la version entreprise On utilise pour cela une fonction de partition et un schéma de partition

Partitionnement 12 7 Le partitionnement se base sur une colonne il est par exemple possible de placer les commandes d une année donnée sur un disque La répartition des données n est donc pas forcément uniforme

Partitionnement 12 8 Créer une fonction de partitionnement create partition function FPProduits(int) as range left for values (10,20) Le paramètre d entrée est le type de la colonne qui sera utilisée On définit ensuite les valeurs pivot 10 20

Partitionnement 12 9 Un schéma de partition est associé à une fonction de partition create partition scheme SchemaProduits as partition FPProduits to (groupe1,groupe2,groupe3) Si la fonction possède N valeurs pivot, il faut au moins N+1 partitions S il y en a plus elle seront utilisées quand on modifiera la fonction de partition, elle sont marquées comme «NEXT»

Planification 13 0 La quantité de données dans une DB évolue au fil du temps généralement elle s accroit Il est possible de spécifier une politique de croissance des fichiers Par pas de X Mo Par Pourcentage Il est possible de fixer une table maximum L idéal est de créer dés le début un gros fichier qui n aura pas à grandir ensuite

Planification 13 1 Estimer la taille d une DB est une opération délicate Il faut calculer pour chaque table la taille d une ligne Calculer l espace perdu à cause de la limite des pages Multiplier par le nombre de lignes estimé Ajouter à cela les autre objets (indexes, procedures, fonctions etc.)

Bases de données systèmes 13 2 En plus de vos bases, le serveur contient des DB systèmes Master Tempdb Model Msdb Ces DB ont toutes leur importance

Bases de données systèmes 13 3 Master La base de donnée centrale de votre serveur Contient les liens vers toutes les autres DB Contient les objets au niveau serveur (logins par exemple)

Bases de données systèmes 13 4 Tempdb Base de donnée tampon Héberge les tables et autres objets temporaires créés le temps d un script par exemple

Bases de données systèmes 13 5 Model Comme son nom l indique, elle sert de model aux nouvelles bases de données Son contenu est copié dans chaque nouvelle base Vous êtes libres d ajouter vos propres objets

Bases de données systèmes 13 6 msdb Sert au stockage des jobs du SQL Server Agent Cet outil sera détaillé dans un chapitre suivant

Options de base de données 13 7 Les bases de données SQL Server peuvent être paramétrées dans la section options de leurs propriétés Les différentes options sont regroupées par thèmes Automatisation, Curseurs, Divers, récupération et état

Options de base de données 13 8 Quelques exemples d options intéressantes modifier la «collation» de votre DB Choisir le mode de récupération Passer la DB en lecture seule Limiter l accès à certain types d utilisateurs en cas de problème Modifier le comportement de la valeur NULL Etc.

Options de base de données 13 9

Métadonnées 14 0 Les métadonnées sont des «informations sur les informations» Il s agit grosso modo de statistiques et d informations sur la structure des données

Métadonnées 14 1 Pour obtenir ces informations, plusieurs possibilités : Management studio explorateur d objet Rapports Fenêtres de propriétés des différents objets Objets systèmes Vues Procédures Fonctions

Métadonnées Il existe des dizaines de vues système, en voici quelques une intéressantes Catégorie Vue Description 14 2 Base de données Sys.databases une ligne pour chaque base de données dans le serveur. Sys.database_files une ligne pour chaque fichier dans la base de données. Objets Sys.columns une ligne pour chaque colonne d un objet contenant des colonnes. Sys.events Sys.indexes une ligne pour chaque évènement pour lequel un trigger ou une notification se déclenchera. une ligne pour chaque index Sys.tables Sys.views une ligne pour chaque table dans la base de données une ligne pour chaque vue dans la base de données. Schémas Sys.schemas une ligne pour chaque schéma défini dans la base de données.

Métadonnées 14 3 Fonctions systèmes Fonction DB_ID DB_NAME FILE_ID FILE_NAME FILEGROUP_ID FILEGROUP_NAM E Description Retourne le nombre d identifications de la base de données correspondant au nom de la base de données spécifié ou celui de la base de données courante si aucun nom n est spécifié Retourne le nom de la base de données correspondant à l ID spécifié, ou celui de la base de données courante si aucun ID n est spécifié Retourne l ID correspondant au fichier logique spécifié dans la base de données courante Retourne le nom logique correspondant à l ID spécifié du fichier logique dans la base de données courante Retourne l ID correspondant au filegroup spécifié Retourne le nom correspondant à l ID spécifié du filegroup

Métadonnées 14 4 Procédures stockées Procédures sp_databases sp_stored_procedures sp_help Sp_helpfilegroup Description Liste les bases de données disponibles dans l instance de SQL Server Liste les procédures stockées présentes dans la base de données Donne plus d informations sur un objet donné de la base de données. Donne plus d informations sur un filegroup donné.

Labo 14 5 Vous êtes en charge de la création de la base de données centrale de la société Shop@Home qui fournit des services de shopping sur internet. Réalisez cette base de données en fonction des informations suivantes. Créez un diagramme pour chaque schéma plus un diagramme global. Créez les clefs primaires et étrangères que vous jugez nécessaires. N oubliez pas les delete et update cascade quand nécessaire.

Labo 14 6 Fichiers de base de donnée ShopAtHome.mdf : Fichier principal, disque C ShopAtHomeIndexes.ndf : Fichier secondaire, disque D ShopAtHomeOldOrders.ndf : Fichier secondaire, disque E ShopAtHomeBigData.ndf : Fichier secondaire, disque F Groupes de fichiers BigData : contient les données des colonnes de types IMAGE, etc. Indexes : Contient les indexes non clusterisés. OldOrders : Contient les commandes des années précédentes. Primary : Tous les autres objets Schémas : RH et Sales Si votre machine ne dispose pas d assez de disque, utilisez des dossiers portant le noms des disques

Labo 14 7 Structures des tables Le fichier image de l avatar est en DB mais doit être stocké sur un disque à part. Des recherches d utilisateurs par login seront fréquemment utilisées, créez un index sur cette colonne. Un login utilisateur est unique.

Labo Structures des tables 14 8 Les commandes sont partitionnées par dates. La fonction de répartition est modifiée chaque année. Il ne peut y avoir deux lignes pour le même produit dans une commande

Labo Structures des tables 14 9 Des requêtes sur le nom d un produit sont courantes, créez un index sur cette colonne.

Labo Structures des tables 15 0

Vues Labo 15 1

15 2 SQL Server Sécurité

Plan du chapitre 15 3 «Principals», «securables» et permissions Logins et modes d authentification Politiques de mots de passe Utilisateurs Utilisateurs spéciaux Rôles server Rôles de base de données Rôles d applications Clefs et certificats

Principals, securables et permissions 15 4 Un peu de vocabulaire Principals Identité à qui l ont donne, retire ou interdit un droit Securable Composant sur lequel on donne des droits Il existe des Principals et securables à plusieurs niveaux Système d exploitation SQL Serveur Base de donnée

Principals, securables et permissions 15 5 Et entre les deux, il y a les droits

Principals, securables et permissions 15 6 Les droits peuvent être gérés dans management studio ou par des procédures stockées systèmes Il existe une règle importante des droits : Si un même principal reçoit deux permissions contradictoires, c est toujours celle qui interdit qui est prioritaire

Logins et modes d authentification 15 7 Le principal permettant de s authentifier dans SQL Server est le Login Il y a deux façons de s authentifier par login Authentification Windows Authentification SQL Server (Mixte)

Logins et modes d authentification 15 8 Authentification windows Pour accéder à votre ordinateur, vous vous êtes authentifiés sous un compte utilisateur Windows Il est possible de mapper un compte ou un groupe Windows à un login dans SQL Server Pas de mot de passe à fournir, Windows est garant de votre identité Pour un accès à distance, un compte de domaine est nécessaire

Logins et modes d authentification 15 9 Authentification SQL Server Option à activer dans les propriétés du serveur Authentification basée sur une paire Nom de login / mot de passe Permet de se connecter à partir de n importe quel système d exploitation Microsoft conseille évidement le mode Windows

Logins et modes d authentification 16 0

Logins et modes d authentification 16 1 Créer un login

Logins et modes d authentification 16 2 Un login peu également être créé par commande TSQL CREATE LOGIN [SERVEUR\NomUtilisateur] FROM WINDOWS WITH DEFAULT_DATABASE = AdventureWorks CREATE LOGIN Laurent WITH PASSWORD = Mot2p@ss3', DEFAULT_DATABASE = AdventureWorks Un login possède également une base de donnée par défaut (master si rien n a été précisé)

Politiques de mots de passe 16 3 Windows possède, dans sa version serveur, une option «politique de mot de passe» Cette option définit des règles de complexité et de renouvellement de mot de passe SQL serveur peut adopter ces règles pour le mode d authentification SQL Server Cette gestion reste ainsi centralisée

Politiques de mots de passe 16 4 Lors de la création d un login, choisissez quelles options de la politique vous allez intégrer

Utilisateurs 16 5 Un login seul n est pas très utile, il doit être mappé à un utilisateur dans une base de données pour y accéder Ce qu il pourra réaliser dans la base de donnée dépend des droits que l utilisateur auquel il est mappé possède dans cette DB

Utilisateurs La création d un utilisateur se fait de la manière suivante 16 6