Académique Documents
Professionnel Documents
Culture Documents
OFPPT
SECTEUR NTIC
Filière : TDI
Niveau Technicien spécialisé
Manuel de TP
Module18 : Système de Gestion de Bases de Données II
p. 1
MODULE 18 : SYSTÈME DE GESTION DE BASES DE DONNÉES II
Code : TDI-18 Durée : 75 h
p. 2
H. Mettre en œuvre la haute disponibilité Mise en œuvre de la mise en miroir de base de
données.
Mise en place d’une instance en cluster de SQL
Server.
Mise en œuvre de l’envoi de journaux.
Implémentation de la réplication.
p. 3
Activité d’apprentissage 1
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Déclarer et manipuler des variables
Durée 45 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 4
DESCRIPTION DE L’ACTIVITÉ
Pour gérer les membres d’un forum de programmation, on dispose de la table suivante :
Membre (Pseudo, E-mail, Mot de passe, Date de naissance, Date d’inscription, Ville)
Travail à faire :
p. 5
Activité d’apprentissage 2
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Implémenter l’instruction de contrôle : IF- ELSE
Durée 30 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 6
DESCRIPTION DE L’ACTIVITÉ
Facture d’eau
écrire un lot transact-sql qui calcule le montant à payer pour une consommation
donnée.
Déclarer une variable @consommation et lui affecter la valeur 26.
En utilisant la structure if … else calculer et afficher le montant de la consommation.
Exécuter le lot
p. 7
Activité d’apprentissage 3
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Implémenter l’instruction de contrôle : IF- ELSE
Durée 30 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 8
DESCRIPTION DE L’ACTIVITÉ
Pour encourager l’entraide des membres du forum, un système de bonus à point a été
instauré.
Travail à faire :
Écrire un lot Transact-sql qui permet d’ajouter à la base de données la table Bonus si
elle n’existe pas et/ou créer la contrainte FOREIGN KEY si elle n’existe pas.
Pour tester l’existence d’un objet dans la base de données, vous pouvez utiliser
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID('Nom
objet'))
p. 9
Activité d’apprentissage 4
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Implémenter l’instruction de contrôle : WHILE
Durée 1h30mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 10
DESCRIPTION DE L’ACTIVITÉ
Pour la gestion des rendez-vous d’un cabinet médical, un extrait de la base de données
vous est fourni :
RDV (NUM_RDV, DATE_RDV, HEURE_RDV, PATIENT)
Heure_RDV (Heure)
le champ Heure est de type time
En utilisant les trois variables, et la structure While, écrire une boucle permettant de
remplir la table Heure_RDV comme suit
Heure
8 :00
8 :20
8 :40
13 :40
Pour la prise d'un RDV, on souhaite trouver la date et l’heure les plus proches :
Déclarer une variable @jour de type date
Affecter à cette variable la date système.
Dans le bloc d’une boucle While, en incrémentant la variable @jour, chercher si elle
existe une heure libre (non affectée à un rendez-vous)
le code ne doit pas proposer des rendez-vous le week-end.
p. 11
Activité d’apprentissage 5
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Utiliser des gestionnaires d'erreur dans le code T-SQL
Durée 1 h 30
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 12
DESCRIPTION DE L’ACTIVITÉ
Soit une base de données SQL Server contenant les tables suivantes :
Salle (NumSalle, Etage, NombreChaises)
Transfert (NumSalleOrigine, NumSalleDestination, NbChaisesTransférées,
DateTransfert)
À l’aide d’une transaction, écrire le code qui permet de déplacer un nombre de chaise
d’une salle à une autre.
Démarche :
Dans un bloc BEGIN TRY … END TRY, écrire le code qui permet de :
a. débuter une transaction (BEGIN TRANSACTIN)
b. modifier le nombre de chaises de la salle dont le numéro = @SalleOrigine
(NombreChaises = NombreChaises - @NbChaises)
c. modifier le nombre de chaises de la salle dont le numéro = @SalleDest
(NombreChaises = NombreChaises + @NbChaises)
d. enregistrer l’opération dans la table transfert
e. valider la transaction (COMMIT TRANSACTION)
dans le bloc BEGIN CATCH .. . END CATCH, écrire le code qui permet de :
exécuter le code puis consulter les tables salle et transfert, le transfert doit être effectué
parce que la contrainte CHECK est vérifiée pour les deux salles
en essayant de ré-exécuter le code une deuxième fois, le message d’erreur sera affiché
p. 13
Activité d’apprentissage 6
Module TDI-18 Système de Gestion de Bases de Données II
Durée 1 heure
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 14
DESCRIPTION DE L’ACTIVITÉ
p. 15
Activité d’apprentissage 7
Module TDI-18 Système de Gestion de Bases de Données II
Durée 45 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 16
DESCRIPTION DE L’ACTIVITÉ
Créer une base de données contenant la table suivante : Personne (nom, adresse,
dateNaissance)
Remplir la table avec quelques enregistrements.
Exemple :
p. 17
Activité d’apprentissage 8
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Utilisation de variables de type table
Durée 45 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 18
DESCRIPTION DE L’ACTIVITÉ
Travail à faire
Créer la table Formation
Saisir quelques enregistrements dans la table
Déclarer une variable de type table contenant deux colonnes la date et nombre
participants
Déclarer une variable @dateDebut et l’initialiser avec la valeur 09/12/2013.
Déclarer une variable @dateFin et l’initialiser avec la valeur 12/12/2013.
Dans le bloc d’instructions d’une boucle While, calculer le nombre de participant pour
chaque jour, puis ajouter le résultat obtenu dans la variable de table
Afficher le contenu de la variable table
Afficher les jours où le nombre total des participants dépasse 16 personnes
p. 19
Activité d’apprentissage 9
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 20
DESCRIPTION DE L’ACTIVITÉ
3. Cliquez avec le bouton droit sur Définis par l’utilisateur, puis cliquez sur
Nouveau …Ensemble de collecteurs de données .
4. Dans la boîte de dialogue Créer un nouvel ensemble de collecteurs de
données, dans la zone Nom, taper « Collecteur1 », cocher la case Créer
manuellement (avancé), puis cliquer sur Suivant.
5. Dans la boîte de dialogue Quel type de données inclure, cocher la case
Compteur de performance. puis cliquer sur Suivant.
6. Dans la boîte de dialogue Quel compteurs de performance enregistrer dans
un journal ? définir l’intervalle d’échantillonnage à 10 secondes puis cliquer
sur le bouton Ajouter…
7. Dans la nouvelle boîte de dialogue cocher la case Afficher la description (lire
la description du compteur sélectionné) Ajouter dans le journal les
compteurs répertoriés dans le tableau ci-dessous :
Objet de performance Compteur Instance
Mémoire Pages/s
Mémoire Défauts de page/s
Processus % Temps processeur sqlservr
Processeur % Temps processeur _Total
SQLServer:Locks Requêtes de verrous/s _Total
SQLServer:Locks Temps d’attente des verrous (ms) _Total
SQLServer:Memory Manager Mémoire totale du serveur
8. Cliquer sur OK puis sur Suivant puis sur Terminer.
9. Dans l’analyseur de performances, démarrer l'ensemble de collecteurs de
données Collecteur1
10. Dans Sql Server Management Studio, exécuter des requêtes Transact SQL pour
simuler une activité sur le serveur.
11. Dans l’analyseur de performances, arrêter l'ensemble de collecteurs de
données Collecteur1
12. Dans la console Performances, dans le volet gauche, développez Rapport,
Définis par l’utilisateur puis Collecteur1; sélectionner le rapport
p. 21
Activité d’apprentissage 10
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Identification des problèmes d'accès concurrentiels
Durée 45 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 22
DESCRIPTION DE L’ACTIVITÉ
UPDATE Articles
SET Prix = 6000
WHERE (Num = 1)
UPDATE Articles
SET Prix = 6000
WHERE (Num = 2)
select * from Articles
where Num = 1
Dans la première fenêtre de requête, exécuter le code suivant:
select * from Articles
where Num = 2
Observer les résultats dans le SQL Server Profiler
p. 23
Activité d’apprentissage 11
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 24
DESCRIPTION DE L’ACTIVITÉ
Travail à faire
Écrire un lot transact-sql permettant de fournir une liste (nom, adresse) dans laquelle
chaque ligne de la table PERSONNE est recopié autant de fois que spécifié par la valeur
de la colonne NOMBRE.
Dans un nouveau lot, on souhaite créer un Login pour chaque personne de la table
p. 25
Activité d’apprentissage 12
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Manipulation du contenu d’un curseur.
Durée 45 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 26
DESCRIPTION DE L’ACTIVITÉ
Facture d’électricité
La facture d’électricité est calculée selon un barème à tranche.
La consommation mensuelle d’électricité est répartie en tranches, les
informations concernant les tranches (Numéro, Quantité, Tarif) sont stockées
dans une table nommée Barème.
Créer la table Barème
Renseigner la table Barème
Ré exécuter le lot pour une consommation de 180 KWh, le résultat doit contenir deux
lignes
p. 27
Activité d’apprentissage 13
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Manipulation du contenu d’un curseur.
Durée 30 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 28
DESCRIPTION DE L’ACTIVITÉ
modifier le code pour tenir compte des élèves ex æquo (ayant la même moyenne
donc le même classement)
p. 29
Activité d’apprentissage 14
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Création et manipulation de procédures stockées
Durée 40 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 30
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Créer une procédure permettant de créer la table Semaine (jour date) et la rempli
avec les dates des 7 jours qui suivent la date système.
Exécuter la procédure
Ré-exécuter la procédure.
Supprimer la procédure.
p. 31
Activité d’apprentissage 15
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 32
DESCRIPTION DE L’ACTIVITÉ
Club loisir
Pour gérer les différentes activités d’un club de loisirs, et à partir de cet extrait
d’une base de données relationnelle, réaliser le travail demandé
8. Ecrire une procédure qui renvoie la liste des activités (refActivité, intitulé,
NbMaxParticipant, Nombre d’adhérents).
10. Créer une procédure permettant de supprimer un adhérent ainsi que ses
inscriptions aux différentes activités
p. 33
Activité d’apprentissage 16
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 34
DESCRIPTION DE L’ACTIVITÉ
p. 35
10.Ecrire une procédure qui renvoie l’historique d’avancement d’un
fonctionnaire donné. Selon le modèle suivant :
Echelle Date effet Date avancement
8 1/1/2005 1/1/2008
9 1/1/2008 Null
Pour chaque échelle, renvoie la date d’effet (date d’accès à cette échelle)
et la date d’avancement à l’échelle suivante.
(indication : utiliser un curseur )
p. 36
Activité d’apprentissage 17
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 37
DESCRIPTION DE L’ACTIVITÉ
p. 38
dans la question 6
p. 39
Activité d’apprentissage 18
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 40
DESCRIPTION DE L’ACTIVITÉ
Pour le suivi des paiements réalisés par ses patients, un dentiste utilise une base de
données SQL Server contenant les tales suivantes :
Total_dû est le total des prix des actes subi par un patient mais non payé
Total_payé est le total des prix des actes subi par un patient et payé
Travail à faire :
Créer la base de données et remplir la table Acte.
p. 41
Activité d’apprentissage 19
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 42
DESCRIPTION DE L’ACTIVITÉ
Pour gérer la sécurité d’un site Web, on utilise une base de données contenant les
tables suivantes:
CompteUtilisateur (Nom, PassWord, QuestionSecurite, ReponseSecurite,
DateCréation , estBloqué, date_dernière_connexion, Nombre_Echec_Connexion,
Date_Dernier_Echec)
Rôle (Id, Nom)
Appartenance (NomUtilisateur, IdRole)
Travail à faire :
Roleexiste @nomRole
La procédure retourne 1 si le rôle existe et 0 sinon.
p. 43
9. Authentifier un utilisateur.
Débloquer @NomUtilisateur
La procédure retourne le code 1 si échec
p. 44
Activité d’apprentissage 20
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Création et manipulation des fonctions scalaires
Durée 2 h 30
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 45
DESCRIPTION DE L’ACTIVITÉ
4) En utilisant les fonctions précédentes, écrire une requête qui renvoie la liste
des départements (DeptNo, NomDept, Nombre employés, Salaire moyen)
6) Créer une fonction qui permet de mettre la première lettre du paramètre passé
à la fonction en majuscule et le reste en minuscule
7) Utiliser la fonction pour remplacer dans la table Employé les prénoms par le
nouveau format (seule la 1ère lettre en majuscule)
p. 46
Activité d’apprentissage 21
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Création et manipulation des fonctions table incluses
Durée 1 h 30
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 47
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
p. 48
Activité d’apprentissage 22
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 49
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Soit une base de données contenant la table suivante :
Formations (Num, Titre, Date_début, Date_fin, NbParticipants)
Num est un champ auto-incrémenté.
Créer la table
Ecrire une fonction table qui renvoie le nombre total de participants par jour entre
deux dates données en paramètres.
L’exécution de la requête :
SELECT * FROM dbo.présences_quotidiennes(‘09/12/13’, ‘12/12/13’)
Exercice 2
Soit la table Personne (nom, adresse, dateNaissance)
Ecrire une fonction qui renvoie le nombre de personnes par tranches d'âge.
L’exécution de la requête : SELECT * FROM dbo.nbPersonneTranche(10)
Affiche le résultat suivant
Age min Age max NOMBRE
0 9 6
10 19 4
20 29 15
Exercice 3
p. 50
Ordinateur (num_serie, marque, modèle, Date_acquisition)
Créer la table
p. 51
Activité d’apprentissage 23
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 52
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Ecrire une fonction qui renvoie toutes les périodes ou une salle sera libre,
entre deux dates données en paramètre.
Périodeslibres(@NumSalle, @DateDebut, @DateFin)
DateDebutRes, DateFinRes
Utiliser un curseur associé à l’instruction SELECT
FROM Réservations WHERE NumSalle = @NumSalle ORDER BY DateDebut
En utilisant la fonction, trouver toutes les périodes d’au moins 5 jours où la salle
Num 1 est libre pendant le mois de mars 2014
p. 53
Activité d’apprentissage 24
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Programmer des déclencheurs AFTER
Durée 2 heures
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 54
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Créer un trigger after INSERT permettant d’ajouter une entrée dans la table
journal, dès qu’on enregistre une ou plusieurs nouvelles formations dans la
base de données. Le nombre de lignes ajoutées peut être calculé avec la
requête select count(*) from INSERTED;
Créer un trigger after UPDATE permettant d’ajouter une entrée dans la table
journal, dès qu’on modifie une ou plusieurs formations dans la base de
données. Le nombre de lignes modifiées peut être calculé avec la requête
select count(*) from INSERTED;
Pour tester le trigger créé, modifier des formations dans la base de données et
consulter la table journal
Créer un trigger after DELETE permettant d’ajouter une entrée dans la table
journal, dès qu’on supprime une ou plusieurs formations de la base de
données. Le nombre de lignes supprimées peut être calculé avec la requête
select count(*) from DELETED;
p. 55
Utiliser l’instruction ALTER TABLE … DISABLE TRIGGER pour
désactiver les triggers précédemment créés.
Pour tester le trigger créé, mettre à jour la table des formations et consulter la
table journal.
p. 56
Activité d’apprentissage 25
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Programmer des déclencheurs AFTER
Durée 2 heures 30
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 57
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Une salle ne peut faire l’objet de deux réservations pour une même journée; par
exemple si la salle 1 est réservée entre le 09/09/2013 et 13/09/2013, elle ne peut
être réservée entre le 12/09/2013 et 14/09/2013. Implantez par un trigger cette
règle.
Tester le trigger
A chaque mise à jour de la table des réservations il faut mettre à jour le montant
total des recettes des salles concernées. Créer un déclencheur after INSERT
permettant d’augmenter le total des recettes d’un montant égal au prix journalier
de la salle multiplié par la durée de la réservation.
Exercice 2
1.Un patient ne doit subir plus que 5 actes non payés, écrire un trigger
permettant d’implémenter cette règle.
2.Ecrire un trigger qui maintient à jour les champs Total_dû et Total_payé
chaque fois qu’on met à jour la table «Paiement» (INSERT, UPDATE et
DELETE)
Exercice 3
p. 58
Soit une base de données contenant les tables suivantes:
Écrire un déclencheur after qui permet à la naissance d’un enfant de planifier les
vaccinations qu’il doit effectuer.
Pour planifier la vaccination d’un enfant dont le nuémro est @num et il est né le
@date on écrit la requête suivante :
p. 59
Activité d’apprentissage 26
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Programmer des déclencheurs INSTEADOF
Durée 1 heure
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 60
DESCRIPTION DE L’ACTIVITÉ
Exercice 1
Créer une autre table « NouveauxVaccins » ayant la même structure que la table
Vaccins
Code Âge (mois) Vaccin(s)
On veut importer dans la table « Vaccins » la liste des vaccins à partir de la table
« Nouveaux Vaccins »,
Exécuter la requête :
INSERT INTO VACCINS
SELECT * FROM [Nouveaux Vaccins]
p. 61
Une erreur de « Violation of PRIMARY KEY constraint » se poduit car le vaccin
Ménin1 existe déjà dans la table vaccins.
écrire un déclencheur qui permet d’insérer les nouveaux vaccins dans la table
Vaccins et mettre à jours les informations (nom et/ou âge) des vaccins qui
existent déjà.
create trigger MAJ ON Vaccins
instead of INSERT
as
begin
set nocount on;
UPDATE Vaccins
SET nom = I.nom, age = I.age
FROM INSERTED AS I INNER JOIN
Vaccins ON I.code = Vaccins.code
p. 62
Activité d’apprentissage 27
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Programmer des déclencheurs INSTEADOF
Durée 1 h 30
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 63
DESCRIPTION DE L’ACTIVITÉ
Certaines vues peuvent être l’objet de mise à jour par les instructions insert,
update, delete, mais pour cela il faut que Sql Server soit capable de déduire les
modifications à faire sur les tables et ce n’est pas toujours possible.
p. 64
Activité d’apprentissage 28
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 65
DESCRIPTION DE L’ACTIVITÉ
USE master
CREATE WORKLOAD GROUP groupTDI2
WITH
(
IMPORTANCE = MEDIUM
)
USING poolTDI2
p. 66
mémoire.
12. Exécuter la requête suivante pour obtenir des informations sur l'état et la
configuration actuels des pools de ressources, ainsi que sur leurs
statistiques.
p. 67
charges de travail.
Activité d’apprentissage 29
SELECT * FROM sys.dm_resource_governor_workload_groups
Module TDI-18 Système de Gestion de Bases de Données II
14. Exécuter la requête suivante pour déterminer quelles sessions se trouvent
dans chaque de groupe.
Précision G Optimiser les performances SQL Server
SELECT s.group_id, CAST(g.name as nvarchar(20)) groupe, s.session_id,
s.login_time, CAST(s.host_name as nvarchar(20)) hote, CAST(s.program_name
Code Activité G002 programme FROM sys.dm_exec_sessions s
AS nvarchar(20))
INNER JOIN sys.dm_resource_governor_workload_groups g
ON g.group_id = s.group_id
Activité ORDERAssistant
BY g.name Paramétrage du moteur de base de
GO données.
Durée 30 mn
15. Exécuter la requête suivante pour déterminer quelles requêtes se trouvent
Phase d’apprentissagedans ENTRAINEMENT
chaque groupe.
Cette activité d’apprentissage doit vous permettre
SELECT r.group_id, g.name, r.status, r.session_id, r.request_id, r.start_time,
de r.sql_handle,
r.command, : t.text
FROM sys.dm_exec_requests
Lancementr de l'Assistant Paramétrage du
INNER JOIN sys.dm_resource_governor_workload_groups g
Détails sur les objectifs ON g.group_id moteur de base de données
= r.group_id
visés par l’activité Paramétrage d'une charge
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS tde travail
ORDER BY g.name Affichage des recommandations pour le
GO paramétrage
Affichage des rapports de paramétrage
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 68
DESCRIPTION DE L’ACTIVITÉ
set @i = @i;
while (@i<10000)
begin
INSERT INTO Abonnés
VALUES (@i, 'Abonné ' + convert(nvarchar(4),@i), @i % 12 + 1)
set @i = @i+1;
end
p. 69
Script1.sql que vous avez enregistré à l'étape 1.
p. 70
Activité d’apprentissage 30
Module TDI-18 Système de Gestion de Bases de Données II
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 71
DESCRIPTION DE L’ACTIVITÉ
Pour réaliser ce Tp vous devez installer deux instances Sql Server sur votre
ordinateur. Par exemple l’instance par défaut et une instance nommée TDI.
A l’aide du Gestionnaire de configuration SQL Server, vérifier et démarrer les
deux instances SQL Server
Configuration de la mise en miroir de bases de données
1. Démarrer SQL Server Management Studio; et se connecter à l’instance par défaut
2. Créer une base de données « TestMiroring » :
3. Créer la table suivante : Produits (Num, Designation, Prix)
4. Remplir la table en exécutant le script suivant :
declare @i int=1
while (@i<100)
begin
INSERT INTO Produits
VALUES (@i, 'Produit ' + convert(nvarchar(2),@i), 100+@i)
set @i = @i+1;
end
p. 72
13. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur le dossier
Bases de données sous l'instance nommée, puis cliquez sur Actualiser.
Développez le dossier Bases de données et vérifiez que l'état de la base de
données TestMiroring est Miroir, Synchronisé / Restauration.
USE TestMiroring
GO
SELECT * FROM Produits
GO
UPDATE Produits SET Prix = Prix * 1.1
GO
SELECT * FROM Produits
GO
15. Basculer manuellement vers le serveur partenaire de mise en miroir de
bases de données, en exécutant sous l’instance par défaut (serveur principal ) la
requête :
USE master;
ALTER DATABASE TestMiroring SET PARTNER FAILOVER;
16. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur le dossier
Bases de données sous l'instance nommée TDI, puis cliquez sur Actualiser.
Dans le dossier Bases de données, vérifiez que l'état de la base de données
TestMiroring est Serveur principal, Déconnecté.
17. Retournez dans le volet de requête connecté à l'instance nommée SQL
Server exécuter les requêtes :
USE TestMiroring
GO
SELECT * FROM Produits
GO
GO
UPDATE Produits SET Prix = Prix * 1.1
GO
SELECT * FROM Produits
GO
p. 73
Activité d’apprentissage 31
Module TDI-18 Système de Gestion de Bases de Données II
Activité
Implémentation de la réplication.
Durée 2 h 30 mn
………………………………………………………………………………….
Matière d’œuvre et/ou
outillage …………………………………………………………………………………..
………………………………………………………………………............
p. 74
DESCRIPTION DE L’ACTIVITÉ
Pour réaliser ce Tp vous devez installer deux instances Sql Server sur votre
ordinateur. Par exemple l’instance par défaut et une instance nommée TDI.
A l’aide du Gestionnaire de configuration SQL Server, vérifier et démarrer les
deux instances SQL Server
Création d'une publication
Démarrer SQL Server Management Studio; et se connecter à l’instance par défaut
Créer une base de données « BDCommercial » :
Créer la table suivante : Produits (Num, Designation, Prix)
Remplir la table en exécutant le script suivant :
declare @i int=1
while (@i<100)
begin
INSERT INTO Produits
VALUES (@i, 'Produit ' + convert(nvarchar(2),@i), 100+@i)
set @i = @i+1;
end
Démarrer SQL Server Agent
p. 75
13. Tapez le nom de votre compte Windows dans la zone de texte Compte de
processus et tapez votre mot de passe Windows dans les zones de texte Mot de
passe et Confirmer le mot de passe.
14. Laissez la case à cocher En imitant le compte de processus activée et cliquez
sur OK; puis sur Suivant.
15. Dans la page Actions de l'Assistant, activez la case à cocher Créer la
publication, puis cliquez sur Suivant.
16. Dans la page Terminer l'Assistant, tapez BDCommercialProduits comme
Nom de la publication, puis cliquez sur Terminer.
Création d’un abonnement
Créer un abonnement à la publication BDCommercialProduits sur l'instance TDI
Procédure
1. Dans une nouvelle fenêtre du SQL Server Management Studio; se connecter à la 2ème
instance nommée TDI.
2. Dans l'Explorateur d'objets, développez Réplication, cliquez avec le bouton
droit sur Abonnements locaux, puis cliquez sur Nouveaux abonnements.
3. Dans la page Assistant Nouvel abonnement, cliquez sur Suivant.
4. Dans la page Publication, dans la liste Serveur de publication, cliquez sur
<Rechercher un serveur de publication SQL…>. Dans la boîte de dialogue Se
connecter au serveur, connectez-vous à l’instance par défaut.
5. Dans la page Publication, cliquez sur la publication BDCommercialProduits,
puis cliquez sur Suivant.
6. Dans la page Emplacement de l'Agent de distribution, sélectionnez Exécuter
tous les agents sur le serveur de distribution, <Nom Serveur> (abonnements
par envoi de données (push)), puis cliquez sur Suivant.
7. Dans la page Abonnés, dans la liste Base de données d'abonnement, cliquez
sur <Nouvelle base de données…>.
8. Dans la boîte de dialogue Nouvelle base de données, tapez BDCommercial2
dans la zone de texte Nom de la base de données, puis cliquez sur OK puis sur
Suivant.
9. Dans la page Sécurité de l'Agent de distribution, cliquez sur le bouton de
sélection (…).
10. Dans la boîte de dialogue Sécurité de l'Agent de distribution, tapez le nom de
votre compte Windows dans la zone de texte Compte de processus et tapez
votre mot de passe Windows dans les zones de texte Mot de passe et
Confirmer le mot de passe, cliquez sur OK, puis sur Suivant.
11. Dans la page Planification de synchronisation, vérifiez que l'option Exécuter
en continu est sélectionnée dans la liste déroulante Planification de
l'agent,puis cliquez sur Suivant.
12. Dans la page Initialiser les abonnements, vérifiez que la zone de liste À quel
moment a pour valeur Immédiatement, puis cliquez sur Suivant.
13. Dans la page Actions de l'Assistant, cochez l’option Créer le ou les
abonnements, puis cliquez sur Suivant.
14. Dans la page Terminer l'Assistant, cliquez sur Terminer.
Vérifier que les données sont répliquées correctement
1. Sous l’instance nommée TDI, exécuter la requête
SELECT * FROM [BDCommercial2].[dbo].[ Produits]
puis vérifiez que les produits dont le prix >= 120 ont été répliquées.
1. Sous l’instance par défaut, exécuter la requête :
UPDATE [BDCommercial2].[dbo].[Produits] SET Prix += 10
2. Attendez 10 secondes pour que la réplication soit réalisée. Puis ré exécuter sous
l’instance nommée TDI, la requête
SELECT * FROM [BDCommercial2].[dbo].[Produits]
p. 76