ECOLE SUPERIEURE DE GESTION D’INFORMATIQUE ET DES SCIENCES
LOME : B.P. 13517 Tél. (228) 22 20 12 93 Tél/Fax 22 22 50 17
COTONOU : 06 B.P. 3233 Tél. 21 32 47 73 / 21 00 02 26 / 21 04 04 16
E-mail :
[email protected] /
[email protected] Site : http://www.esgis.tg
Année : 2024 - 2025
Professeur : M. N’SOUGAN
Filière : LICENCE 3 IRT
Option : Tronc Commun
Travaux Pratiques ADMINISTRATION SQL SERVER
I- Gestion de bases de données
On vous donne le modèle relationnel suivant :
CATEGORIE (CodeCateg : Chaîne de caractères fixe (2), NomCateg : Chaîne de caractères variable (50))
PRODUIT (Id : Entier incrémenté automatiquement, Libelle : Chaîne de caractères variable (100), PU :
Nombre, codeCateg èCATEGORIE)
1- Créer la base de données bdGesStock à l’aide d’un script Transact SQL.
Les fichiers de données vont être définis dans un répertoire spécifique. Il convient de créer le dossier
C:\DONNEES\GesStock.
Paramètres de la base bdGesStock
Fichier de Fichier Journal
Données
Nom Logique bdGesStock bdGesStock_log
Nom Physique bdGesStock.mdf bdGesStock_log.ldf
Taille 100 MB 8 MB
Taille Maximale 1 GB 500 MB
Pas d'ncrémentation 10 MB 15%
2- Ajouter les groupes de fichiers gfProda, gfProdb, gfProdc, gfCateg.
3- A chacun des groupes de fichiers ci-dessus, ajouter les fichiers suivants (on gardera les valeurs par
défaut pour les spécifications (taille, taille maxi et pas d’incrementation) de chaque fichier mais ces
fichiers seront dans le dossier C:\DONNEES\GesStock :
- Proda1.ndf au groupe gfProda ;
- Prodb1.ndf au groupe gfProdb ;
- Prodc1.ndf au groupe gfProdc ;
- Categ1.ndf et Categ2.ndf au groupe gfCateg ;
4- A l’aide de la procédure stockée sp_helpdb, montrer l’aperçu de votre base de données avec tous
les fichiers qui la compose.
5- Créer la table CATEGORIE en précisant ses données seront enregistrées dans les fichiers du
groupe de fichiers gfCateg.
6- A l’aide de la procédure stockée sp_help, montrer l’aperçu de la structure de cette table.
7- Insérer deux catégories : Alimentation Générale avec le code AG et Electro Ménager avec le
code EM.
8- On souhaite partitionner la table PRODUIT suivant la colonne codeCateg. Le but, c’est de pouvoir
enregistrer les produits de la catégorie pour les codes allant de AA jusqu’à EL (exclu) dans une
partition et pour les autres codes dans une autre partition.
Créer la table partitionnée PRODUIT sans la contrainte de clé primaire.
NB : Vous utiliserez les 3 groupes de fichiers gfProd pour le schéma de partitionnement.
9- Insérer des produits pour chaque catégorie (au moins 5 pour chacune).
10- A l’aide de vues systèmes sys.dm_db_file_space_usage et sys.database_files écriver une requête
T-SQL permettant d’afficher pour chaque fichier de données (nom du fichier) de la base
bdGesStock, le nombre de pages alloués et le nombre restant à allouer.
II- Gestion de la sécurité des accès
A l’aide de script T-SQL :
1- Depuis SQL Server Management Studio, définissez la connexion Root avec le mot de passe root. La
base de données par défaut est bdGesStock. L’utilisateur ne changera pas son mot de passe lors de la
première connexion.
2- Créer une connexion SQL Server Jacques avec pour mot de passe root. L’utilisateur doit changer son
mot de passe à la première connexion.
3- Se connecter avec Jacques et essayer d’utiliser la base de données bdGesStock ou de créer une
nouvelle base de données. Que constatez-vous ? Pourquoi ?
4- Depuis SSMS, activez le compte d’utilisateur guest sur la base de données bdGesStock. Que se passe-
t-il lorsque vous vous connectez au serveur en utilisant la connexion Root et lorsque vous tentez
d’accéder à la base de données bdGesStock ?
5- Se connecter de nouveau avec Jacques et essayer d’utiliser la base de données bdGesStock. Que
remarquez-vous ?
6- Faire une requête de sélection sur la table PRODUIT. Que remarquez-vous ?
7- Pour chacun des logins de connexion créés ci-dessus, créer un utilisateur de bases de données au
niveau de la base de données bdGesStock .
8- Se connecter de nouveau avec Jacques et essayer d’utiliser la base de bdGesStock . Que remarquez-
vous ?
9- Faire de nouveau une requête de sélection sur la table PRODUIT. Que remarquez-vous ?
10- Donner une autorisation de sélection sur la table PRODUIT à l’utilisateur Jacques.
11- Faire de nouveau une requête de sélection sur PRODUIT. Que remarquez-vous ?
12- A présent accorder les autorisations de suppression, de modification et d’insertion à l’utilisateur
Jacques sur la table PRODUIT. Faire de telle sorte que cet utilisateur puisse lui-même accorder ces
droits à d’autres utilisateurs.
13- Insérer un nouveau produit dans la table PRODUIT depuis la session de Jacques.
14- Essayer ensuite de donner une autorisation d’insertion sur la table PRODUIT à l’utilisateur Root par
l’utilisateur Jacques. Que remarquez-vous ? Pourquoi ?
15- Donner une autorisation de sélection à Jacques sur toutes les tables du schéma dbo.
16- Enlever à Jacques le droit de faire une sélection sur la table CATEGORIE.
17- A présent, essayer de faire une sélection sur la table CATEGORIE. Que se passe-t-il ? Pourquoi ?
18- Que faut-il faire pour régulariser cela ?
19- Écrire l’instruction T-SQL permettant de résoudre cela. Essayer à nouveau de faire une sélection sur
la table CATEGORIE depuis la session de Jacques. Que se passe-t-il ?
20- Depuis la session du super administrateur, accordez les privilèges CREATE TABLE, CREATE
VIEW à l’utilisateur Root sur la base de données bdGesStock.
Livrable : Un dossier zippé portant le nom du Groupe à envoyer à l’adresse
[email protected] comportant :
- Le rapport de TP.
- Le script de toutes les requêtes SQL.
Le rapport imprimé doit être déposer à la direction des études, faute de quoi la note 00/20
sera attribuée aux étudiants.
Délai de ramassage: Le 13/01/2025.