mardi 6 mai 2008
Accueil
J'ai développé en détails les différents modules pour vous permettre d'en faire une bonne utilisation.Donc pour explorer il suffit de cliquer sur un titre pour visualiser son contenu.
Bonne Chance
VIII. Conclusion
Nous pouvons à présent dire que SQL SERVER 2005 s'avère être un outil très puissant et moderne de par ses multiples fonctionnalités.
VII. Gestion de la sauvegarde et restauration d’une base de données
A. Sauvegarde
SQL Server 2005 offre différentes méthodes de sauvegarde :
1. Sauvegarde complète
La sauvegarde complète d’une base de données sauvegarde l’entièreté de la base de données en incluant les fichiers de données et une partie du journal de transaction. La stratégie de sauvegarde des bases de données complètes peut être mis en œuvre si la base de données est de petite taille, si elle comporte peu de modification ou di elle est en lecture seule.
Avant de procéder à la sauvegarde de base de données, il faut créer une unité de sauvegarde.
L’unité de sauvegarde dispose d’un nom logique et d’un type qui désigne la nature du support. Par défaut il crée l’unité de sauvegarde dans le répertoire « C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup » . Cependant il est recommandé de créer une nouvelle partition où sera stockée la sauvegarde. Pour ce faire on utilise la procédure stockée addumpdevice.
Pour cela il faut créer le dossier AWBackup dans le C:\ avant d’exécuter l’unité de sauvegarde
Lancer Management Studio
Aller sur la base de données AdventureWorks
Cliquer sur Nouvelle requête et taper le code sui suit :
use AdventureWorks
exec sp_addumpdevice 'disk',
'AdventureWorksDWBackup','C:\AWbackup\AdventureWorksDWBackup.bak'
'disk' : représente le type de l’unité de sauvegarde
'AdventureWorksDWBackup' : représente le nom logique de l’unité de sauvegarde
'C:\AWbackup\AdventureWorksDWBackup.bak': représente l’emplacement de l’unité de sauvegarde
Apprès la création de l’unité de sauvegarde il faut procéder à la sauvegarde de la base de données au sein de cette unité. Pour ce faire il faut taper la commande :
backup database AdventureWorksDW to AdventureWorksDWBackup
Il est aussi possible d’exécuter directement la commande sans même créer une unité de sauvegarde
backup database AdventureWorksDW to disk=‘C:\AWbackup\AdventureWorksDWBackup.bak’
Application : Créer une base d edonnées nommée marketingdb
Faire la sauvegarde complète sans passer par la création de l’unité de sauvegarde
Pour ce faire taper la commande :
backup database marketingdb to disk='C:\AWbackup\marketingdbBackup.bak'
2. Sauvegarde journal de transaction
La sauvegarde du journal de transaction enregistre des modifications effectuées dans la base de données. Ce type de sauvegarde peut être effectué après la création d’une sauvegarde complète.
use master
exec sp_addumpdevice 'disk', 'AdventureWorksDWLog',
'C:\AWbackup\AdventureWorksDWBackupLog.bak'
Sauvegarder dans l’unité
backup database AdventureWorksDW to AdventureWorksDWLog
3. Sauvegarde du journal après défaillance
Elle permet d’éviter la perte des données en conservant un enchaînement de journal intact. Une chaîne de journal est une séquence continu de sauvegarde de journaux commençant par une sauvegarde complète.
4. Sauvegarde différentielle
Elle est effectuée pour minimiser le temps nécessaire pour la restauration d’une base de données fréquemment modifiée.
backup database AdventureWorksDW to disk='C:\AWbackup\AdventureWorksDWBackup.bak' with differential
5. Sauvegarde de fichiers ou groupe de fichiers
Elle peut être effectuée si la taille de la base de données est importante et que la sauvegarde complète prend beaucoup de temps.
Application : Créer la base de données Productiondb avec un groupe de fichiers nommé AWFG1
Créer une unité de sauvegarde ProductiondbBackup
use Productiondb
exec sp_addumpdevice 'disk',
'ProductiondbBackup','C:\AWbackup\ProductiondbBackup.bak'
Faire une sauvegarde du groupe de fichiers
backup database Productiondb filegroup='AWFG1' to ProductiondbBackup
6. Sauvegarde partielle et différentielle
Elle est similaire à une sauvegarde complète. La différence repose sur le fait que la sauvegarde partielle ne contient pas tous les groupes de fichiers. Ce type de sauvegarde enregistre seulement les données du groupe de fichiers ayant subi des modifications depuis la sauvegarde précédente.
7. Sauvegarde en copie seule
Elle correspond à la création d’une copie de la sauvegarde et sa conservation en lieu sûr.
B. Restauration
La restauration détermine les stratégies de sauvegarde et de restauration utilisées pour une base de données.
- Le modèle de récupération simple, utilisé pour les petites bases de données ou les bases de données dont les données ne sont pas fréquemment modifiées.
- Le modèle de récupération complet, utilisé quand la récupération complète au départ du support endommagé est la priorité principale.
- Le modèle de récupération journalisé en bloc, similaire au modèle de récupération complet et utilise les sauvegardes aussi bien de la base de données que du journal pour recréer une base de données.
1. Restauration de la sauvegarde complète
Créer l’unité de sauvegarde « AdventureWorksDWFullBackup » et exécuter la restauration en tapant la commande suivante
use master
restore database AdventureWorksDW
from disk='C:\AWbackup\AdventureWorksDWFullBackup.bak'
with recovery
2. Restauration de fichiers des journaux de transactions
use master
go
restore database AdventureWorksDW
from AdventureWorksDWBackup
with norecovery
go
restore log AdventureWorksDW
from AdventureWorksDWLog
with recovery
La base de données AdventureWorksDW apparaît avec une flèche verte pour montrer la restauration.
VI.Gestion de la sécurité d’une base de données
SQL Server 2005 fait appel à trois mécanismes pour la sécurité :
- Mécanisme d’authentification
- Mécanisme d’autorisation
- Mécanisme de validation
Trois composants interviennent dans la sécurité :
- Entités de sécurité
- Entités sécurisables
- autorisations
A. Entités de sécurité
Ce sont les composants logiques qui doivent accéder aux ressources de SQL Server. On les localise à trois niveaux :
- OS Windows : ce sont les comptes d’utilisateur local, les comptes d’utilisateur de domaine et les groupes windows
- Serveur de base de données : au niveau du serveur on a des identifiants d’accès serveur. C’est un ensemble d’identité utilisateur enregistré et authentifié par SQL Serveur. Les rôles SQL Server sont un ensemble de connexion d’accès ayant des autorisations similaires.
- Base de données : ce sont des comptes d’accès ayant l’autorisation d’accéder à une base de données. Le rôle de base de données est un ensemble d’utilisateurs de base de données ayant des droits d’accès similaires. Le rôle d’application est utilisé pour accéder à la base de données à l’aide d’une application particulière.
B. Les sécurisables
Ce sont des objets auxquels accèdent des entités de sécurité telles qu’une base de base de données ou un service de base de données.
Au niveau de Windows il s’agit de clés de registre utilisés par SQL Server.
Au niveau SQL Server ce sont des hiérarchies imbriquées appelées portées :
- Portée serveur : elle inclut des connexions d’accès des base de données et des points de terminaisons créés au niveau du serveur.
- Portée Base de données : elle inclut des objets tels que les utilisateurs, les rôles d’applications, les assemblages, les catalogues de texte intégral, les schémas et les événements DDL qui sont crées au niveau de la base de données
- Portée de schémas : elle inclut des objets de base de données tels que les tables, les vues, les fonctions, les procédures et les types de contenu dans un schéma.
C. Les autorisables
L’accès aux sécurisables par les entités de sécurité peut être activé ou déasctiver en configurant les autorisations. Celles-ci conditionnent les niveaux auxquels les entités de sécurité ont accès aux sécurisables.
D. Création de connexions d’accès et d’utilisateurs
Sans connexion d’accès on ne peut pas accéder au serveur SQL. La première méthode est avec l’instruction transact-sql en tapant la commande create login
Etude de cas : Vous êtes l’administrateur de la société, le développeur Bouba vient d’être engagé, un nom de connexion doit être créé pour lui donner accès au serveur SQL. Le compte d’accès de Bouba doit comporter les paramètres suivants :
- Nom de connexion : Bouba
- Nom d’utilisateur :Boubaz
- Mode d’authentification : SQL Server
- Mot de passe : esp
- Stratégie de mot de passe : activé
- Langue par défaut : français
De plus Bouba doit être autorisé sur toutes les tables du schéma Production.
1. Création de compte d’accès
1ere méthode via Transact-SQL
Faire un clic droit sur AdventureWorks
Cliquer sur Nouvelle requête
Taper la commande create login bouba with PASSWORD='esp'
2eme méthode via Management Studio
Aller sur l’instance
Sécurité – Nouveau – Connexion
Nom : bouba
Authentification : SQL Server
2. Création de compte utilisateur
Aller sur AdventureWorks
Faire un clic droit sur Sécurité – Nouveau – Utilisateur
3. Création d’une assignation utilisateur
Pour permettre à Bouba de visualiser toutes les tables du schéma Production, une des solutions consisterait à en faire le propriétaire. Pour cela :
Dérouler Sécurité – Utilisateurs
Double-cliquer sur bouba
Aller sur Schéma par défaut – Parcourir
Cocher Production
Cliquer sur OK
E. Affectation de rôles
Le rôle est un objet de base de données auquel un ensemble d’autorisations sont octroyées. Les types de rôles sont :
- Rôle de base de données fixe
- Rôle de base de données défini par l’utilisateur
- Rôle d’application
1. Rôles de base de données fixes
Ils sont définis au niveau de la base de données et existent dans chaque base de données
Rôles de base de données fixes | Autorisations |
Db_accessadmin | Ajouter, supprimer des utilisateurs, des groupes et des rôles de base de données |
Db_backupoperator | Sauvegarder la base de données |
Db_datareader | Lire des données à partir d’une table quelconque |
Db_datawriter | Ajouter, modifier, supprimer des données d’une table quelconque |
Db_ddladmin | Ajouter, modifier, supprimer des objets de base de données |
Db_denydatareader | Restreindre la lecture des données d’une table quelconque |
Db_denydatawriter | Restreindre la modification des données d’une table quelconque |
Db_owner | Réaliser une activité quelconque de rôle de base de données |
Db_securityadmin | Créer des schémas, changer des rôles de base de données et des rôles d’application |
Public | Maintenir les autorisations par défaut |
2. Rôles de base de données définis par l’utilisateur
Il est possible de créer ses propres rôles de base de données pour boucler plusieurs et leur assigner un ensemble commun d’autorisations. Ceci permet de configurer un ensemble d’autorisations à assigner à des utilisateurs d’une base de données.
La commande create role permet de le faire.
3. Rôle d’application
C’est une entité de sécurité de base de données qui permet à une application de fonctionner avec ses propres privilèges.
La commande create application role permet de le faire
4. Assignation de rôles aux utilisateurs de base de données
Chaque rôle se voit assigner un ensemble d’autorisations. Pour assigner des autorisations à un utilisateur, un rôle peut être assigné à un utilisateur où celui-ci peut être autorisé à devenir un membre du rôle.
Dérouler AdventureWorks – Sécurité – Utilisateurs
Double-cliquer sur bouba
Aller dans l’onglet Appartenance au rôle de base de données pour lui assigner un rôle
F. Affectation d’autorisations
Après avoir créé les entités de sécurité, les sécurisables, les autorisations doivent être assignées aux entités de sécurité pour définir le niveau d’accès aux éléments sécurisables qu’elles détiennent.
1. Octroi d’autorisations au niveau du serveur
Au niveau du serveur, les autorisations peuvent être octroyées aux connexions d’accès. Les connexions d’accès peuvent être autorisées à accéder aux objets du serveur ou à accomplir des activités au niveau du serveur telles que la modification et la création de base de données.
Les autorisations communément utilisées pouvant être octroyées au niveau du serveur sont :
- Alter any database
- Alter any endpoint
- Alter any login
- Create any database
- Create any endpoint
- Shutdown
- View any database
- View any definition
- View server state
2. Octroi d’autorisations au niveau de la base de données
Au niveau de la base de données, les utilisateurs doivent pouvoir accomplir des activités telles que la création d’un schéma. Les autorisations octroyées aux éléments sécurisables telles que les schémas, les utilisateurs, les assemblages et les objets service broker. Les autorisations sont :
- Create schema
- Create service
- Create asymetric key
- Create symetric key
- Create contract
- Create queue
- Create role
EXEMPLE : Octroi avec base de données
use AdventureWorks
grant select
on schema::Production
to bouba
3. Octroi d’autorisations au niveau des schémas
Au niveau des schémas, des autorisations peuvent être octroyées pour des éléments sécurisables telles que les tables, les vues, les procédures stockées et les types. Les autorisations sont :
- Create table
- Create function
- Create view
- Create procedure
- Delete
- Update
- Execute
- Insert
- Select
- Alter any user
- View database state
EXEMPLE :
use AdventureWorks
grant create procedure
to bouba
Dérouler AdventureWorks – Tables
Faire un clic droit sur la table Person.Contact
Cliquer sur Propriétés – Autorisations – Ajouter – Parcourir
Choisir l’utilisateur bouba
Cliquer sur OK
G. Révocation d’autorisations
Il est parfois nécessaire de supprimer les autorisations octroyées aux utilisateurs.
EXEMPLE :
revoke alter
on schema::Sales
from bouba
H. Chiffrement des données
En plus de restreindre l’accès à la base de données et aux objets de la base de données, il est possible d’ajouter une couche de sécurité supplémentaire en chiffrant les données. Si les données sont chiffrées, elles restent sécurisées même si un utilisateur non autorisé accède à la base de données. Les données et objets de base de données tels les procédures ou fonctions peuvent être chiffrées à l’aide des clés ou certificats.
1. Création de clé
Une clé est une valeur appliquée à une fonction cryptographique pour chiffrer ou déchiffrer une valeur de données sécurisées. Il faut distinguer les clés symétriques et les clés asymétriques.
Pour les clés symétriques c’est une valeur qui est utilisée aussi bien pour le chiffrement que pour le déchiffrement de données.
EXEMPLE : Clé symétrique
create symetric key SymKey
with algorithm= TRIPLE_DES
encryption by password='mot-de-passe'
EXEMPLE : Clé asymétrique
create asymetric key AsymKey
with algorithm= RSA_2048
encryption by password='mot-de-passe'
2. Création de certificat
Un certificat peut être utilisé dans une base de données SQL Server pour ajouter une signature digitale à un objet de base de données tel qu’une procédure stockée ou une fonction.
use AdventureWorks
create certificate AwCustCert
encryption by password='mot-de-pass'
with subject='cert for adventureWorks Customers',
start_date='01/04/2008',
expiry_date='09/04/2008'
V. Création et gestion de base de données
Une base de données permet de stocker un ensemble de données. Les objets de base de données permettent de structurer vos données et à définir les mécanismes de sécurité, d’améliorer et de contrôler l’intégrité des données.
Parmi ces objets nous avons :
- Les tables : ensembles de lignes associées à des colonnes
- Les contraintes : permettent de définir des valeurs relatives autorisées dans les colonnes et vont constituer le mécanisme standard pour garantir l’intégrité des données.
- Les valeurs par défaut définissent une valeur stockée dans une colonne si aucune autre valeur n’est fournie au moment de l’ajout.
- Les index constituent des structures de stockage offrant un accès rapide pour l’extraction des données.
- Les vues permettent de visualiser des données provenant d’une ou de plusieurs tables de la même base de données.
- Les fonctions définies par l’utilisateur vont permettre de renvoyer soit une valeur scalaire soit une table.
- Les procédures stockées sont un ensemble d’instructions nommées en Transact-SQL pré-compilées devant être exécutées ensemble.
- Les délencheurs représentent une forme spéciale de procédure stockée exécutée automatiquement lorsqu’un utilisateur modifie les données d’une table ou d’une vue.
A. Création de base de données
1. Fichiers de la base de données
Une base de données est un espace de stockage. Il y a deux fichiers importants :
a) Fichiers de données primaires (.mdf)
Ils contiennent des informations sur le démarrage de la base de données (objets de base de données et les données intégrées dans la base de données).
b) Fichiers de données secondaires (.ndf)
Ils ne sont pas obligatoires mais peuvent intervenir pour pouvoir stocker les données utilisateur.
c) Fichiers journaux (.ldf)
Ils servent à récupérer les détails sur toutes les transactions effectuées sur les base et fournissent les modifications apportées à votre base de données.
2. Groupes de fichiers
C’est un ensemble de fichiers. Il y a 2 groupes :
a) Groupes de fichiers primaires
Ils contiennent des fichiers de données primaires. Le groupe de fichiers secondaires contient des données secondaires .
b) Groupes de fichiers définis par l’utilisateur
Ce groupe de fichiers est créé dans l’optique de rassembler ou pour regrouper des fichiers qui ne font pas partie du groupe de fichiers primaires ou secondaires.
Remarque : Lors de la création d’une base de données, il y a un fichiers de données primaires et un journal de transaction qui sont créés par défaut.
3. Création d’une base de données
La création d’une base de données peut se faire via l’interface graphique de Management Studio ou directement par Transact-SQL.
a) Management Studio
Lancer Management Studio
Faire un clic droit sur Base de données – Nouvelle base de données
Renseigner le champ nom : _espdb
Cliquer sur OK
b) Transact-SQL
Cliquer sur Nouvelle Requête
Taper le code suivant :
Create database _espdb
On
(name=_espdb_dat,
Filename= 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\_espdb_dat.mdf',
Size=10,
Maxsize=50,
Filegrowth=5)
Log on
(name=_espdb_log,
Filename= 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\_espdb_log.ldf',
Size=5MB,
Maxsize=25MB,
Filegrowth=5MB)
Cliquer sur l’icône Analyser pour vérifier la syntaxe
Si aucune erreur n’est signalée cliquer sur Exécuter
Faire un clic droit sur la base de données _espdb – Propriétés
4. Les schémas
Le schéma représente un espace de nommage pour les objets de la base de données. Toutes les bases de données créées ont un shéma, le schéma par défaut s’appelle dbo.
Pour accéder à un objet de la base de données il faut mettre nomschéma.nomobjetBaseDeDonnées ou nomBaseDeDonnées.nomschéma.nomObjetBaseDeDonnées
Pour créer un schéma il faut faire un clic droit sur _espdb -- Nouvelle Requête et saisir ce qui suit :
create schema MySales
create table MySales.Salesdat
(SalesId int not null Primary Key,
SalesAmount float not null)
B. Gestion de base de données
La gestion d’une base de données inclut des activités telles que l’ajout, la suppression de fichiers et de groupes de fichiers ainsi que la modification de la taille de fichiers et de groupe de fichiers. La base de données peut être supprimée si elle n’est plus utilisée.
Les secondes opérations de gestion sont relatives au déplacement d’un serveur de base de données à une autre ou d’une instance SQL SERVER vers une autre instance sur le même serveur.
En plus des tâches de maintenance régulière il arrive parfois qu’un administrateur de base de données doit accomplir d’autres tâches telles que le contrôle de la performance d’exécution des requêtes ou le contrôle de la quantité d’espace de disque libre.
Une telle analyse permet d’améliorer les performances de la base de données. L’administrateur de base de données est également responsable pour l’obtention des infos sur l’efficacité des index créés.
L’une des tâches fondamentales est de pouvoir maintenir la taille de la base de données. Une des méthodes utilisées pour y parvenir est de libérer l’espace non utilisé. Cette espace libre peut alors être utilisée pour enregistrer d’autres objets de la base de données.
Il faut aussi effectuer des contrôles d’intégrité de la base de données pour assurer que les données sont fiables et consistantes.
1. Modification d’une base de données
Il est nécessaire d’ajouter ou de modifier un fichier ou un groupe de fichiers ou encore supprimer un fichier de la base de données. Pour effectuer ces opérations on utilise l’instruction Alter database.
Ajout d’un groupe de fichiers :
Alter database _espdb
add filegroup EmpFG
Ajouter un ficher au groupe de fichers créé :
Alter database _espdb
add file (
name=EmpFGFile1,
filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\EmpFGFile1.ndf',
size=10,
maxsize=100,
filegrowth=10)
Ajout d' un fichier à EmpFG
Alter database _espdb
add file (
name=EmpFGFile2,
filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\EmpFGFile2.ndf',
size=10,
maxsize=100,
filegrowth=10)
to filegroup EmpFG
Remarque : Il ne peut y avoir qu’un seul fichier de données primaires .mdf par base de données.
Actualiser la base de données et faire un clic droit dessus – Propriétés – Fichiers
2. Suppression de base de données
Taper la commande : drop database nomBaseDeDonnées
3. Migration d’une base de données
a) Création d’une seconde instance
Lancer le setup.exe
Sélectionner SQL Server Database Services
Cliquer sur Suivant
Sélectionner Instance nommée
Saisir ESP22
Cliquer sur Suivant
Sélectionner le compte système par défaut
Cliquer sur Suivant
Sélectionner le mode mixte
Saisir « esp » comme mot de passe
Cliquer sur Suivant
Cliquer sur Suivant
Cliquer sur Installer
Cliquer sur Suivant
Cliquer sur Terminer
Démarrer Management Studio
Cliquer sur Connexion – Parcourir – Moteur de base de données
Choisir la nouvelle instance
Cliquer sur OK
b) Migration d’une base de données
Nous allons détacher la base de données _espdb sur l’instance ESP2 et le faire migrer sur la nouvelle instance ESP22. Pour ce faire :
Faire un clic droit sur _espdb – Propriétés – Options
Aller sur Restreindre l’accès et choisir l’option Single (Ceci permet de bloquer les accès à la base de données)
Cliquer sur OK -- Oui
Faire un clic droit sur _espdb – Tâches – Détacher
Activer mettre à jour
Décocher conserver les catalogues
Cliquer sur OK
Aller sur la nouvelle instance
Faire un clic droit sur Base de données – Joindre—Ajouter
Aller dans MSSQL – Data
Sélectionner _espdb_dat.mdf
Cliquer sur OK
Pour réaliser cette tâche avec Transact-SQL il faut faire :
Sp_detach_db ‘_espdb’ , true
4. Gestion des statistiques
a) Création de statistiques
Les statistiques peuvent être créés pour des colonnes spécifiques d’une table ou d’une vue. Pour créer une statistique il faut taper la commande create statistics.
REMARQUE : A partir de Management Studio aller dans Aide puis Index et taper create statistics. Vous verrez toutes les fonctionnalités de cette commande.
Création de groupe de statistiques dans la table AdventureWorks
Cliquer sur Nouvelle Requête
Taper le code qui suit :
create statistics ContactEmail
on Person.Contact(ContactID,EmailAddress)
Renvoyer l’ensemble des groupes de statistiques de la table Person.Contact
Taper Sp_helpstats'Person.Contact','All'
Voir le contenu du groupe de statistiques
Taper dbcc show_statistics('Person.Contact','ContactEmail')
b) Mise à jour des statistiques
On utilise la commande
update statistics Person.Contact ContactEmail
5. Réduction d’une base de données
Il devient essentiel de vérifier la taille de la taille de la base de données lorsque le volume de données s’accroît. L’administrateur de base de données doit contrôler la taille de la base de données pour améliorer les performances.
Pour réduire la taille d’un fichier il faut taper la commande
dbcc shrinkfile
Pour réduire la taille d’une base de données il faut taper la commande
dbcc shrinkdatabase
EXEMPLE : faire un clic droit sur AdventureWorks – Tâches – Réduire – Fichier
Cocher l’option Réorganiser les pages avant de libérer l’espace inutilisé
Mettre 1Mo
Cliquer sur OK
6. Expansion de la base de données
Avec l’accroissement du volume des données dans la base de données, les fichiers d’enregistrement peuvent atteindre leur taille maximale, il est donc nécessaire d’augmenter la taille de la base de données pour admettre plus de données.
Faire un clic droit sur AdventureWorks – Propriétés -- Fichiers
7. Réalisation de vérification d’intégrité de la base de données
dbcc permet en plus de réduire la taille de la base de données, de contrôler l’intégrité d’une base de données.
dbcc checkdb permet de contrôler la cohérence et l’intégrité de la base de données.
dbcc checkalloc permet de contrôler la cohérence de l’allocation de l’espace disque d’une base de données particulière
dbcc table est identique à dbcc checkdb à la différence qu’elle contrôle une seule vue indexée ou un index particulier.
8. Automatisation de la base de données avec un agent SQL Server
Un administrateur de base de données est responsable d’assurer la cohérence, la fiabilité et l’actualisation des données d’une base de données. Pour ce faire certaines tâches administratives doivent être effectuées périodiquement. Dans cette optique il est possible d’automatiser leur exécution grâce à SQL Server Agent.
Etude de cas : En tant qu’administrateur de base de données vous devez souvent démarrer ou arrêter le service de texte intégral sur votre serveur de base de données. Pour ce faire, vous avez décidé de créer un travail avec SQL Server Agent. Quand le travail est exécuté, vous devez envoyer une notification à l’administrateur système de votre entreprise à l’aide du service de messagerie de windows. L’adresse IP de la machine de l’administrateur système est 10.10.10.142.
Pour résoudre ce problème, des tâches suivantes devront être effectuées
a) Création d’un opérateur
La création d’un travail pour expédier une notification à l’administrateur quand le service de texte intégral démarre nécessite la création d’un opérateur.
Pour ce faire il faut :
Aller dans l’explorateur d’objets de Management Studio
Faire un clic droit sur Agent SQL Server
Cliquer sur Démarrer puis sur OUI
Dérouler Agent SQL Server
Faire un clic droit sur Opérateurs
Cliquer sur Nouvel opérateur
Renseigner les informations suivantes :
Nom : kiki
Adresse : Net Send
NB : Il faut que le service Windows Messenger soit configuré préalablement.
b) Création d’un travail
Faire un clic droit sur Travaux – Nouveau Travail
Renseigner les informations suivantes :
Nom : Démarrer service de recherche de texte intégral
Propriétaire : DEV1\sgedd
Description : Travail de service de recherche de texte intégral
Cliquer sur Etapes – Nouveau
Renseigner les informations suivantes :
Nom de l’étape: Démarrer service de recherche de texte intégral
Type : Système d’exploitation
Commande : Net Start msftesql$ESP2
Cliquer sur OK puis Notifications
Choisir l’opérateur kiki
Choisir l’option « Lorsque le travail est terminé »
Faire un clic droit sur Démarrer service de recherche de texte intégral
Cliquer sur Afficher l’historique -- Fermer
Etude de cas : En tant qu’administrateur, vous voulez accomplir une activité impliquant l’insertion en vrac dans la base de données AdventureWorks. Quand vous l’accomplissez elle échoue par manque d’espace dans la base de données tempdb.Vous souhaitez donc une alerte dans la base de données tmpdb. Cette alerte doit être lancée dès que la base de données tempdb n’a que 10Mo d’espace libre. L’alerte doit délivrer le message « Augumenter la taille de la base de données tempdb pour résoudre le problème ».
c) Création d’une alerte
Faire un clic droit sur Agent SQL Server
Cliquer sur Alerte – Nouvelle alerte
Nom : tempdbalerte
Type : Alerte de condition de performance SQL Server
Objet : MSSQL$ESP2 : Databases
Compteur : Data File(s) Size(KB)
Instance : tempdb
Alerte : devient égal à
Valeur : 100 000
Aller sur l’onglet Réponses
Cocher « Notifier les opérateurs »
Cocher Net Send
Aller sur l’onglet Options
Cocher Net Send
Noter « Augumenter la taille de la base de données tempdb »
Cliquer sur OK