Yonel Grusson1 SQL SERVER 7 CLIENT/SERVEUR. Yonel Grusson2 PLAN Présentation Installation Résultat...

Preview:

Citation preview

Yonel Grusson 1

SQL SERVER 7

CLIENT/SERVEUR

Yonel Grusson 2

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é

SQL SERVER 7

Yonel Grusson 3

SQL SERVER 7 - Présentation

Client Serveur

Application CLIENTE Application SERVEUR :SQL-SERVER

(SGBD)

Base deDonnées

Requête (Transact-SQL)

Résultats(seulement les donnes)

SQL-Server est un SGBD Client-Serveur (cf le cours) qui utilise TRANSACT-SQL dans ses transactions .

Yonel Grusson 4

• 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).

SQL SERVER 7 - Présentation

Yonel Grusson 5

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.

Yonel Grusson 6

Installation de SQL SERVER

Yonel Grusson 7

Installation de SQL SERVER

Installation locale

Yonel Grusson 8

Installation de SQL SERVER

Yonel Grusson 9

Installation de SQL SERVER

Variante : Installation à distance (depuis la source)

Non modifiables

Yonel Grusson 10

Installation de SQL SERVER

Yonel Grusson 11

Installation de SQL SERVER

Choix important car irréversible sans une reconstruction complète de TOUTES les bases

Yonel Grusson 12

Installation de SQL SERVER

Yonel Grusson 13

Installation de SQL SERVER

Yonel Grusson 14

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 15

Installation de SQL SERVERVariante : Il est possible de différencier les comptes entre les 2 services.

Yonel Grusson 16

Installation de SQL SERVER

Yonel Grusson 17

Résultat de l’installationLe 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

Yonel Grusson 18

Résultat de l’installationLes 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

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 19

Les bases de données (2)

Résultat de l’installation

Yonel Grusson 20

Résultat de l’installationLes bases de données (stockage physique)

Fichier de données principal (.mdf)Eventt un ou plusieurs fichiers secondaires (.ndf)

Fichier de données principal (.mdf)Eventt un ou plusieurs fichiers secondaires (.ndf)

Un ou plusieurs fichiers journaux des transactions (.ldf)

Un ou plusieurs fichiers journaux des transactions (.ldf)

Les tables et les index sont stockés dans des ETENDUES .Une ETENDUE = 8 PAGES de 8 KoUne ligne ne peut pas s’étendre sur plusieurs pages et sa taille maximum est de 8060 octets.

UNE Page = 8 Ko

Base de donnéesBase de données

UNE ETENDUE = 8 Pages de 8 Ko

Yonel Grusson 21

Résultat de l’installationLa 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 22

Résultat de l’installationLes services NT : 3 services sont installés

Yonel Grusson 23

Résultat de l’installationLes 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 24

Résultat de l’installationLes services NT : Démarrage et arrêt

Yonel Grusson 25

Résultat de l’installationLes services NT : Démarrage et arrêt

Yonel Grusson 26

Résultat de l’installationL’accès aux programmes SQL Server ( par l’interface)

Gestion des services

SQL

Administration de SQL Server (Mode Interface)

Yonel Grusson 27

L’administration de SQL ServerL'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.

Yonel Grusson 28

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

L’administration de SQL Server

Yonel Grusson 29

Utilisation du SQL

Pour une étude plus approndie, voir cours SQL

Aperçu

Yonel Grusson 30

Utilisation du SQL

Yonel Grusson 31

Utilisation du SQL

Yonel Grusson 32

Utilisation de Enterprise Manager

Yonel Grusson 33

Création d’une base de données

Yonel Grusson 34

Création d’une base de données

Création de la base de données : Le fichier des données (.mdf)

Yonel Grusson 35

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 36

Création d’une base de données

Résultat dans l’interface

Yonel Grusson 37

Création d’une base de données

Résultatsur le disque

Yonel Grusson 38

Création d’une table

Yonel Grusson 39

Création d’une table

Yonel Grusson 40

Création d’une table

Yonel Grusson 41

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 42

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 43

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 44

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 45

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 46

Création de l’index

Yonel Grusson 47

Création d’une table

Yonel Grusson 48

Ajout de données

Yonel Grusson 49

Ajout de données

Yonel Grusson 50

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 51

La SECURITE2 - 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 peut être modifié.

Yonel Grusson 52

La SECURITE

Modification de la sécurité à l'aide de :"Propriétés de SQL Server"

Yonel Grusson 53

La SECURITE

SQL-Server

Base1

UtilisateurA

Base2

UtilisateurB

BaseN

UtilisateurX

............

UNE Connexion SQL-Server

UNE Connexion NT

Yonel Grusson 54

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 55

La SECURITENouvelle connexion (état initial):

"DOMSQL\GrussonSQL1" s'appuie sur une authentification NT"Sa" s'appuie sur une authentification SQL Server

Yonel Grusson 56

La SECURITE

Nou

velle con

nexion

:

Yonel Grusson 57

La SECURITE

Nou

velle con

nexion

:

Le compte NT doit déjà existé pour installer uneauthentification NT

Yonel Grusson 58

La SECURITE

Nou

velle con

nexion

:

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 59

La SECURITE

Nouvelle connexion (état final) :

Yonel Grusson 60

La SECURITENouvel Utilisateur: Une fois la connexion créée, il est possible d'y rattacher des utilisateurs.

Etat initial : Vous disposez d’une connexion MADRID

Yonel Grusson 61

La SECURITENouvel Utilisateur: État initial sur la base COMIX

Yonel Grusson 62

La SECURITE

Nouvel Utilisateur:

Liste des connexions n’ayant aucun utilisateur pour cette base

Yonel Grusson 63

La SECURITE

Nouvel Utilisateur: État final

Yonel Grusson 64

La SECURITEPermissions de l ’utilisateur nouvellement créer sur les objets de la base :

Yonel Grusson 65

La SECURITEPermissions 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 66

La SECURITE

Il est également possible de rattacherun utilisateur à une ou plusieurs bases de données lors de la création de la connexion correspondante.

Yonel Grusson 67

La SECURITEExemple de l'impact des privilèges au travers d'une requête SQL :

Connexion

Yonel Grusson 68

La SECURITE

qui n ’a aucun privilège

Yonel Grusson 69

La SECURITESans autorisation :

Yonel Grusson 70

La SECURITEAutoriser la commande SELECT :

Attention : Le privilège est ici accordé sur la seule table « Album »

Yonel Grusson 71

La SECURITEAvec autorisation :

Yonel Grusson 72

La SECURITE

Une autre solution consiste à donner le rôledb-datareader mais cette fois sur toute la base

Yonel Grusson 73

La SECURITEConnexion/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 74

La SECURITE

Nou

velle con

nexion

:

Yonel Grusson 75

La SECURITE

Nou

velle con

nexion

:

Yonel Grusson 76

La SECURITE

Nouvel Utilisateur :

Tous les membres du groupe NT "UserSQL" pourront utiliser la base "NorthWind" sous l'utilisateur "Commercial"

Yonel Grusson 77

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.

La SECURITE

Yonel Grusson 78

Les ROLES : Sur le serveur SQL

La SECURITE

Yonel Grusson 79

Les ROLES : sur les bases de données

La SECURITE

Recommended