Transcript SqlServer7

CLIENT/SERVEUR
SQL SERVER 7
Yonel Grusson
1
SQL SERVER 7
PLAN
•
•
•
•
Présentation
Installation
Résultat de l'installation
L'administration
– Par le SQL
– Par l'interface
• Création d'une base et d'une table
• Ajout de données
• La
Sécurité
Yonel Grusson
2
SQL SERVER 7 - Présentation
SQL-Server est un SGBD Client-Serveur (cf le cours)
qui utilise TRANSACT-SQL dans ses transactions .
Client
Requête (Transact-SQL)
Résultats
(seulement les donnes)
Application CLIENTE
Yonel Grusson
Serveur
Base de
Données
Application SERVEUR :
SQL-SERVER
3
(SGBD)
SQL SERVER 7 - Présentation
• L’application cliente s'occupe du traitement et
de la présentation des données (en d’autres
termes « ce qu’il faut faire avec les données »).
• SQL-Server :
– Gère et répartit éventuellement les bases de
données (gérer les relations entre les
données, assurer leur stockage)
– Assure la sécurité (sécurité des accès aux
bases et aux objets, récupération des
données en cas de panne).
Yonel Grusson
4
Installation de SQL SERVER
Configuration requise :
• Processeur : Intel (Pentium) ou Alpha.
• Mémoire : 64 Mo et plus (fonctionne avec 32 Mo).
• Système d'exploitation :
 NT 4 (Server et WS) avec SP 4 ou ultérieur,
