Download - SQL SERVER 2000
![Page 1: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/1.jpg)
Yonel Grusson 1
SQL SERVER 2000
CLIENT/SERVEUR
![Page 2: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/2.jpg)
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
![Page 3: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/3.jpg)
Yonel Grusson 3
SQL SERVER - Présentation
Client Serveur
Application CLIENTE Application SERVEUR :SQL-SERVER
(SGBD)
Base deDonnées
Requête (Transact-SQL)
Résultats(seulement les données)
SQL-Server est un SGBD Client-Serveur (cf. le cours) qui utilise TRANSACT-SQL dans ses transactions .
![Page 4: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/4.jpg)
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 - Présentation
![Page 5: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/5.jpg)
Yonel Grusson 5
Installation de SQL SERVERConfiguration requise :• Processeur : Intel ou compatible.• Mémoire : 64 Mo et plus (128 Mo ou plus recommandé).• Système d'exploitation :
NT 4 (Server et WS) avec SP 5 ou ultérieur,2000 (Server et Professionnel),2003 Server (avec SQL-Server SP3 ou ultérieur)
• Système de fichiers : NTFS (peut fonctionner avec FAT).• Internet Explorer 5.0 (nécessaire pour l'affichage de l'Aide en ligne).• Internet Information Services (IIS) s'il existe des applications XML.
![Page 6: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/6.jpg)
Yonel Grusson 6
Installation de SQL SERVER
Attention : SQL-SERVER 2000 n'est pas supporté par Windows 2003 Server :
Continuer l'installation à la suite du message : "SQL Server 2000 n'est pas pris en charge par cette version de Windows." apparaissant au début de l'installation.
Installer immédiatement après l'installation du SGBD le service pack 3 ou ultérieur de SQL-Server.
![Page 7: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/7.jpg)
Yonel Grusson 7
Vérifier les composants requis avant de lancer l'installation
Installation de SQL SERVER
![Page 8: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/8.jpg)
Yonel Grusson 8
L'installation peut se faire sur une machine distante
Installation de SQL SERVERInstallation locale
Il est possible d'installer plusieurs instances de SQL sur le même serveur.
![Page 9: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/9.jpg)
Yonel Grusson 9
Installation de SQL SERVER
![Page 10: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/10.jpg)
Yonel Grusson 10
Installation de SQL SERVER
![Page 11: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/11.jpg)
Yonel Grusson 11
Installation de SQL SERVERPersonnalisation de
l'installation
![Page 12: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/12.jpg)
Yonel Grusson 12
Installation de SQL SERVERDésignation des comptes sous lesquels sont exécutés les services de SQL-Server
Ce compte doit exister dans l'Active Directory.Il doit appartenir au groupe «Administrateurs».Il permet l'exécution des deux services : SQL Server et Agent SQL Server
![Page 13: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/13.jpg)
Yonel Grusson 13
Installation de SQL SERVERVariante : Il est possible de différencier les comptes entre les 2 services.
![Page 14: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/14.jpg)
Yonel Grusson 14
Installation de SQL SERVERSQL-SERVER peut authentifier les utilisateurs :
• En s'appuyant sur l'authentification Windows
![Page 15: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/15.jpg)
Yonel Grusson 15
Installation de SQL SERVERSQL-SERVER peut authentifier les utilisateurs :
• En complétant la précédente par une authentification supplémentaire propre au SGBD.
Attention : La connexion "SA" (System Administrator) peut être créée sans mot de passe – A éviter
![Page 16: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/16.jpg)
Yonel Grusson 16
Installation de SQL SERVER
Choix important car irréversible sans une reconstruction complète de TOUTES les bases.
![Page 17: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/17.jpg)
Yonel Grusson 17
Installation de SQL SERVER
Mécanisme de communication interprocessus (IPC) que SQL Server utilise pour assurer la communication entre les clients et les serveurs (cf. cours)
Le port sera ici attribué dynamiquement au démarrage de l'instance du SGBD. SQL-SERVER utilise le port UDP 1434 pour la connexion depuis les clients puis le port 1433.
![Page 18: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/18.jpg)
Yonel Grusson 18
Installation de SQL SERVER
![Page 19: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/19.jpg)
Yonel Grusson 19
Installation de SQL SERVERInstallation du service Pack 3 ou ultérieur
![Page 20: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/20.jpg)
Yonel Grusson 20
Installation de SQL SERVER
![Page 21: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/21.jpg)
Yonel Grusson 21
Installation de SQL SERVER
![Page 22: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/22.jpg)
Yonel Grusson 22
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éveloppement
HTML : Pour MMC (console) et SQL Server
SCRIPTS : Scripts générés à l'installation
TEMPLATES :
![Page 23: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/23.jpg)
Yonel Grusson 23
Les bases de données (1)
Résultat de l’installation
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
![Page 24: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/24.jpg)
Yonel Grusson 24
Les bases de données (2)
Résultat de l’installation
![Page 25: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/25.jpg)
Yonel Grusson 25
Résultat de l’installationLes bases de données (stockage physique)Les bases de données SQL-Server sont constituées de 3 types de fichiers :
• Les fichier de données primaires (.mdf)Point de départ de toutes les bases. Chaque base comprend un et un seul fichier primaire qui pointe sur les autres fichiers de la base de données.• Les fichiers de données secondaires (.ndf)• Les fichiers journaux (.ldf)Ils contiennent toutes les informations de suivi nécessaires à la récupération de la base de données.
![Page 26: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/26.jpg)
Yonel Grusson 26
Les 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
Résultat de l’installation
![Page 27: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/27.jpg)
Yonel Grusson 27
Dans l'Active Directory
Ce compte d’administration existait dans l'Active Directory avant l'installation de SQL-Server. Il permet l'exécution des deux services : SQL Server et Agent SQL Server.
Résultat de l’installation
![Page 28: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/28.jpg)
Yonel Grusson 28
Les services
Résultat de l’installation
MSDTC s’exécute sous le compte : NT AUTHORITY\NetworkService
Ce service s’exécute sous le compte syteme local
Ce service s’exécute sous le compte syteme local
![Page 29: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/29.jpg)
Yonel Grusson 29
Les services
Résultat de l’installation
Ces 2 services s’exécutent sous le compte d’administration défini à l’installation
![Page 30: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/30.jpg)
Yonel Grusson 30
Les principaux services 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.
Résultat de l’installation
![Page 31: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/31.jpg)
Yonel Grusson 31
Démarrage et arrêts des services : • Automatiquement au démarrage du serveur• Par l’intermédiaire du bureau
Résultat de l’installation
![Page 32: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/32.jpg)
Yonel Grusson 32
Administration de SQL Server ( par l’interface)
Administration de SQL Server (Mode Interface)
Résultat de l’installation
SQL
Gestion des services
![Page 33: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/33.jpg)
Yonel Grusson 33
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.
![Page 34: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/34.jpg)
Yonel Grusson 34
L’administration peut se faire :• Soit par l’intermédiaire du SQL• Soit par l’intermédiaire d’une interface
(Enterprise Manager)
L’administration de SQL Server
![Page 35: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/35.jpg)
Yonel Grusson 35
Utilisation du SQL
Pour une étude plus approndie, voir cours SQL
Aperçu
![Page 36: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/36.jpg)
Yonel Grusson 36
Utilisation du SQL
Choisir la base de données
1 – Tapez votre requête SQL
2 – Exécutez votre requête SQL3 – Enregistrez votre requêtes SQL
![Page 37: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/37.jpg)
Yonel Grusson 37
Utilisation de Enterprise Manager
Rappel : Les manipulations montrées ici avec l’interface graphique peuvent évidemment se faire avec le SQL.
![Page 38: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/38.jpg)
Yonel Grusson 38
Utilisation de Enterprise Manager
![Page 39: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/39.jpg)
Yonel Grusson 39
Création d’une base de données
![Page 40: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/40.jpg)
Yonel Grusson 40
Création d’une base de données
Création de la base de données : Le fichier des données (.mdf)
![Page 41: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/41.jpg)
Yonel Grusson 41
Création d’une base de données
Création de la base de données : Création du journal des transactions (.ldf)
![Page 42: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/42.jpg)
Yonel Grusson 42
Création d’une base de données
Résultat dans l’interface
![Page 43: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/43.jpg)
Yonel Grusson 43
Création d’une base de données
Résultatsur le disque
Plus mise à jour des tables système (base master)
![Page 44: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/44.jpg)
Yonel Grusson 44
Création d’une table
![Page 45: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/45.jpg)
Yonel Grusson 45
Création d’une table
Création de l’indexEnregistrer
![Page 46: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/46.jpg)
Yonel Grusson 46
Création d’une table
Définir une contrainte d’intégrité référentielle
![Page 47: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/47.jpg)
Yonel Grusson 47
Création d’une table
![Page 48: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/48.jpg)
Yonel Grusson 48
Création d’une table
![Page 49: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/49.jpg)
Yonel Grusson 49
Création d’une table
Les clés regroupent :
• Les clés primaires (identifiant)
• Les clés externes
Les index correspondent à des propriétés fréquemment utilisés et permettent d’optimiser l’accès celles-ci.
![Page 50: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/50.jpg)
Yonel Grusson 50
Création d’une table
Les contraintes (CHECK en SQL) permettent de définir des règles sur les propriétés d’une table.Par exemple définir un domaine de validité pour une valeur numérique.
![Page 51: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/51.jpg)
Yonel Grusson 51
Création d’une table
![Page 52: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/52.jpg)
Yonel Grusson 52
Création d’une table
![Page 53: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/53.jpg)
Yonel Grusson 53
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.
![Page 54: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/54.jpg)
Yonel Grusson 54
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, BINARY(n), VARBINARY, VARBINARY(n) : Ensemble de bits (n<=8000).
![Page 55: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/55.jpg)
Yonel Grusson 55
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.
![Page 56: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/56.jpg)
Yonel Grusson 56
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
![Page 57: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/57.jpg)
Yonel Grusson 57
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.
![Page 58: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/58.jpg)
Yonel Grusson 58
Ajout de données
![Page 59: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/59.jpg)
Yonel Grusson 59
Ajout de données
![Page 60: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/60.jpg)
Yonel Grusson 60
La SECURITE1 - 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 et un mot de passe),
• La possibilité d’utiliser SQL-Server, on 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.
![Page 61: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/61.jpg)
Yonel Grusson 61
2 – L'authentification de la CONNEXION peut se faire de 2 façons :
• SQL-Server + Windows : SQL-Server authentifie les connexions correspondant à des utilisateurs Windows et à celles définies au sein de SQL-Server.
• Windows uniquement : SQL-Server authenfie seulement les utilisateurs Windows.
Le choix se fait a l'installation mais peut être modifié par la suite.
La SECURITE
![Page 62: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/62.jpg)
Yonel Grusson 62
La SECURITE
Modification de la sécurité à l'aide de :"Propriétés de l’instance de SQL Server"
![Page 63: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/63.jpg)
Yonel Grusson 63
La SECURITE
SQL-Server
Base1
UtilisateurA
Base2
UtilisateurB
BaseN
UtilisateurX
............
UNE Connexion spécifiqueSQL-Server
UNE Connexion Windows
OUReprise de la
Connexion Windows
![Page 64: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/64.jpg)
Yonel Grusson 64
Ainsi ….
Au niveau d'une base de données :
• Un utilisateur est unique
• Un utilisateur est associé à une et une seule connexion
Au niveau du SGBD, une connexion quant à elle :
• Est unique
• Peut être rattachée plusieurs utilisateurs
La SECURITE
Connexion Utilisateur Base0,n 1,1 1,1 1,n
![Page 65: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/65.jpg)
Yonel Grusson 65
Nouvelle connexion (état initial):
"CLAPTON/Eric_SQL" s'appuie sur une authentification Windows"sa" s'appuie sur une authentification SQL Server
La SECURITE
![Page 66: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/66.jpg)
Yonel Grusson 66
Nouvelle connexion Windows uniquement :
La SECURITE
L'utilisateur doit déjà exiter
Création d'un utilisateur "JOLIE" sur la base "Comix"
![Page 67: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/67.jpg)
Yonel Grusson 67
La SECURITE
Nouvelle connexion Windows SQL-Server:
Création d'un utilisateur "MONNOT" sur la base "Comix"
![Page 68: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/68.jpg)
Yonel Grusson 68
La SECURITEA la suite de sa connexion Windows l'utilisateur "JOLIE" ("CLAPTON/JOLIE") doit avoir le droit d'accéder à la base "Comix" ; vérification :
![Page 69: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/69.jpg)
Yonel Grusson 69
La SECURITE
Résultat sur la base de données "Comix"
![Page 70: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/70.jpg)
Yonel Grusson 70
Il est également possible, lors de la création d'une connexion, de rattacher cette connexion à plusieurs bases de données.
La SECURITE
![Page 71: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/71.jpg)
Yonel Grusson 71
Nouvelle connexion (sans création d'un utilisateur) :
La SECURITE
Laisser la base "master"
![Page 72: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/72.jpg)
Yonel Grusson 72
Nouvel Utilisateur: Une fois une connexion créée, si aucun utilisateur ne lui a été reliée, il sera possible d'y rattacher des utilisateurs.
La SECURITE
Liste des connexions disponibles pour la base "Comix"
Nom de l'utilisateur, par défault ce nom est identique à celui de la connexion
![Page 73: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/73.jpg)
Yonel Grusson 73
La SECURITE
Il faut bien comprendre que la notion d'utilisateur d'une base de SQL-Server est transparente pour l'utilisateur de la base ("la personne qui utilise la base").L'utilisateur ("la personne") se connecte sur SQL-Server et demande à utiliser telle base de données. De ce fait il devient l'utilisateur SQL (correspondant à la connexion) de cette base.Rappel : Sur une base, une connexion correspond un et un seul utilisateur.
![Page 74: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/74.jpg)
Yonel Grusson 74
La SECURITERelation : Authentification / Connexion (1)
L'utilisateur "LeChef" s'est connecté sur le domaine "Clapton".
Soit la configuration suivante…
"Monnot" est une connexion SQL-Server
Par contre …Ici seule l'authentification Windows est acceptée.
![Page 75: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/75.jpg)
Yonel Grusson 75
La SECURITERelation : Authentification / Connexion (2)
Soit la configuration suivante…
"Monnot" est une connexion SQL-Server
Et …Les deux types de connexion sont ici acceptés.
![Page 76: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/76.jpg)
Yonel Grusson 76
Le droit accordé à un utilisateur pour accéder à une base de données ne permet pas à cette utilisateur de manipuler cette base
L'administrateur de la base doit donc accorder aux utilisateurs des permissions sur les objets de la base.
Les objets regroupent les tables (et les opérations sur elles), différentes procédures stockées et des vues.
La SECURITE
![Page 77: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/77.jpg)
Yonel Grusson 77
L'utilisateur a néamoins quelques autorisations sur une base de données.
Il obtient ces autorisation par son appartenance a un ROLE (cf. plus loin).
Un utilisateur appartient par défaut au rôle PUBLIC (cf. plus loin).
Attention : Si une autorisation n'est pas spécifiquement définie au niveau de l'utilisateur ; ce dernier subit l'autorisation définie au niveau du rôle.
La SECURITE
![Page 78: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/78.jpg)
Yonel Grusson 78
Permissions sur les objets d'une base pour un utilisateur nouvellement créer
La SECURITE
![Page 79: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/79.jpg)
Yonel Grusson 79
La SECURITE
Attention : Par défaut l'utilisateur nouvellement crée n'a AUCUNE autorisation sur les objets de la base. Il subit donc les autorisations du ou des rôle(s) auquel il appartient
Permissions d'un utilisateur nouvellement créer sur les objets d'une base
![Page 80: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/80.jpg)
Yonel Grusson 80
La SECURITEPermissions d'un utilisateur nouvellement créer sur les objets d'une base
Aucune autorisation n'est spécifiquement définie
Le SELECT est spécifiquement
refusé Le UPDATE est spécifiquement
autorisé
Ces autorisations ne sont pas définies.
Application du rôle
![Page 81: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/81.jpg)
Yonel Grusson 81
Liste des procédures stockées utilisables par les utilisateurs de la base
La SECURITE
![Page 82: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/82.jpg)
Yonel Grusson 82
Les ROLES :Il est évident que plusieurs utilisateurs d'une
base de données auront les mêmes permissions sur cette base. Comme pour des permissions sur les fichiers et les répertoires, il sera possible de regrouper ces utilisateurs au sein de groupes.
SQL-Server ne parlera pas de groupe mais de rôle et distinguera différents rôles définis sur deux niveaux (le SGBD et la base).
La SECURITE
![Page 83: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/83.jpg)
Yonel Grusson 83
Les ROLES :
• Au niveau du serveur : Ils permettent à des connexions d'avoir des droits administratifs (en particulier par l'intermédiaire des procédures stockées)
• Au niveau des bases de données : Ils permettent d'affecter des droits aux utilisateurs des bases de données
• Il est possible de créer des rôles.
La SECURITE
![Page 84: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/84.jpg)
Yonel Grusson 84
La SECURITELes ROLES : Au niveau d'une base de données
Tout nouvel utilisateur est affecté par défaut au rôle "public"
Aucune autorisation donnée par défaut sur la base de donnéesQuelques autorisations sont définies sur les procédures, les tables système et les vues.
Aucune autorisation donnée par défaut sur la base de donnéesQuelques autorisations sont définies sur les procédures, les tables système et les vues.
![Page 85: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/85.jpg)
Yonel Grusson 85
La SECURITELes ROLES : Création d'un rôle
![Page 86: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/86.jpg)
Yonel Grusson 86
La SECURITELes ROLES : Création d'un rôle
Pour finir, il reste à donner des autorisations aux actuels et futurs utilisateurs de la base qui sont ou seront rattachés à ce rôle.
![Page 87: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/87.jpg)
Yonel Grusson 87
La SECURITE
Rôle de base de données
Description
db_ownerPossède toutes les autorisations de la base de données.
db_accessadmin Peut ajouter ou supprimer des utilisateurs.
db_securityadminPeut gérer toutes les autorisations, les propriétés d'objet, les rôles et les membres des rôles
Rôle prédéfinis sur une base de données :
![Page 88: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/88.jpg)
Yonel Grusson 88
La SECURITE
Rôle de base de données
Description
db_ddladminPeut lancer l'instruction ALL DDL mais pas les instructions GRANT, REVOKE ou DENY.
db_backupoperatorPeut lancer les instructions DBCC, CHECKPOINT et BACKUP.
db_datareaderPeut sélectionner toutes les données de toutes les tables utilisateur dans la base de données.
Rôle prédéfinis sur une base de données :
![Page 89: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/89.jpg)
Yonel Grusson 89
La SECURITE
Rôle de base de données
Description
db_datawriter Peut modifier les données de toutes les tables utilisateur dans la base de données.
db_denydatareaderNe peut sélectionner des données d'aucune table utilisateur dans la base de données.
db_denydatawriter Ne peut modifier les données d'aucune table utilisateur dans la base de données.
Rôle prédéfinis sur une base de données :
![Page 90: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/90.jpg)
Yonel Grusson 90
La SECURITELes ROLES : Au niveau du serveur
![Page 91: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/91.jpg)
Yonel Grusson 91
La SECURITE
Rôle de serveur Description
sysadminExécute n'importe quelle opération dans SQL Server. Les autorisations de ce rôle s'étendent à tous les autres rôles de serveur fixes.
serveradmin Configure les paramètres au niveau du serveur.
setupadminAjoute et supprime les serveurs liés et exécute certaines procédures système stockées telles que sp_serveroption.
securityadmin Gère les connexions d'accès au serveur.
Rôles au niveau du serveur SQL :
![Page 92: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/92.jpg)
Yonel Grusson 92
La SECURITE
Rôle de serveur Description
processadminGère les traitements s'exécutant dans une instance de SQL Server.
dbcreator Crée et modifie les bases de données.
diskadmin Gère les fichiers sur disque.
bulkadmin Exécute l'instruction BULK INSERT.
Rôles au niveau du serveur SQL :
![Page 93: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/93.jpg)
Yonel Grusson 93
Exemple de l'impact des permissions au travers d'une requête SQL :
La SECURITE
![Page 94: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/94.jpg)
Yonel Grusson 94
La SECURITE
Les autorisations sont contradictoires
![Page 95: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/95.jpg)
Yonel Grusson 95
La SECURITE
L'autorisation la plus restrictive l'emporte (c'est une règle générale).
![Page 96: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/96.jpg)
Yonel Grusson 96
La SECURITE
![Page 97: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/97.jpg)
Yonel Grusson 97
La SECURITE
Les autorisations du rôle s'imposent.
![Page 98: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/98.jpg)
Yonel Grusson 98
Si plusieurs utilisateurs Windows sont susceptibles de se connecter sur SQL-Server, l'administrateur à la possibilité d'associer une connexion SQL à un groupe Windows
La SECURITE
User1
User2
User3
User4
Connexion1
Connexion2
Connexion3
Connexion4
SQ
L-S
erver Connexion
SQL-Server
User1 User2 User3 User4
Groupe Windows
![Page 99: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/99.jpg)
Yonel Grusson 99
La SECURITESoit un groupe Windows créer dans l'active Directory
![Page 100: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/100.jpg)
Yonel Grusson 100
Nou
velle con
nexion
:
La SECURITE
Etat initialEtat final
![Page 101: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/101.jpg)
Yonel Grusson 101
Nouvel Utilisateur : Tous les membres du groupe "UserSQL" pourront utiliser la base "Comix" sous l'utilisateur "Lecteur"
La SECURITE
Nouvel Utilisateur :
![Page 102: SQL SERVER 2000](https://reader035.vdocument.in/reader035/viewer/2022062222/5681517f550346895dbfb8be/html5/thumbnails/102.jpg)
Yonel Grusson 102
La SECURITEApplication : Soit la connexion sur SQL-Server de l'utilisateur "PIERRE" qui appartient au groupe Windows "UserSQL",depuis un poste du réseau.
La connexion de "Pierre" est acceptée du fait qu'il appartient au groupe "UserSQL" sur lequel repose la connexion SQL.