Title: SQL SERVER 7
1SQL SERVER 7
CLIENT/SERVEUR
2SQL 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é
3SQL SERVER 7 - Présentation
- SQL-Server est un SGBD Client-Serveur (cf le
cours) qui utilise TRANSACT-SQL dans ses
transactions .
Serveur
Client
Requête (Transact-SQL)
Base de Données
Résultats (seulement les donnes)
Application CLIENTE
Application SERVEUR SQL-SERVER (SGBD)
4SQL SERVER 7 - Présentation
- Lapplication cliente s'occupe du traitement et
de la présentation des données (en dautres
termes ce quil 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).
5Installation 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.
6Installation de SQL SERVER
7Installation de SQL SERVER
Installation locale
8Installation de SQL SERVER
9Installation de SQL SERVER
Variante Installation à distance (depuis la
source)
10Installation de SQL SERVER
11Installation de SQL SERVER
Choix important car irréversible sans une
reconstruction complète de TOUTES les bases
12Installation de SQL SERVER
13Installation de SQL SERVER
14Installation 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
15Installation de SQL SERVER
Variante Il est possible de différencier les
comptes entre les 2 services.
16Installation de SQL SERVER
17Résultat de linstallation
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 UPGRADE Pour la mise à niveau de
SQL 6.5 vers SQL 7.0
18Résultat de linstallation
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
19Résultat de linstallation
Les bases de données (2)
20Résultat de linstallation
Les bases de données (stockage physique)
21Résultat de linstallation
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
22Résultat de linstallation
Les services NT 3 services sont installés
23Résultat de linstallation
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.
24Résultat de linstallation
Les services NT Démarrage et arrêt
25Résultat de linstallation
Les services NT Démarrage et arrêt
26Résultat de linstallation
Laccès aux programmes SQL Server ( par
linterface)
27Ladministration 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). - Gérer les données distribuées.
28Ladministration de SQL Server
- Ladministration peut se faire
- Soit par lintermédiaire du SQL
- Soit par lintermédiaire dune interface
(Enterprise Manager) - Attention La connexion "SA" (System
Administrator) est créé sans mot de passe
29Utilisation du SQL
Aperçu
Pour une étude plus approndie, voir cours SQL
30Utilisation du SQL
31Utilisation du SQL
32Utilisation de Enterprise Manager
33Création dune base de données
34Création dune base de données
Création de la base de données Le fichier des
données (.mdf)
35Création dune base de données
Création de la base de données Création du
journal des transactions (.ldf)
36Création dune base de données
Résultat dans linterface
37Création dune base de données
Résultat sur le disque
38Création dune table
39Création dune table
40Création dune table
41Création dune table
Les types "CARACTERE" reconnus par SQL-Server
sont CHAR , CHAR(n) Chaîne de caractères 1
octet par caractère n lt 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.
42Création dune 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 (nlt8000).
43Création dune table
Les types "NUMERIQUE APPROCHE" (en Virgule
Flottante) reconnus par SQL-Server sont REAL
Compris entre 3,4E-38 et 3,4E38 avec une
précision de 7 chiffres (sur 4 octets). FLOAT
Compris entre 1,7E-308 et 1,7E308 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.
44Création dune 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
45Création dune table
Les types "MONETAIRE" reconnus par SQL-Server
sont MONEY Pour les valeurs entre
922337203685477,5808 et 922337203685477,5807. S
MALLMONEY Pour les valeurs entre 214748,3648
et 214748,36487. MONEY occupe 2 fois plus
d'espace que SMALLMONEY.
46Création de lindex
47Création dune table
48Ajout de données
49Ajout de données
50La 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é dutiliser 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
dUTILISATEUR.
51La 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 sappuie exclusivement sur le système
dauthentification du serveur Windows NT. - Le choix entre ces deux modes se fait a
l'installation mais peut être modifié.
52La SECURITE
Modification de la sécurité à l'aide de
"Propriétés de SQL Server"
53La SECURITE
54La 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
55La SECURITE
Nouvelle connexion (état initial)
56La SECURITE
Nouvelle connexion
57La SECURITE
Nouvelle connexion
Le compte NT doit déjà existé pour installer
une authentification NT
58La 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"
59La SECURITE
Nouvelle connexion (état final)
60La SECURITE
Nouvel Utilisateur Une fois la connexion créée,
il est possible d'y rattacher des utilisateurs.
61La SECURITE
Nouvel Utilisateur État initial sur la base COMIX
62La SECURITE
Nouvel Utilisateur
63La SECURITE
Nouvel Utilisateur État final
64La SECURITE
Permissions de l utilisateur nouvellement créer
sur les objets de la base
65La SECURITE
Permissions de lutilisateur nouvellement créer
sur les objets de la base
66La 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.
67La SECURITE
Exemple de l'impact des privilèges au travers
d'une requête SQL
Connexion
68La SECURITE
qui n a aucun privilège
69La SECURITE
Sans autorisation
70La SECURITE
Autoriser la commande SELECT
Attention Le privilège est ici accordé sur la
seule table Album
71La SECURITE
Avec autorisation
72La SECURITE
Une autre solution consiste à donner le
rôle db-datareader mais cette fois sur toute la
base
73La SECURITE
74La SECURITE
Nouvelle connexion
75La SECURITE
Nouvelle connexion
76La SECURITE
Nouvel Utilisateur Tous les membres du groupe
NT "UserSQL" pourront utiliser la base
"NorthWind" sous l'utilisateur "Commercial"
77La 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.
78La SECURITE
- Les ROLES Sur le serveur SQL
79La SECURITE
- Les ROLES sur les bases de données