2000 (Server et Professionnel),
XP.
• Système de fichiers : NTFS (peut fonctionner avec FAT).
• Internet Explorer 4.01 SP1 ou ultérieur (nécessaire pour
l'affichage de l'Aide en ligne).
Attention
: SP4 et IE 4 doivent être installés avant SQL Server.5
Yonel Grusson
Installation de SQL SERVER
Yonel Grusson
6
Installation de SQL SERVER
Installation locale
Yonel Grusson
7
Installation de SQL SERVER
Yonel Grusson
8
Installation de SQL SERVER
Variante : Installation à distance (depuis la source)
Non
modifiables
Yonel Grusson
9
Installation de SQL SERVER
Yonel Grusson
10
Installation de SQL SERVER
Choix important car
irréversible sans une
reconstruction
complète de TOUTES
les bases
Yonel Grusson
11
Installation de SQL SERVER
Yonel Grusson
12
Installation de SQL SERVER
Yonel Grusson
13
Installation de SQL SERVER
Ce compte doit exister
dans la base des comptes
du domaine.
Il doit appartenir au
groupe «Administrateurs»
Il permet l'exécution des
deux services : SQL Server
et Agent SQL Server
Yonel Grusson
14
Installation de SQL SERVER
Variante : Il est possible de différencier les comptes entre les 2
services.
Yonel Grusson
15
Installation de SQL SERVER
Yonel Grusson
16
Résultat de l’installation
Le répertoire système (SQL Server proprement dit)
BINN : Pour les
exécutables
BOOKS : Pour l'aide en
ligne
DEVTOOLS : Outils
d'aide au développemt
HTML : Pour MMC
(console) et SQL Server
INSTALL : Scripts
générés à l'installation
Yonel Grusson
UPGRADE : Pour la
mise à niveau de SQL
17
6.5 vers SQL 7.0
Résultat de l’installation
Les bases de données (1)
BACKUP : Pour les
fichiers de sauvegarde
DATA : Pour les bases
de données
JOBS : Pour les fichiers
temporaires de sorties
des travaux
LOG : Pour les fichiers
journaux des erreurs
REPLDATA :
Répertoire de travail des
tâches de réplication
Yonel Grusson
18
Résultat de l’installation
Les bases de données (2)
Yonel Grusson
19
Résultat de l’installation
Les bases de données (stockage physique)
Base de données
Fichier de données principal (.mdf)
Eventt un ou plusieurs fichiers secondaires (.ndf)
Un ou plusieurs fichiers
journaux des transactions (.ldf)
UNE ETENDUE = 8 Pages de 8 Ko
UNE Page = 8 Ko
Yonel Grusson
Les tables et les index sont stockés dans
des ETENDUES .
Une ETENDUE = 8 PAGES de 8 Ko
Une ligne ne peut pas s’étendre sur
plusieurs pages et sa taille maximum est de
20
8060 octets.
Résultat de l’installation
La Bases des comptes NT :
Ce compte existait dans la base des comptes du domaine.
Il permet l'exécution des deux services : SQL Server et Agent SQL Server
Yonel Grusson
21
Résultat de l’installation
Les services NT : 3 services sont installés
Yonel Grusson
22
Résultat de l’installation
Les services NT installés sont :
MS SQL Server : Ce service traite les requêtes en
provenance des clients. Il assure la gestion des données
et garantit l'intégrité de la base.
MS DTC : (Distributed Transaction Coordinator) Ce
service permet à une application cliente de faire appel à
plusieurs bases avec une seule transaction (Base de
données répartie – cf cours).
SQLServerAgent : Ce service gère les tâches planifiées,
les alertes et la réplication des bases de données.
Yonel Grusson
23
Résultat de l’installation
Les services NT : Démarrage et arrêt
Yonel Grusson
24
Résultat de l’installation
Les services NT : Démarrage et arrêt
Yonel Grusson
25
Résultat de l’installation
L’accès aux programmes SQL Server ( par l’interface)
SQL
Gestion des
services
Yonel Grusson
Administration de SQL Server
(Mode Interface)
26
L’administration de SQL Server
L'administrateur doit :
• Installer et configurer les serveurs
• Gérer le stockage (espace disque initial, surveillance de
cet espace et son agrandissement éventuellement
physique).
• Coordonner la création des bases de données et des
utilisateurs (la création peut être déléguée).
• Gérer la sécurité (accès à SQL et permissions des
utilisateurs sur les bases et leurs objets).
• Maintenir le système (gestion des sauvegardes,
planification des tâches, surveillance des serveurs et des
bases, prévention et réaction aux pannes…).
•Yonel
Gérer
les données distribuées.
Grusson
27
L’administration de SQL Server
L’administration peut se faire :
• Soit par l’intermédiaire du SQL
• Soit par l’intermédiaire d’une interface
(Enterprise Manager)
Attention : La connexion "SA" (System
Administrator) est créé sans mot de
passe
Yonel Grusson
28
Utilisation du SQL
Aperçu
Pour une étude
plus approndie,
voir cours SQL
Yonel Grusson
29
Utilisation du SQL
Yonel Grusson
30
Utilisation du SQL
Yonel Grusson
31
Utilisation de Enterprise Manager
Yonel Grusson
32
Création d’une base de données
Yonel Grusson
33
Création d’une base de données
Création de la
base de données :
Le fichier des
données (.mdf)
Yonel Grusson
34
Création d’une base de données
Création de la
base de données :
Création du
journal des
transactions (.ldf)
Yonel Grusson
35
Création d’une base de données
Résultat dans l’interface
Yonel Grusson
36
Création d’une base de données
Résultat
sur le disque
Yonel Grusson
37
Création d’une table
Yonel Grusson
38
Création d’une table
Yonel Grusson
39
Création d’une table
Yonel Grusson
40
Création d’une table
Les types "CARACTERE" reconnus par SQL-Server sont :
CHAR , CHAR(n) : Chaîne de caractères – 1 octet par caractère – n <= 8000
– L'espace de stockage sera toujours de n octets (ajout d'espace
éventuellement).
VARCHAR, VARCHAR (n) : L'espace de stockage varie selon la longueur de
la chaîne – L'espace sera au plus égal à n octets.
NCHAR, NCHAR(n), NVARCHAR et NVARCHAR(n) : idem avec des
caractères UNICODE – 8000 octets maximum donc 4000 caractères
maximum.
TEXT et NTEXT : permet de stocker de grande quantité de texte (résumé de
livre
par
exemple). Jusqu'à 2 147 483 647 octets.
Yonel
Grusson
41
Création d’une table
Les types "NUMERIQUE ENTIER" reconnus par
SQL-Server sont :
INT (ou INTEGER) : Entier compris entre –231 et + 231 soit sur
4 octets.
SMALLINT : Entier compris entre –32768 et +32767 soit sur 2
octets.
TINYINT : Entier compris entre 0 et 255 soit sur 1 octet.
Les types "BINAIRE" sont :
BINARY(n) et VARBINARY(n) : Ensemble de bits (n<=8000).
Yonel Grusson
42
Création d’une table
Les types "NUMERIQUE APPROCHE" (en Virgule
Flottante) reconnus par SQL-Server sont :
REAL : Compris entre 3,4E-38 et 3,4E+38 avec une précision
de 7 chiffres (sur 4 octets).
FLOAT : Compris entre 1,7E-308 et 1,7E+308 avec une
précision de 15 chiffres (sur 8 octets).
FLOAT(n) : Le nombre d'octets alloué égal n donc augmente
ou diminue la précision.
Yonel Grusson
43
Création d’une table
Les types "NUMERIQUE EXACT" reconnus par
SQL-Server sont :
DECIMAL(p,s) ou NUMERIC(p,s) : avec "p" représente le
nombre de chiffres total et "s" le nombre de chiffres après la
virgule.
Les types "DATE" reconnus par SQL-Server sont :
DATETIME : Du 1/1/1753 au 31/12/9999. Sur 8 octets
SMALLDATETIME : Du 1/1/1900 au 6/6/2079. Sur 4 octets
Yonel Grusson
44
Création d’une table
Les types "MONETAIRE" reconnus par SQL-Server
sont :
MONEY : Pour les valeurs entre –922337203685477,5808 et
+922337203685477,5807.
SMALLMONEY : Pour les valeurs entre –214748,3648 et
+214748,36487.
MONEY occupe 2 fois plus d'espace que SMALLMONEY.
Yonel Grusson
45
Création de l’index
Yonel Grusson
46
Création d’une table
Yonel Grusson
47
Ajout de données
Yonel Grusson
48
Ajout de données
Yonel Grusson
49
La SECURITE
1 - La sécurité sous SQL-Server se situe à trois
niveaux :
• Le rattachement au domaine dans lequel se situe
SQL-Server qui repose sur un ID de connexion
(Login ou nom d'accès et un mot de passe),
• La possibilité d’utiliser le SGBD. SQL-Server
parlera ici de CONNEXION.
• L'utilisation d'une base de données qui permet de
restreindre l'accès ou l'utilisation des objets de la
base. SQL-Server parlera ici d’UTILISATEUR.
Yonel Grusson
50
La SECURITE
2 - La sécurité peut être implémenté selon 2 modes :
• SQL-Server + Windows NT (mode dit "standard")
SQL-Server est totalement responsable de la gestion
et de la maintenance des comptes. C'est la méthode
préconisée car elle est compatible avec Sybase, SQL
Server 4.2, 6.0 et 6.5
• Windows NT seulement (mode dit "intégré")
SQL-Server s’appuie exclusivement sur le système
d’authentification du serveur Windows NT.
Le choix entre ces deux modes se fait a l'installation mais
Yonel
Grusson
51
peut
être
modifié.
La SECURITE
Modification de la
sécurité à l'aide de :
"Propriétés de SQL
Server"
Yonel Grusson
52
La SECURITE
UNE Connexion NT
UNE Connexion SQL-Server
SQL-Server
............
Base1
Base2
UtilisateurA
UtilisateurB
Yonel Grusson
BaseN
UtilisateurX
53
La SECURITE
Au niveau d'une base de données :
• Un utilisateur est unique
• Un utilisateur est associé à une et une seule
connexion
Une connexion quant à elle :
• Est aussi unique
• Peut être rattachée plusieurs utilisateurs
Yonel Grusson
54
La SECURITE
Nouvelle connexion (état initial):
"DOMSQL\GrussonSQL1" s'appuie sur une authentification NT
"Sa" s'appuie sur une authentification SQL Server
Yonel Grusson
55
La SECURITE
Nouvelle connexion :
Yonel Grusson
56
La SECURITE
Nouvelle connexion :
Le compte NT doit
déjà existé pour
installer une
authentification
NT
Yonel Grusson
57
La SECURITE
Nouvelle connexion :
En précisant une base
de connexion, vous
créez
automatiquement un
utilisateur portant le
même nom sur cette
base.
Sinon, laisser la base
"Master"
Yonel Grusson
58
La SECURITE
Nouvelle connexion (état final) :
Yonel Grusson
59
La SECURITE
Nouvel Utilisateur: Une fois la connexion créée, il est possible
d'y rattacher des utilisateurs.
Yonel Grusson
Etat
initial : Vous disposez d’une connexion MADRID
60
La SECURITE
Nouvel Utilisateur: État initial sur la base COMIX
Yonel Grusson
61
La SECURITE
Nouvel Utilisateur:
Liste des
connexions
n’ayant aucun
utilisateur pour
cette base
Yonel Grusson
62
La SECURITE
Nouvel Utilisateur: État final
Yonel Grusson
63
La SECURITE
Permissions de l ’utilisateur nouvellement créer sur les objets de la base :
Yonel Grusson
64
La SECURITE
Permissions de l’utilisateur nouvellement créer sur les objets de la base :
Attention : Par défaut l'utilisateur
nouvellement crée n'a AUCUN privilège
sur les objets de la base
Yonel Grusson
65
La SECURITE
Il est également
possible de rattacher
un utilisateur à une
ou plusieurs bases de
données lors de la
création de la
connexion
correspondante.
Yonel Grusson
66
La SECURITE
Exemple de l'impact des privilèges au travers d'une requête
SQL :
Yonel Grusson
Connexion
67
La SECURITE
qui n ’a aucun privilège
Yonel Grusson
68
La SECURITE
Sans autorisation :
Yonel Grusson
69
La SECURITE
Autoriser la commande SELECT :
Yonel Grusson
70
Attention
: Le privilège est ici accordé sur la seule table « Album
»
La SECURITE
Avec autorisation :
Yonel Grusson
71
La SECURITE
Une autre solution
consiste à donner le
rôle
db-datareader mais
cette fois sur toute la
base
Yonel Grusson
72
La SECURITE
Connexion/Groupe NT : La notion de groupe n'existe pas dans SQL
Server 7. Par contre, il est possible de rattacher une connexion SQL
Server à un groupe NT (authentification NT dans ce cas)
Yonel Grusson
73
La SECURITE
Nouvelle connexion :
Yonel Grusson
74
La SECURITE
Nouvelle connexion :
Yonel Grusson
75
La SECURITE
Nouvel Utilisateur :
Tous les membres
du groupe NT
"UserSQL"
pourront utiliser la
base "NorthWind"
sous l'utilisateur
"Commercial"
Yonel Grusson
76
La SECURITE
Les ROLES :
– Au niveau du serveur. Ils permettent à
des connexions d'avoir des droits
administratifs (en particulier par
l'intermédiaire des procédure stockées)
– Au niveau des bases de données qui
affectent des droits au utilisateurs d'une
base de données
– Il est possible de créer des rôles.
Yonel Grusson
77
La SECURITE
Les ROLES : Sur le serveur SQL
Yonel Grusson
78
La SECURITE
Les ROLES : sur les bases de données
Yonel Grusson
79