Telechargé par Sonia Bit

Administration-SQL-SERVER

publicité
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
La république algérienne démocratique et populaire
‫الجمهورية الجزائرية الديمقراطية الشعبية‬
Ministère de la Formation et de l’Enseignement Professionnels
‫وزارة التكوين و التعليم المهنيين‬
Institut National Spécialisé de la Formation Professionnelle ANOUEL -Tébessa-‫المعهد الوطني المتخصص في التكوين المهني أنوال –تبسة‬
Manuel Technique et Pédagogique
INFORMATIQUE
Base de Données
ADMINISTRATION A L’AIDE
DE SQL SERVER
Niveau 5
Enseignante : Nadjette Mouici –PSEP2-
Octobre 2014
Sommaire
A) INTRODUCTION
B) INFORMATIONS GéNéRALES
B.1 Introduction
B.2 Définition et but
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
B.3 Comment utiliser ce Manuel ?
B.4 Liste de modules
C) LES DIFFERENTES SPECIALITES
D) LE MODULE DE MANUEL TECHNIQUE ET PEDAGOGIQUE DU STAGIAIRE
E) FICHE DE PRESENTATION DU MODULE
Chapitre01 : Présentationdes éléments d’administration SQL Server.
Elément d’administration de SQL Server
- Utilitaire OSQL et BCQ.
- Outil de gestion de SQL Server.
- Tache d’administration.
Chapitre 02 :Implémentation en mode d’authentification.
Gestion des autorisations.
Rappel sur la sécurité de SQL Server.
Traitement de l’authentification.
- Sélection d’un mode d’authentification.
- Création des comptes de connexions.
Chapitre 03 :Définition des autorisations.
Définition d’autorisation.
Types d’autorisation
Octroi, refus et révocation d’autorisation.
Chapitre 04 :Les options de la Base De Données.
Définition d’option de Base De Données.
Catégories des options de Base De Données
Options automatiques.
Options de curseurs.
Options de récupération.
Options d’état.
Options SQL.
Chapitre 05 :Réalisation d’une Restauration des sauvegardes des données.
Sauvegarde des bases de données.
Protection contre la perte.
Sauvegarde de SQL Server.
Exécution de sauvegarde.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Méthode de sauvegarde.
Planification d’une stratégie de sauvegarde.
Restauration de bases de données.
Processus de récupération de SQL Server.
Préparation à la restauration.
Restauration de sauvegarde.
Restauration de BD système endommagées.
Chapitre 06 :Surveillance des performances de SQL Server.
Surveillance des performances de SQL Server.
Raisons justifiant la surveillance de SQL Server.
Surveillance et ajustement des performances.
Outils de surveillances de SQL Server.
Tâches contraintes liées à la surveillance.
F) ACRONYMES.
G) LEXIQUE.
H) BIBLIOGRAPHIE.
A- INTRODUCTION :
Le Manuel Technique et Pédagogique du Stagiaire s’inscrit dans l’approche d’élaboration
des programmes de formation sous forme modulaire.
Compte tenu de sa spécialité méthodologique, ce manuel a pour but la traduction des
éléments de contenu du programme d’étude d’une spécialité en fiches techniques et
pédagogique.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Ce manuel, de par sa caractéristique d’aide – mémoire, répond au but de formation :
donner les documents techniques et pédagogiques nécessaires au stagiaire et enseignant
lui permettant de gères ses apprentissage et ses préparations aux différent contrôles et
examens.
Ce manuel permet de présenter un apprentissage progressif en respectant l’ordre de
difficulté, de ce fait le manuel peut constituer un manuel pédagogique pour l’enseignant
comme il peut constituer un manuel des travaux pratiques pour le stagiaire.
L’étude du module Administration à l’aide de SQL SERVERest un manuel de travaux
pratiques, il enseigne à la fois les techniques des bases de données et découvrir les
principes relatifs aux bases de données et leurs utilités.et les outils qu’offre l’Administration
à l’aide de SQL Server.
Dans ce manuel technique et pédagogique du stagiaire vous allez certainement découvrir
une nouvelle méthode d’apprentissage, qui est le fruit d’une recherche visant à atteindre
une formation efficace de n’importe quelle technique, il ne s’agit pas uniquement de
maîtriser la technique elle-même, mais de savoir la transmettre efficacement.
B- INFORMATIONS GENERALES :
Ce manuel renferme toutes les activités nécessaires à l’acquisition de la compétence visée
par ce module Administration à l’aide de SQL SERVER.
En matière d’élaboration et structuration de contenus de formation, cette méthodologie
s’appuie sur trois étapes essentielles de réalisation :
- traitement des informations.
- Planification de la rédaction.
- La rédaction des fiches technique et pédagogiques constituant le manuel.
Les éléments de contenu et les critères particulières de performance définissent
successivement l’exactitude et la pertinence du contenu de formation à développes, et
également sur quoi porte l’évaluation pour chaque objectif intermédiaire.
La planification de la rédaction des fiches techniques et pédagogiques constitue l’étape
intermédiaire dans le processus du stagiaire.
Cette planification comprend essentiellement les phrases suivantes :
- l’élaboration de la fiche de planification de la rédaction
La rédaction des fiches techniques et pédagogiques est une étape essentielle dans le
processus d’élaboration du manuel technique et pédagogique du stagiaire.
Ce développement consiste dans un premier temps à rechercher et à choisir dans une
documentation, un contenu technique et pédagogique nécessaire à la rédaction des fiches
techniques et pédagogique.
Le deuxième temps formuler ce contenu dans un style rédactionnel obéissant à des règles
didactique et dans un troisième temps à la synthétiser et le présenter sous forme de
résumés de afin de faciliter la compréhension et la mémorisation.
C - LES DIFFÉRENTES SPÉCIALITÉS :
Code de
spécialité
Intitule de la spécialité
Spécialité : INFORMATIQUE
Durée de formation
Niveau de qualification
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
BDD
BASE DE DONNEES
30 MOIS
Fiche de présentation U.M.Q
U.M.Q : implémenter et administrer la base de données.
Spécialité : INFORMATIQUE
NIVEAU 5
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Code : UMQ3
Durée : 646 h
Objectif de l’U.M.Q
Comportement attendu :
A l’issue de cette unité, le stagiaire doit être capable d’implémenter et administrer la base de données
sous réseaux avec SQL Server et inter base.
Conditions d’évaluation :
A partir :
 Documentation
 Etude conceptuelle et schéma du MLD validé
A l’aide :


Micro-ordinateurs munis des logiciels
Programmes et algorithmes
SQL Server, Inter base.
Critères généraux de performance :




Utilisation appropriée de la machine et respect des règles de sécurité et de santé
Utilisation adéquate des langages SQL et ISQL.
Implémentation correcte de la base.
Administration de la base selon les critères de la définition de la base.
Structure de l’U.M.Q
U.M.Q : Implémenter et administrer les SGBD.
Code : UMQ3.
Durée : 646 h.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Désignation des modules
Code
T.S.
Durée
MQ31
Implémentation de SQL server.
170 H
MQ32
Administration de SQL Server.
170 H
MQ33
Delphi réseaux.
136 H
MC31
Réseaux Informatiques.
170 H
Fiche de présentation des modules
UMQ :
Implémenter et administrer la base de données.
Module : Administration à l’aide de SQL Server.
Code : MQ32
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Durée : 170 h
Objectif modulaire
Comportement attendu :
A l’issue de ce module, le stagiaire doit être capable d’exécuteret automatiser les tâches
administratives et créer des outils d'administration personnalisés.
Conditions d’évaluation :
A partir :

BD implanté, documentation SQL Server.
A l’aide :

Logiciels de SQL Server+microordinateur.
Critères généraux de performance :



Gestion correcte des automatisations.
Sécurisation et restauration correcte des BD.
Automatisation correcte des tâches administratives.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Objectifs intermédiaires
Présenter
les éléments
d’administration SQL Server.
Implémenter
en mode
d’authentification.
Critères
particuliers de
performance
Présentation
correcte.
Mode
Eléments contenus
Elément d’administration de SQL Server
-
Utilitaire OSQL et BCQ.
-
Outil de gestion de SQL Server.
-
Tache d’administration.
Implémentation d’un mode d’authentification.
d’authentificat Rappel sur la sécurité de SQL Server.
ion
Traitement de l’authentification.
correctement
- Sélection d’un mode
implémenté.
d’authentification.
-

Définir les autorisations.
Définition
correcte.
Création des comptes de
connexions.
Gestion des autorisations.
Définition d’autorisation.
Types d’autorisation
Octroi, refus et révocation d’autorisation.
Réalisation
d’une sauvegarde
de bases de données.
 Restauration des
sauvegardes de données.
sauvegarde
correctement
réalisé.
 Restauration
correcteme
nt réalisée.
Sauvegarde des bases de données.
Protection contre la perte.
Sauvegarde de SQL Server.
Exécution de sauvegarde.
Méthode de sauvegarde.
Planification d’une stratégie de sauvegarde.
Restauration de bases de données.
Processus de récupération de SQL Server.
Préparation à la restauration.
Restauration de sauvegarde.

Surveiller les
performances deSQL
Server.
 Surveillance
correctemen
t réalisée.
Restauration de BD système endommagées.
Surveillance des performances de SQL Server.
Raisons justifiant la surveillance de SQL Server.
Surveillance et ajustement des performances.
Outils de surveillances de SQL Server.
Tâches contraintes liées à la surveillance.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Chapitre 01 :
Présentation des
éléments
d’administration SQL
Server
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
I.
T.S.
Eléments d’Administration SQL SERVER :
SQL Server fournit plusieurs outils de gestion qui permettent de réduire etd'automatiser les tâches
administratives de routine. Les instructionsTransact-SQL constituent le mécanisme sous-jacent utilisé pour
administrerSQL Server.
Figure1 : Eléments
d'Administration SQL SERVER
Vous pouvez administrer SQL Server en utilisant les éléments suivants :

des utilitaires de traitement par lots fournis avec SQL Server, tels que OSQL et BCP ;

des outils de gestion graphiques fournis avec SQL Server, tels queSQL Server Enterprise
Manager ;

des applications compatibles COM, telles que Visual Basic.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Les outils de gestion de ligne de commande de SQL Server permettent de taperdes
instructionsTransact-SQL et d'exécuter des fichiers de script. Chaque fichier est un programme
exécutableet utilisés le plus fréquemment :
OSQL:Utilitaire tirant parti de la connectivité ODBC (Open DatabaseConnectivity) pour
communiquer avec SQL Server (utilisé principalementpour exécuter des fichiers de traitement
par lots contenant une ou plusieursinstructions SQL).
BCP:Utilitaire de traitement par lots permettant d'importer et d'exporter desdonnées depuis/vers
SQL Server (c'est à dire copier des donnéesdepuis/vers un fichier de données dans un format
spécifié par l'utilisateur).
II. Outil de gestion de SQL Server :
SQL-DMO (Distributed Management Objects) est un ensemble d'objetsd'administration basés sur COM, et
utilisés par SQL Server.
SQL-DMO masqueles détails des instructions Transact-SQL et convient à la rédaction de
scriptsd'administration pour SQL Server. Les outils de gestion graphiques fournis avecSQL Server sont rédigés
avec SQL-DMO.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
III.
T.S.
Taches d’administration :
Agent SQL SERVER : L'Agent SQL Server est un service qui fonctionne avec SQL Server afin d'exécuter
les tâches administratives décrites ci-dessous :
 Gestion des alertes :
Les alertes fournissent des informations sur l'état d'un processus, tel que la fin d'une tâche ou l'apparition d'une
erreur. L'Agent SQL Server surveille le journal d'événements Applications Windows et génère des alertes.
 Notification :
L'Agent SQL Server peut envoyer des messages électroniques, prévenir un opérateur par un dispositif de
recherche de personnes, ou démarrerune autre application lors de l'apparition d'une erreur. Par exemple, vous
pouvez définir une alerte qui se déclenche avant saturation d'une base de données ou du journal des
transactions ou en cas de succès d'une sauvegarde de base de données.
 Exécution des travaux :
L'Agent SQL Server comprend un moteur de création et de planification de travaux. Les travaux peuvent être
de simples opérations composées d'une seule étape ou bien des tâches complexes composées de plusieurs
étapes et devant être planifiées. Vous pouvez également créer des étapes de travail à l'aide de Transact-SQL,
de langages de script ou de commandes de système d'exploitation.
 Gestion de la réplication :
La réplication est le processus de copie de données ou de transactions d'un serveur SQL Server vers un autre.
L'Agent SQL Server est chargé de la synchronisation des données entre les serveurs, de la surveillancedes
données en cas de modification et de la réplication des informations versd'autres serveurs.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Chapitre 02 :
Implémentation
en mode
d’authentificatio
n.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
I. la sécurité de SQL Server :
SQL Server est intégré au système de sécurité de Windows NT. Cetteintégration permet d'accéder à SQL
Server et à Windows NT à partir d'un nomd'utilisateur et d'un mot de passe uniques. SQL Server utilise
également lesfonctionnalités de cryptage de Windows NT pour la sécurité du réseau. SQLServer offre ses
propres fonctionnalités de sécurité pour les clients autres queles clients Microsoft.
II. Traitement de l’authentification :
Un utilisateur doit disposer d'un compte de connexion pour se connecter à SQL Server. SQL Server
reconnaît deux mécanismes d'authentification de connexion (l'authentification SQL Server et
l'authentification Windows NT), chacun ayant un type de compte de connexion différent.
Figure 2: Traitement de l’authentification.
III.1. Authentification SQL SERVER :
Dans le cadre de l'authentification SQL Server, l'administrateur d'un systèmeSQL Server définit un
compte de connexion SQL Server et un mot de passe.
Les utilisateurs doivent fournir leur nom et leur mot de passe de connexionSQL Server lorsqu'ils se
connectent à SQL Server.
III.2.Authentification WINDOWS :
Dans le cadre de l'authentification Windows, un compte ou groupeWindows contrôle l'accès des
utilisateurs à SQL Server (l'utilisateur n'a pasbesoin de posséder de compte de connexion SQL Server
pour se connecter).
L'administrateur d'un système SQL Server doit définir le compte Windows ou le groupe Windows en
tant que compte de connexion SQL Server valide.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
III.
T.S.
Modes d’authentification:
Lorsque SQL Server s'exécute sous Windows, l'administrateur système peut demander à ce qu'il soit
exécuté dans l'un des deux modes d'authentification décrits ci-dessous.
III.1. Mode d’authentification WINDOWS : Seule l'authentification Windows estautorisée. Les
utilisateurs ne peuvent pas spécifier de compte de connexionSQL Server.
III.2. Mode mixte : Lors de l'utilisation de ce mode d'authentification, les utilisateurspeuvent se
connecter à SQL Server avec l'authentification Windows oul'authentification SQL Server.
IV.
Création des comptes de connexions :Rôles et comptes d’utilisateur de base de données
Une fois les utilisateurs authentifiés et autorisés à se connecter à SQL Server, ils doivent disposer
d'un compte dans une base de données. Les rôles et les comptes d'utilisateur identifient un utilisateur
au sein d'une base de données et contrôlent la propriété des objets et les autorisations d'exécution
d'instructions.
Figure 3: Rôles et comptes d’utilisateur de base de données.
IV.1. Comptes d’utilisateur de BDD :
Les comptes d'utilisateur employés pour attribuer des autorisations de sécurité sont des utilisateurs, des
groupes Windows ou des comptes de connexion SQL Server. Les comptes d'utilisateur sont spécifiques à une
base de données.
IV.2. ROLES :
Les rôles permettent de grouper des utilisateurs en une entité unique à laquelle vous pouvez attribuer des
autorisations. SQL Server propose des rôles de serveur et de base de données prédéfinis pour des fonctions
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
administratives courantes afin que vous puissiez accorder un ensemble d'autorisations administratives à un
utilisateur spécifique. Vous pouvez également créer vos propres rôles de base de données. Dans SQL Server,
les utilisateurs peuvent appartenir à plusieurs rôles.
a. Rôles fixes de serveur :
Les rôles fixes de serveur permettent de regrouper des privilèges administratifsau niveau du serveur. Ils
sont gérés au niveau du serveur, indépendamment desbases de données utilisateur. Le tableau suivant
décrit les rôles fixes de serveurles plus courants :
Rôle
Autorisation
Créateurs de bases de donnée s(dbcreator)
Création et modification des bases de données
Administrateurs de disques (diskadmin)
Gestion des fichiers sur disque
Administrateurs de processus (processadmin)
Gestion des processus SQL Server
Administrateurs de sécurité (securityadmin)
Gestion et audit des noms de connexion serveur
Administrateurs de serveur (serveradmin)
Configuration des paramètres de serveur
Administrateurs d'installation (setupadmin)
Installation de la réplication
Administrateurs système (sysadmin)
Exécution de toutes les activités
 Ajout d'un membre à un rôle de serveur fixe :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_addsrvrolemember pour ajouter une connexion comme
membre d'un rôle de serveur fixe.
Syntaxes: sp_addsrvrolemember[ @loginame = ] 'login' , [ @rolename = ] 'role'
Arguments
Description
[@loginame =] 'login' Nom de la connexion ajoutée au rôle de serveur fixe.
[@rolename =] 'role'
Nom du rôle de serveur fixe dans lequel la connexion est ajoutée.
Exemple: Cet exemple ajoute un utilisateur Windows NT ServBDD\BhiriBau rôle de serveur
fixesysadmin.
EXEC sp_addsrvrolemember 'ServBDD\BhiriB', 'sysadmin'
 Suppression d'une connexion d'un rôle de serveur fixe :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_dropsrvrolemember pour supprimer un compte
utilisateur Microsoft SQL Server ou un utilisateur ou groupe Microsoft Windows NT dans un rôle de
serveur fixe.
Syntaxe : sp_dropsrvrolemember[ @loginame = ] 'login' , [ @rolename = ] 'role'
Exemple : Cet exemple supprime la connexion ServBDD\BhiriBdu rôle de serveur fixe sysadmin.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
EXEC sp_dropsrvrolemember ' ServBDD\BhiriB', 'sysadmin'
b. Rôles fixes de BDD :
Les rôles fixes de base de données permettent de regrouper des privilèges administratifs au niveau de
la base de données. Le tableau suivant décrit les rôles fixes de base de données les plus courants :
Rôle
Autorisation
Public
Conservation de toutes les autorisations par défaut pour les utilisateurs d'une base
de données
db_owner
Exécution de toutes les activités de rôle de base de données
db_accessadmin
Ajout ou suppression d'utilisateurs, de groupes et de rôles de base de données
db_ddladmin
Ajout, modification ou suppression d'objets de base dedonnées
db_securityadmin
Affectation d'autorisations d'instructions et d'objets
db_backupoperator Sauvegarde et restauration de bases de données
db_datareader
Lecture de données dans toutes les tables
db_datawriter
Ajout, modification ou suppression de données dans toutes lestables
db_denydatareader Interdiction de lecture des données dans toutes les tables
db_denydatawriter
Interdiction de modification des données dans toutes les tables
 Ajout d'un membre à un rôle de base de données SQL Server :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_addrolemember pour ajouter un membre à un rôle de
base de données fixe dans la base de données courante..
Syntaxe: sp_addrolemember[ @rolename = ] 'role' , [ @membername = ] 'security_account'
Arguments
Description
[@rolename =] 'role'
Nom du rôle SQL Server dans la base de données
courante
[@membername =] 'security_account' Compte sécurisé ajouté au rôle.
Exemple : Cet exemple ajoute l'utilisateur Windows NT Serv15B3\SelmiF à la base de données BD1
en tant qu'utilisateur Selmi Farid. Selmi Farid est ensuite ajouté au rôle db_owner.
USE BD1
GO
EXEC sp_grantdbaccess 'ServBDD\BhiriB', 'BhiriBachir'
GO
EXEC sp_addrolemember 'db_owner', 'Bhiribachir'
 Suppression d'un compte d'utilisateur d'un rôle fixe de base de données :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_droprolemember pour supprimer un compte sécurisé
d'un rôle Microsoft SQL Server dans la base de données en cours.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Syntaxe: sp_droprolemember[ @rolename = ] 'role' , [ @membername = ] 'security_account'
Exemple : Cet exemple supprime l'utilisateur Bhiri Bachir dans le rôle db_owner.
EXEC sp_droprolemember 'db_owner', 'BhiriBachir'
c. Rôles de BDD définies par l’utilisateur :
Vous pouvez également créer vos propres rôles de base de données pour refléter le travail effectué
par un groupe d'employés dans votre entreprise. Il n'est pas nécessaire d'accorder ou de révoquer les
autorisations pour chaque personne. En cas de modification de la fonction d'un poste, vous pouvez
aisément modifier les autorisations pour ce rôle et appliquer automatiquement ces modifications à tous
les membres du rôle.
 Création d'un rôle de base de données SQL Server :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_addrole pour crée un nouveau rôle SQL Server dans la
base de données courante.
Syntaxe: sp_addrole[ @rolename]= 'role' , [ @ownername] = ['owner' ]
Arguments
Description
[@rolename ]= 'role'
Nom du nouveau rôle.
[@ownername ]= 'owner'
Propriétaire du nouveau rôle.
Exemple : Cet exemple ajoute le nouveau rôle appelé Gestionnaires à la base de données courante.
EXEC sp_addrole 'Gestionnaires'
Exemple : Cet exemple ajoute le compte utilisateur de base de données Bhiri Bachir dans le rôle
Gestionnaires, dans la base de données courante.
EXEC sp_addrolemembre 'Gestionnaires',’ Bhiri Bachir'
 Suppression d'un rôle de base de données défini par l'utilisateur :
 A l'aide de Transact-Sql :
Utilisez la procédure stockée système sp_droprole pour supprimer un rôle SQL Server dans la base
de données en cours.
Syntaxe : sp_droprole [@rolename =] 'role'
Exemple : Cet exemple supprime le rôle Gestionnaires de SQL Server.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
EXEC sp_droprole 'Gestionnaires'
Chapitre 03 :
Les
autorisations.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
I.
T.S.
Définition d’autorisation :
Au sein de chaque base de données, vous affectez des autorisations aux comptes
d'utilisateur et aux rôles afin d'exécuter (ou restreindre) certaines actions.
SQL Server accepte les commandes une fois que l'utilisateur a accédé avec succès à une
base de données.
II.
GESTION des autorisations :
Figure 4: Gestion des autorisations
Lors de la validation des autorisations, SQL Server réalise les étapes décrites ci-dessous :
1. Lorsque l'utilisateur accomplit une action, telle que l'exécution d'une instruction
Transact-SQL ou la sélection d'une option de menu, les instructions Transact-SQL sont
envoyées à SQL Server.
2. Lorsque SQL Server reçoit une instruction Transact-SQL, il vérifie que l'utilisateur
possède l'autorisation d'exécuter l'instruction.
3. SQL Server effectue ensuite l'une des deux actions décrites ci-dessous :
• Si l'utilisateur ne possède pas les autorisations appropriées, SQL Server renvoie
une erreur.
• Si l'utilisateur possède les autorisations appropriées, SQL Server effectue l'action.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Chaque objet d'une base de données SQL Server a un propriétaire, généralement l'ID
utilisateur de la connexion active lors de la création de l'objet. Les autres utilisateurs ne
peuvent pas accéder à cet objet tant que le propriétaire n'autorise pas leur ID utilisateur à
le faire.
Certaines instructions Transact-SQL sont également limitées à certains ID utilisateur. Par
exemple, CREATE DATABASE est limité aux membres des rôles de serveur fixes sysadminet
dbcreator. Les utilisateurs ne peuvent accéder à un objet ou exécuter une instruction que
s'ils en ont l'autorisation.
Toutes les instructions Transact-SQL lancées par un utilisateur sont soumises à ses
autorisations. Les membres du rôle de serveur fixe sysadmin, les membres du rôle de base
de données fixe db_owner, et les propriétaires des objets de la base de données peuvent
octroyer (permettre), refuser ou révoquer les autorisations d'une personne ou d'un rôle.
Lorsque vous utilisez Transact-SQL, utilisez les instructions GRANT, DENY et REVOKE afin de
spécifier qui peut utiliser quelles instructions de modification de données :
• GRANT : donne les autorisations d'utiliser des données ou d'exécuter d'autres instructions
SQL.
• DENY : refuse l'autorisation et empêche l'utilisateur, le groupe ou le rôle spécifié d'hériter
de l'autorisation grâce à son appartenance à un groupe ou à un rôle.
• REVOKE : supprime les autorisations accordées ou refusées antérieurement.
Les autorisations qui peuvent être accordées pour des objets sont les suivantes :
• SELECT : Permet à un utilisateur d'exécuter des instructions SELECT dans une table ou une
vue.
• INSERT : Permet à l'utilisateur d'exécuter des instructions INSERT dans une table ou une
vue.
• UPDATE : Permet à l'utilisateur d'exécuter des instructions UPDATE dans une table ou une
vue.
• DELETE : Permet à l'utilisateur d'exécuter des instructions DELETE dans une table ou une
vue.
• REFERENCES : Permet à l'utilisateur de faire référence avec des clés étrangères à la clé
primaire et aux colonnes uniques d'une table. Cette autorisation est également utilisée pour
permettre desréférences SCHEMABINDING à partir de vues et de fonctions.
• EXECUTE: Permet à l'utilisateur d'exécuter des instructions EXECUTE dans une procédure
stockée.
Les autorisations peuvent également être accordées afin d'exécuter des instructions
Transact-SQL normalement limitées aux membres d'un rôle spécifique. Par exemple, un
membre du rôle de serveur fixe sysadminpeut octroyer des autorisations CREATE
DATABASE à un utilisateur qui ne peut habituellement pas créer de base de données.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
III.
T.S.
Types d’autorisation :
Lorsque des utilisateurs se connectent à une instance de SQL Server, les opérations qu'ils
peuvent effectuer sont déterminées par les autorisations accordées :
• A leurs comptes de sécurité ;
• Hiérarchies de rôle ou de groupes Microsoft Windows NT 4.0 ou Windows 2000 auxquels
appartiennent leurs comptes de sécurité.
L'utilisateur doit disposer des autorisations appropriées pour effectuer toute opération
impliquant une modification de la définition de la base de données ou l'accès aux données.
La gestion des autorisations comprend l'accord ou le retrait de droits utilisateur pour :
• Travailler avec des données et exécuter des procédures (autorisations d'objet) ;
• Créer une base de données ou un élément dans la base de données (autorisations
d'instruction) ;
• Utiliser des autorisations accordées à des rôles prédéfinis (autorisations implicites).
1. Autorisations sur les objets :
La manipulation de données ou l'exécution d'une procédure requièrent une classe
d'autorisations appeléeautorisations sur les objets :
• Les autorisations d'instructions SELECT, INSERT, UPDATE et DELETE, qui peuvent être
appliquées àla table ou à la vue tout entière ;
• les autorisations d'instructions SELECT et UPDATE, qui peuvent être appliquées de
manière sélective aux colonnes individuelles d'une table ou d'une vue ;
Autorisations SELECT, qui peuvent être appliquées à des fonctions définies par l'utilisateur ;
• Les autorisations d'instruction INSERT et DELETE, qui affectent la ligne entière et ne
peuvent, parconséquent, être appliquées qu'à la table et à la vue et non aux colonnes
individuelles ;
• Les autorisations d'instruction EXECUTE, qui n'affectent que les procédures stockées et les
fonctions.
2. Autorisations d'instruction :
Les activités impliquées dans la création d'une base de données ou d'un élément de base de
données, tels qu'unetable ou une procédure stockée, nécessitent une classe d'autorisations
différente appelée autorisations d'instructions. Si, par exemple, un utilisateur doit créer une
table à l'intérieur d'une base de données, vous devez donc lui accorder l'autorisation
d'instruction CREATE TABLE. Les autorisations d'instruction, telles que CREATE DATABASE,
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
sont appliquées à l'instruction proprement dite, plutôt qu'à un objet spécifique défini dans
la base de données.
Les autorisations d'instruction sont les suivantes :
• BACKUP DATABASE
• BACKUP LOG
• CREATE DATABASE
• CREATE DEFAULT
• CREATE FUNCTION
• CREATE PROCEDURE
• CREATE RULE
• CREATE TABLE
• CREATE VIEW
3. Autorisations implicites :
Les autorisations implicites contrôlent les opérations qui peuvent uniquement être
effectuées par des membresde rôles de système prédéfinis ou des propriétaires d'objets
de base de données. Par exemple, un membre du rôle de serveur fixe sysadmin hérite
automatiquement de toutes les autorisations requises pour faire ou afficher tout ce qu'il
veut dans une installation SQL Server.
Les propriétaires de bases de données disposent également d'autorisations implicites
leur permettant d'effectuer toutes les opérations qu'ils souhaitent sur l'objet leur
appartenant. Par exemple, un utilisateur possédant une table peut afficher, ajouter ou
supprimer les données de la table, modifier sa définition, ou contrôler les autorisations
permettant aux autres utilisateurs de travailler avec cette table.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
I.
T.S.
Octroi de permission :
Accordez des autorisations d'instruction et d'objet qui permettent à un compte utilisateur :
• D'effectuer des opérations ou de travailler avec des données dans la base de données en
cours ;
• De les restreindre quant aux opérations et informations qui ne font pas partie de leur
fonction.
Vous pourriez, par exemple, être tenté d'accorder l'autorisation sur l'objet SELECT sur la
table Employeeà tous les membres du rôle personnel, permettant ainsi à tous les membres
du service du personnel de consulter la table Employee.
Quelques mois plus tard, vous pourriez très bien entendre des membres du rôle personnel
discuter des salaires des cadres, une information qui n'est pas censée être connue de tous
les membres du rôle personnel.
Dans ce genre de situation, accordez l'accès à SELECT aux membres du rôle personnel pour
toutes les colonnes de la table Employee, à l'exception de la colonne Salaire.
Remarque :
Il est possible de n'accorder des autorisations qu'aux comptes utilisateur dans la base de
données en cours, pour les objets figurant dans cette base.
Si un utilisateur a besoin d'autorisations sur des objets d'une autre base de données, créez
le compte de l'utilisateur dans l'autre base de données, ou autorisez le compte de
l'utilisateur à accéder à la fois à l'autre base de données et à la base de données courante.
Les procédures système stockées constituent une exception car les autorisations pour
EXECUTE sont déjà accordées au rôle public, ce qui autorise tous les utilisateurs à les
exécuter. Cependant, après l'émission d'une instruction EXECUTE, les procédures système
stockées vérifient l'appartenance de l'utilisateur au rôle.
Si l'utilisateur n'est pas membre du rôle de serveur ou de base de données fixe approprié,
requis pour exécuter la procédure stockée, celle-ci ne poursuivra pas son exécution.
A l'aide de Transact-Sql :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Utilisez GRANT pour créer une entrée dans le système de sécurité qui permet à un
utilisateur de la base de données courante de travailler avec les données de la base ou
d'exécuter des instructions Transact-SQL particulières.
• Octroi d'autorisations sur un objet aux utilisateurs d'une base de données :
Syntaxe :
Autorisations sur un objet :
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ (column [ ,...n ] ) ] ON { table| view }
| ON { table| view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure| extended_procedure}
| ON { user_defined_function}
}
TO security_account[ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role} ]
Exemple1 : Cet exemple accorde l'autorisation Select, Insert et Update pour le compte Reguig Radia
sur la table Table1.
USE MaBaseDeDonnees
GO
GRANT SELECT, INSERT, UPDATE ON Table1 TO [ReguigRadia]
GO
Exemple2 : Cet exemple accorde l'autorisation Select à tous les membres du rôle Public pour la
table Table1.
GRANT SELECT ON Table1 TO Public
 Octroi d'autorisations d'instruction aux utilisateurs d'une base de données :
Syntaxe
Autorisations sur une instruction :
GRANT { ALL | statement [ ,...n ] }
TO security_account[ ,...n ]
Exemple : Cet exemple accorde plusieurs autorisations d'instruction aux utilisateurs Selmi Farid et
ReguigRadia.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
GRANT CREATE TABLE, BACKUP DATABASE TO [ReguigRadia], [SelmiFarid]
II.
Refus d'autorisation :
SQL Server permet aux utilisateurs et aux groupes Microsoft Windows 2008, aux utilisateurs
SQL Server et aux rôles de bases de données SQL Server d'être membres d'autres rôles. Il en
résulte un système de sécurité hiérarchisé permettant d'appliquer des autorisations à
travers plusieurs niveaux de rôles et de membres. Mais vous pouvez aussi parfois souhaiter
limiter les autorisations accordées à un utilisateur ou à un rôle. Le refus d'autorisation sur
un compte utilisateur :
• Supprime une autorisation précédemment accordée à l'utilisateur, au groupe ou au rôle ;
• Désactive une autorisation héritée d'un ou de plusieurs autres rôles ;
• Vous assure qu'un utilisateur, un groupe ou un rôle n'héritera pas à l'avenir d'une
autorisation émanant d'un groupe ou d'un rôle de niveau supérieur.
Par exemple, vous pouvez être amené à permettre à tous les employés titularisés de votre
société d'accéder à plusieurs tables dans une base de données, à l'exception de quelques
nouveaux employés répartis un peu partout dans l'Enterprise que vous voulez empêcher de
pouvoir consulter la table Employee.
Créez un rôle pour chaque service de la société et ajouter tous les employés dans le rôle de
leur service. Créez ensuite un rôle global Personnel, puis lui ajouter chacun des rôles de
service auxquels vous accorderez les autorisations requises pour afficher les tables. À ce
stade, chaque employé de la société sera en mesure d'afficher toutes les tables parce qu'il
aura hérité de l'autorisation du rôle Personnel par le biais des rôles de son service.
Pour interdire de manière sélective à certains employés d'afficher la table Employee, créez
un rôle Non_Employeedans lequel vous ajouterez les quelques employés qui ne doivent pas
pouvoir afficher la table.
Lorsque vous refusez à Non_Employeel'autorisation d'afficher Employee, l'accès à cette
table est supprimé pour tous les membres du rôle Non_Employee, sans affecter le reste des
employés de la société.
Vous pouvez également refuser des autorisations à un utilisateur individuel. Dans l'exemple
précédent, un utilisateur ne faisant pas partie du personnel peut avoir un compte
Windows2008 dans le cadre d'un travail sur un projet à court terme dans la base de
données. Vous pouvez refuser les autorisations d'afficher la table Employeeà son compte
utilisateur individuel sans devoir créer un rôle de base de données SQL Server spécifique.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Remarque :Il n'est possible de refuser des autorisations qu'à des comptes utilisateur dans la
base de données en cours, pour les objets figurant dans cette base de données.
• Interdiction d'accès par refus d'autorisations sur un objet :
A l'aide de Transact-Sql
Utilisez DENY pour créer une entrée dans le système de sécurité qui refuse une autorisation
à un compte de sécurité dans la base de données courante et empêche ce dernier d'hériter
de l'autorisation via les membres de son groupe ou de son rôle.
Syntaxe
Autorisations sur un objet :
DENY
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ (column [ ,...n ] ) ] ON { table | view }
| ON { table| view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure| extended_procedure}
| ON { user_defined_function}
}
TO security_account[ ,...n ]
[ CASCADE ]
Exemple1 : Cet exemple refuse l'autorisation Select, Insert et Update pour le compte Reguig
Radia sur la table Table1
USE MaBaseDeDonnees
GO
DENY SELECT, INSERT, UPDATE ON Table1 TO [ReguigRadia]
GO
Exemple2 : Cet exemple refuse l'autorisation Select à tous les membres du rôle Public pour
la table Table1.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
DENY SELECT ON Table1 TO Public
 Refus d'autorisations d'instruction aux utilisateurs d'une base de données :
A l'aide de Transact-Sql :
Syntaxe
Autorisations sur une instruction :
DENY { ALL | statement [ ,...n ] }
TO security_account[ ,...n ]
Exemple : Cet exemple refuse plusieurs autorisations d'instruction aux utilisateurs
Selmi Farid et ReguigRadia.
DENY CREATE TABLE, BACKUP DATABASE TO [ReguigRadia], [SelmiFarid]
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
III.
T.S.
Retrait d'autorisation :
Vous pouvez retirer une autorisation précédemment accordée ou refusée. Le retrait d'une
autorisation est similaire à un refus dans la mesure où les deux actions suppriment une
autorisation accordée au même niveau.
Cependant, bien que le retrait supprime une autorisation accordée, cela n'empêche pas
l'utilisateur, le groupe ou le rôle d'hériter d'une autorisation accordée à un niveau
supérieur. Par conséquent, si vous retirez l'autorisation d'affichage d'une table accordée à
un utilisateur, il est possible que celui-ci puisse encore l'afficher parce que l'autorisation
avait été accordée à un rôle auquel il appartient.
De même, il est également possible de supprimer une autorisation précédemment refusée
en retirant le refus d'autorisation. Cependant, si un utilisateur a d'autres autorisations
refusées au niveau du groupe ou du rôle, l'accès lui sera toujours refusé.
Remarque :Il n'est possible de retirer des autorisations que sur des comptes utilisateur de la base
de données en cours, pour les objets figurant dans cette base.
• Révocation des autorisations sur un objet :
A l'aide de Transact-Sql
Utilisez REVOKE pour supprimer une autorisation accordée ou refusée antérieurement à un
compte utilisateur pour la base de données en cours.
Autorisations sur un objet :
REVOKE [ GRANT OPTION FOR ]
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ (column [ ,...n ] ) ] ON { table| view }
| ON { table| view } [ ( column [ ,...n ] ) ]
| ON { stored_procedure| extended_procedure}
| ON { user_defined_function}
}
{ TO | FROM }
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
security_account[ ,...n ]
[ CASCADE ]
[ AS { group | role} ]
Autorisations : Les autorisations REVOKE reviennent par défaut aux membres du rôle de
serveur
fixe
sysadmin,
des
rôles
de
bases
de
données
fixes
db_owneret
db_securityadminet aux propriétaires des objets.
Exemple1 : Cet exemple Retire le refus Select, Insert et Update pour le compte Reguig Radia
sur la table Table1.
USE MaBaseDeDonnees
GO
REVOKE SELECT, INSERT, UPDATE ON Table1 TO [ReguigRadia]
GO
Exemple2 : Cet exemple retire le refus Select à tous les membres du rôle Public pour la
table Table1.
REVOKE SELECT ON Table1 TO Public
 Révocation d'autorisations d'instruction auprès des utilisateurs d'une base de
données :
A l'aide de Transact-Sql
Syntaxe:
Autorisations sur une instruction :
REVOKE { ALL | statement [ ,...n ] }
FROM security_account[ ,...n ]
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Chapitre04 :
Les options
Des
Bases De
Données.
Spécialité : INFORMATIQUE
T.S.
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Fiche Technique
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 03No séance:03.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre04:Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les catégories d’options de BDD SQL SERVER.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER LES
CATEGORIES D’OPTIONS DES BASES DE DONNEES SOUS SQL
SERVER;
A L’AIDE DES FICHIERS DE BDD ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Chapitre 04 :
Les options de
bases de
données SQL
SERVER.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
I.
T.S.
Définition des options de base de données :
Pour chaque base de données, il est possible de définir un certain nombre d'options au niveau de la base de
données afin de déterminer ses caractéristiques. Seuls l'administrateur système, les propriétaires de base de
données, les membres des rôles de serveur fixes sysadminet dbcreatoret du rôle de base de données fixe
db_ownerpeuvent modifier ces options.
Ces options sont propres à une base de données, et n'affectent pas les autres. Les options de base de
données peuvent être configurées à l'aide de la clause SET de l'instruction ALTER DATABASE, de la
procédure stockée système sp_dboptionou, dans certains cas, de SQL Server Enterprise Manager.
Syntaxe de la procédure stockée système sp_dboption
sp_dboption[ [@dbname = ] 'database' ]
[ ,[ @optname = ] 'option_name' ]
[ ,[ @optvalue = ] 'value' ]
Arguments
Description
[@dbname =] 'database'
Nom de la base de données dans laquelle il faut paramétrer l'option
spécifiée
[@optname =] 'option_name'
Nom de l'option que vous voulez paramétrer.
[@optvalue =] 'value'
Nouveau paramètre de l'option spécifiée par option_nam. value peut être
vrai (true) ou faux (false), ou activé (on) ou désactivé (off).
Après que vous avez défini une option de base de données, un point de contrôle est automatiquement créé de
façon à ce que la modification entre en vigueur immédiatement.
Pour modifier les valeurs par défaut de l'une des options de base de données afin qu'elles s'appliquent aux
nouvelles base de données créées, modifiez l'option de base de données appropriée dans la base de données
model.
Il existe cinq catégories d'options de base de données :
• Options automatiques ;
• Options de curseur ;
• Options de récupération ;
• Options sql ;
• Options d'état.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Fiche Technique
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 03No séance:03.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre04:Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options automatiques.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER LES
OPTIONS AUTOMATIQUES DES BASES DE DONNEES SOUS SQL
SERVER;
A L’AIDE DES FICHIERS DE BDD ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
1. Options automatiques :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Les options automatiques (auto) contrôlent certains comportements automatiques.

AUTO_CLOSE
Si cette option est définie avec la valeur ON, la base de données est fermée proprement lorsque le dernier
utilisateur la quitte et que tous ses processus se terminent, ce qui libère ainsi les ressources.
Par défaut, cette option est activée pour toutes les bases de données avec SQL Server 2000 Desktop Engine,
et désactivée dans toutes les autres éditions, quel que soit le système d'exploitation. La base de données
s'ouvre automatiquement lorsqu'un utilisateur tente de l'utiliser à nouveau.
Si cette option possède la valeur OFF, la base de données reste ouverte même si aucun utilisateur ne l'utilise.

AUTO_CREATE_STATISTICS
Si cette option possède la valeur ON, des statistiques sont créées automatiquement sur les colonnes utilisées
dans un prédicat.
L'ajout de statistiques améliore les performances des requêtes car l'optimiseur de SQL Server est capable de
déterminer plus précisément comment évaluer une requête. Si les statistiques ne sont pas utilisées, SQL
Server les supprime automatiquement. Si cette option possède la valeur OFF, SQL Server ne crée pas
automatiquement les statistiques et celles-ci peuvent alors être créées manuellement.
AUTO_CREATE_STATISTICS est activée par défaut.

AUTO_UPDATE_STATISTICS
Si cette option possède la valeur ON, les statistiques existantes sont automatiquement mises à jour une fois
devenues obsolètes en raison de la modification de données des tables.
Si elle est possède la valeur OFF, les statistiques ne sont pas mises à jour automatiquement et peuvent être
mises à jour manuellement.
AUTO_UPDATE_STATISTICS possède par défaut la valeur ON.

AUTO_SHRINK
Si cette option possède la valeur ON, les fichiers de données et journaux des transactions peuvent être,
compactés automatiquement par SQL Server.
Si elle possède la valeur OFF, les fichiers de base de données ne sont pas compactés automatiquement lors
des vérifications périodiques de l'espace inutilisé.
Par défaut, cette option est activée pour toutes les bases de données avec SQL Server Édition Desktop, et
désactivée dans toutes les autres éditions, quel que soit le système d'exploitation.
AUTO_SHRINK ne réduit la taille du journal des transactions que si le modèle de récupération SIMPLE est
associé à la base de données ou que le journal est sauvegardé.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
L'option AUTO_SHRINK provoque le compactage dès qu'un fichier comprend plus de 25 % d'espace inutilisé.
Le fichier est compacté pour que 25 % du fichier demeure inutilisé ou à sa taille initiale au moment de sa
création, selon celle des deux valeurs qui est la plus grande.
Il est impossible de compacter une base de données en lecture seule.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Fiche Technique
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 03No séance:03.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre04:Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options de curseurs.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER LES
OPTIONS DE CURSEURS DES BASES DE DONNEES SOUS SQL
SERVER;
A L’AIDE DES FICHIERS DE BDD ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
2. Options de curseur :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Les options de curseur contrôlent le comportement et la portée du curseur.

CURSOR_CLOSE_ON_COMMIT
Si cette option possède la valeur ON, tous les curseurs ouverts sont fermés automatiquement (conformément
à SQL-92) lors de la validation d'une transaction.
Cette option est désactivée (OFF) par défaut, et les curseurs restent ouverts d'une transaction à l'autre, ne se
fermant que lors de la fermeture de la connexion ou sur demande explicite.

CURSOR_DEFAULT LOCAL | GLOBAL
Si, alors que CURSOR_DEFAULT LOCAL est défini, aucun curseur n'est défini comme GLOBAL lors de sa
création, le curseur est de portée locale pour le lot d'instructions, la procédure stockée ou le déclencheur dans
lequel il a été créé. Le nom du curseur n'est valide que dans cette portée. Le curseur peut être référencé par
des variables de curseur locales du lot d'instructions, de la procédure stockée ou du déclencheur, ou bien par
un paramètre OUTPUT d'une procédure stockée. Le curseur est désalloué implicitement à la fin du lot
d'instructions, de la procédure stockée ou du déclencheur, à moins d'avoir été renvoyé dans un paramètre
OUTPUT. S'il a été renvoyé dans un paramètre OUTPUT, le curseur est désalloué lorsque la dernière variable
qui y fait référence est désallouée, ou lorsqu'il est hors de portée.
Si CURSOR_DEFAULT GLOBAL est défini et qu'aucun curseur n'est défini comme LOCAL lors de sa création,
le curseur est de portée globale pour la connexion. Toute procédure stockée ou tout lot d'instructions exécuté
par la connexion peut faire référence au nom du curseur. Le curseur n'est dés alloué implicitement qu'au
moment de la déconnexion.
CURSOR_DEFAULT GLOBAL est le paramètre par défaut.
Fiche Technique
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 03No séance:03.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre04:Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options de récupération.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER LES
OPTIONS DE RECUPERATION DES BASES DE DONNEES SOUS SQL
SERVER;
A L’AIDE DES FICHIERS DE BDD ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
3.
Options de récupération :
Les options de récupération contrôlent le modèle de récupération de la base de données.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

T.S.
RECOVERY FULL | BULK_LOGGED | SIMPLE :
Valeur: FULL, BULK_LOGGED, SIMPLE
Si l'option FULL est spécifiée, les sauvegardes de la base de données et celles du journal des transactions sont
utilisées pour assurer la récupération complète à la suite d'une panne de support. Toutes les
opérations,notamment les opérations en bloc telles que SELECT INTO, CREATE INDEX et le chargement en
bloc des
données, sont entièrement consignées.
Si l'option BULK_LOGGED est spécifiée, l'enregistrement de toutes les opérations SELECT INTO, CREATE
INDEX et de chargement en bloc des données, est minimal et requiert, par conséquent, moins d'espace dans le
journal. En contrepartie de meilleures performances et d'une utilisation moindre de l'espace du journal, le risque
de perte de données est plus important que dans le cas de la récupération complète.
Si l'option SIMPLE est spécifiée, la base de données peut être récupérée uniquement jusqu'à la dernière
sauvegarde complète ou différentielle.
L'option SIMPLE est le paramètre par défaut pour le moteur de données et SQL Server Édition Desktop, tandis
que l'option FULL est le paramètre par défaut pour toutes les autres éditions.

TORN_PAGE_DETECTION :
Cette option de récupération permet à SQL Server de détecter des opérations d'E/S incomplètes à la suite
d'une coupure de courant ou de toute panne d'alimentation du système.
Si cette option possède la valeur ON, un bit est inversé pour chaque secteur de 512 octets d'une page de base
de données de 8 kilo-octets (Ko) lorsque la page est écrite sur le disque. Si, lorsque SQL Server lit par la suite
la page, le bit n'a pas l'état voulu, cela signifie que la page a été écrite incorrectement, et elle est considérée
comme endommagée. Les pages endommagées sont généralement détectées au cours de la récupération,
étant donné que toute page incorrectement écrite peut être lue au cours de ce processus.
Bien que la taille des pages de base de données SQL Server soit de 8 Ko, les disques réalisent les opérations
d'E/S en utilisant des secteurs de 512 octets. Par conséquent, il est nécessaire d'écrire 16 secteurs par page
de base de données. Une déchirure de page peut se produire si le système tombe en panne (suite à une panne
de courant, par exemple) entre le moment où le système d'exploitation écrit le premier secteur de 512 octets
sur le disque et la fin de l'opération d'E/S de 8 Ko. Si le premier secteur de la page de base de données est
écrit correctement avant la panne, la page de base de données sur le disque semblera avoir été mise à jour,
même si cette opération risque de ne pas avoir réussi.
Remarque :L'utilisation de caches disque avec batterie de secours permet de garantir que les données sont
correctement écrites sur le disque ou ne le sont pas du tout.
Si une page endommagée est détectée, une erreur d'E/S est générée et la connexion est terminée. Si la page
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
endommagée est détectée au cours de la récupération, la base de données est également déclarée suspecte.
La sauvegarde de la base de données doit être restaurée et toutes les sauvegardes des journaux des
transactionsdoivent être appliquées, en raison d'une incohérence physique.
TORN_PAGE_DETECTION est activée par défaut.
Fiche Technique
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 04No séance:03.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre04:Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options SQL.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER LES
OPTIONS SQL DES BASES DE DONNEES SOUS SQL SERVER;
A L’AIDE DES FICHIERS DE BDD ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
4. Options SQL
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Les options SQL contrôlent les options de conformité ANSI.

ANSI_NULL_DEFAULT
Lorsque cette option est activée (ON), tous les types de données définis par l'utilisateur ou les colonnes qui ne
sont pas définies explicitement comme NOT NULL dans une instruction CREATE TABLE ou ALTER
TABLE autorisent, par défaut, les valeurs nulles. Les colonnes sur lesquelles sont définies des contraintes
suivent les règles de contrainte, quelle que soit la valeur de ce paramètre.
Syntaxe: SET ANSI_NULL_DFLT_ON {ON | OFF}

ANSI_NULLS
Si cette option possède la valeur ON, toutes les comparaisons avec une valeur NULL donnent comme résultat
NULL (inconnu). Si elle possède la valeur OFF, les comparaisons des valeurs non-Unicode avec une valeur
NULL donnent comme résultat TRUE si les deux valeurs sont NULL.
Par défaut, l'option de base de données ANSI_NULLS est désactivée (OFF).
SET ANSI_NULLS doit également être défini avec la valeur ON lorsque vous créez ou manipulez des index
dans des colonnes calculées ou des vues indexées.
Syntaxe : SET ANSI_NULLS {ON | OFF}

ANSI_PADDING
Si cette option possède la valeur ON, les espaces à droite dans les valeurs de type caractère insérées dans
des colonnes varcharet les zéros à droite dans les valeurs binaires insérées dans des colonnes varbinaryne
sont pas supprimés. Les valeurs ne sont pas complétées à concurrence de la longueur de la colonne.
Si cette option possède la valeur OFF, les espaces à droite (dans les colonnes varchar) et les zéros à droite
(dans les colonnes varbinary) sont supprimés. Cette valeur affecte uniquement la définition de nouvelles
colonnes.
Les colonnes char(n) et binary(n) qui acceptent les valeurs NULL sont complétées dans toute leur largeur de
zéros et d'espaces à droite si SET ANSI_PADDING possède la valeur ON ; par contre, ces espaces et zéros à
droite sont supprimés si l'option est désactivée (OFF). Les colonnes char(n) et binary(n) qui n'acceptent pas
les valeurs NULL sont toujours complétées dans toute leur largeur.
Important :Il est recommandé que l'option SET ANSI_PADDING soit toujours activée (ON). SET
ANSI_PADDING doit être activé (valeur ON) lors de la création ou de la manipulation d'index dans des
colonnes calculées ou des vues indexées.
Syntaxe:SET ANSI_PADDING { ON | OFF }

ANSI_WARNINGS
Si cette option possède la valeur ON, des erreurs ou avertissements sont générés lorsque des conditions telles
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
qu'une division par zéro se produisent, ou que des valeurs NULL apparaissent dans des fonctions d'agrégation.
Si elle possède la valeur OFF, aucun avertissement n'est émis lorsque des valeurs NULL apparaissent dans
des fonctions d'agrégation et que des valeurs NULL sont renvoyées quand des conditions telles qu'une division
par zéro se produisent.
ANSI_WARNINGS est désactivée par défaut.
SET ANSI_WARNINGS doit être défini avec la valeur ON lorsque vous créez ou manipulez des index dans des
colonnes calculées ou des vues indexées.
Syntaxe:SET ANSI_WARNINGS { ON | OFF }

ARITHABORT
Si cette option possède la valeur ON, un dépassement de capacité ou une division par zéro provoquent l'arrêt
du traitement de la requête ou du lot d'instructions. Si l'erreur se produit dans une transaction, cette dernière
est annulée (roll back).
Si cette option possède la valeur OFF, un message d'avertissement s'affiche si l'une de ces erreurs se produit,
mais le traitement de la requête, du lot d'instructions ou de la transaction se poursuit, comme s'il n'y avait pas
d'erreur.
SET ARITHABORT doit être défini avec la valeur ON lorsque vous créez ou manipulez des index dans des
colonnes calculées ou des vues indexées
Syntaxe:SET ARITHABORT { ON | OFF }

NUMERIC_ROUNDABORT
Si cette option possède la valeur ON, une erreur est générée lorsqu'une perte de précision survient dans une
expression.
Lorsqu'elle possède la valeur OFF, les pertes de précision ne génèrent pas de messages d'erreur et le résultat
est arrondi en fonction de la précision de la colonne ou de la variable contenant le résultat.
SET NUMERIC_ROUNDABORT doit être défini avec la valeur OFF lorsque vous créez ou manipulez des index
dans des colonnes calculées ou des vues indexées.
Syntaxe:SET NUMERIC_ROUNDABORT { ON | OFF }

CONCAT_NULL_YIELDS_NULL
Si cette option possède la valeur ON, lorsqu'un des opérandes d'une opération de concaténation a la valeur
NULL, le résultat de l'opération est NULL. Par exemple, la concaténation de la chaîne de caractères « This is»
et de NULL donne la valeur NULL, et non pas la valeur « This is ».
Si cette option possède la valeur OFF, la concaténation d'une valeur NULL avec une chaîne de caractères a
pour résultat la chaîne de caractères ; la valeur NULL est considérée comme une chaîne de caractères vide.
CONCAT_NULL_YIELDS_NULL est désactivée par défaut.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
SET CONCAT_NULL_YIELDS_NULL doit être défini avec la valeur ON lorsque vous créez ou manipulez des
index dans des colonnes calculées ou des vues indexées
Syntaxe:SET CONCAT_NULL_YIELDS_NULL { ON | OFF }

QUOTED_IDENTIFIER
Si cette option possède la valeur ON, les identificateurs peuvent être encadrés par des guillemets doubles et
les littéraux, par des guillemets simples.
Toutes les chaînes délimitées par des guillemets doubles sont considérées comme des identificateurs d'objet.
Les identificateurs entre guillemets n'ont pas à respecter les règles Transact-SQL applicables aux
identificateurs. Ils peuvent être des mots clés et contenir des caractères généralement interdits dans les
identificateurs de Transact-SQL. Si un guillemet simple (') fait partie de la chaîne littérale, il pourra être
représenté par un guillemet double ('').
Si cette option possède la valeur OFF, ce qui est le cas par défaut, les identificateurs ne peuvent pas être mis
entre guillemets et doivent respecter toutes les règles Transact-SQL applicables aux identificateurs. Les
chaînes littérales peuvent être délimitées par des guillemets simples ou doubles.
SQL Server permet également de délimiter les identificateurs par des crochets ([ ]). Les identificateurs entre
crochets peuvent toujours être utilisés, quels que soient le paramètre de QUOTED_IDENTIFIER.
SET QUOTED_IDENTIFIER doit être défini avec la valeur ON lorsque vous créez ou manipulez des index dans
des colonnes calculées ou des vues indexées.
Syntaxe:SET QUOTED_IDENTIFIER { ON | OFF }

RECURSIVE_TRIGGERS
Si cette option possède la valeur ON, les déclencheurs peuvent être activés de façon récurrente. Si elle
possède la valeur OFF, ce qui est le cas par défaut, les déclencheurs ne peuvent pas être activés de façon
récurrente.
Remarque :Seule la récurrence directe est inhibée lorsque RECURSIVE_TRIGGERS possède la valeur
OFF. Pour désactiver la récurrence indirecte, vous devez en outre affecter la valeur 0 à l'option de serveur
déclencheurs imbriqués (nested triggers).
Syntaxe : SET RECURSIVE_TRIGGERS {ON|OFF}
Fiche Technique
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Spécialité:Informatique.
Option : Base de Données.
Enseignante:Nadjette Mouici.
Date :.
Nocours : 04
Module:Administration à l’aide de SQL SERVER.
No séance:03.
Temps précis : 01h 30mn.
Chapitre04: Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options de d’état.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER
LES TROIS OPTIONS D’ETAT-CONNEXION, LECTURE | ECRITURE ET
UTILISATION-DES BASES DE DONNEES SOUS SQL SERVER; A L’AIDE
DE LANGAGE TRANSACT SQL ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
1. Options d'état :
Les options d'état déterminent si la base de données est en ligne ou hors connexion, si elle se trouve
en mode lecture seule et les utilisateurs qui peuvent s'y connecter. Une clause d'arrêt permet de définir
la façon dont les connexions sont interrompues lorsque la base de données passe d'un état à un autre.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

T.S.
OFFLINE | ONLINE :
Si la valeur OFFLINE est spécifiée, la base de données est fermée et arrêtée proprement, puis
marquée comme étant hors connexion. Tant que la base de données est déconnectée, elle ne peut
pas être modifiée.
Si la valeur ONLINE est spécifiée, la base de données est ouverte et disponible. ONLINE est le
paramètre par défaut.
Exemple1:
EXEC sp_dboption 'BD1', 'offline', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'offline', 'FALSE'
Exemple2 :
EXEC sp_dboption 'BD1', 'online', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'online', 'FALSE'

READ ONLY | READ WRITE :
Lorsque l'option READ_ONLY est spécifiée, la base de données se trouve en mode lecture seule. Les
utilisateurs sont libres d'en récupérer les données mais ne peuvent, en aucun cas, les modifier. Étant
donné qu'une base de données en lecture seule interdit la modification des données,
Lorsque l'option READ WRITE est spécifiée, les utilisateurs peuvent enlever et modifier des
données.
READ_WRITE est le paramètre par défaut.
Exemple1:
EXEC sp_dboption 'BD1', 'read only', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'read only', 'FALSE'
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Exemple2:
EXEC sp_dboption 'BD1', 'read_write', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'read_write', 'FALSE'

DBO USE ONLY :
Si vrai (true), seul le propriétaire de la base de données peut utiliser celle-ci.
Par défaut cette option est à False.
Exemple :
EXEC sp_dboption 'BD1', 'dbo use only', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'dbo use only', 'FALSE'

SELECT INTO / BULKCOPY :
Si cette option possède la valeur vraie « true », l'instruction SELECT INTO et les copies en bloc
rapides sont autorisées.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Sinon (l’option possède la valeur fausse « false ») l'instruction SELECT INTO et les copies en bloc
rapides ne sont autorisées.
Exemple:
EXEC sp_dboption 'BD1', 'select into /bulkcopy', 'TRUE'
Ou EXEC sp_dboption 'BD1', ' select into /bulkcopy', 'FALSE'
 SINGLE_USER | RESTRICTED_USER | MULTI_USER :
 SINGLE_USER:
Si SINGLE_USER est spécifié, un seul utilisateur peut se connecter à la base de données à la fois.
Toutes les autres connexions utilisateur sont interrompues, et Les nouvelles tentatives de connexion
sont refusées.
La base de données reste en mode SINGLE_USER même si l'utilisateur qui a défini
l'option se déconnecte.
À partir de ce moment, un autre utilisateur (et un seul) peut se connecter à la base de données.
Exemple:
EXEC sp_dboption 'BD1', 'single_user', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'single_user', 'FALSE'
 RESTRICTED_USER:
RESTRICTED_USER permet uniquement aux membres du rôle de base de données fixe db_owneret
des rôles de serveur fixes dbcreatoret sysadminde se connecter à la base de données, mais n'en
limite pas le nombre.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Les nouvelles tentatives de connexion à l'initiative d'utilisateurs non qualifiés sont refusées.
Exemple:
EXEC sp_dboption 'BD1', 'restricted_user', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'restricted_user', 'FALSE'
 MULTI_USER :
MULTI_USER permet à tous les utilisateurs bénéficiant des autorisations appropriées de se connecter
à la base de données.
MULTI_USER est le paramètre par défaut.
Exemple:
EXEC sp_dboption 'BD1', 'Multi_user', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'Multi_user', 'FALSE'
Fiche Technique
Spécialité:Informatique.
Enseignante:Nadjette Mouici.
Spécialité : INFORMATIQUE
Option : Base de Données.
Date : 17/11/2014.
Nocours : 04
No séance:03.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Module:Administration à l’aide de SQL SERVER.
T.S.
Temps précis : 01h 30mn.
Chapitre04: Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options d’état.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER
LES TROIS OPTIONS D’ETAT-CONNEXION, LECTURE | ECRITURE ET
UTILISATION-DES BASES DE DONNEES SOUS SQL SERVER; A L’AIDE
DE LANGAGE TRANSACT SQL ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
5. Options d'état :
Les options d'état déterminent si la base de données est en ligne ou hors connexion, si elle se trouve en mode
lecture seule et les utilisateurs qui peuvent s'y connecter. Une clause d'arrêt permet de définir la façon dont les
connexions sont interrompues lorsque la base de données passe d'un état à un autre.

OFFLINE | ONLINE :
Si la valeur OFFLINE est spécifiée, la base de données est fermée et arrêtée proprement, puis marquée
comme étant hors connexion. Tant que la base de données est déconnectée, elle ne peut pas être modifiée.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Si la valeur ONLINE est spécifiée, la base de données est ouverte et disponible. ONLINE est le paramètre par
défaut.
Exemple: EXEC sp_dboption 'BD1', 'offline', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'offline', 'FALSE'

READ ONLY | READ WRITE :
Lorsque l'option READ_ONLY est spécifiée, la base de données se trouve en mode lecture seule. Les
utilisateurs sont libres d'en récupérer les données mais ne peuvent, en aucun cas, les modifier. Étant donné
qu'une base de données en lecture seule interdit la modification des données, il s'ensuit que :
• La récupération automatique est ignorée au démarrage du système ;
• Le compactage de la base de données est impossible ;
• Aucun verrouillage n'a lieu dans une base de données en lecture seule, ce qui contribue à améliorer les
performances des requêtes.
Lorsque l'option READ WRITE est spécifiée, les utilisateurs peuvent extraire et modifier des données.
READ_WRITE est le paramètre par défaut.
Exemple :EXEC sp_dboption 'BD1', 'read only', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'read only', 'FALSE'

DBO USE ONLY :
Si vrai (true), seul le propriétaire de la base de données peut utiliser celle-ci. Par défaut cette option est à
False.
Exemple :EXEC sp_dboption 'BD1', 'dbo use only', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'dbo use only', 'FALSE'

SINGLE_USER | RESTRICTED_USER | MULTI_USER :
Si SINGLE_USER est spécifié, un seul utilisateur peut se connecter à la base de données à la fois. Toutes les
autres connexions utilisateur sont interrompues. Le créneau d'interruption de la connexion est géré par la
clause d'arrêt de l'instruction ALTER DATABASE. Les nouvelles tentatives de connexion sont refusées. La
base de données demeure en mode SINGLE_USER même si l'utilisateur qui a défini l'option se déconnecte.
À partir de ce moment, un autre utilisateur (et un seul) peut se connecter à la base de données.
Pour que plusieurs connexions soient possibles, vous devez modifier l'état de la base de données vers le mode
RESTRICTED_USER ou MULTI_USER.
RESTRICTED_USER permet uniquement aux membres du rôle de base de données fixe db_owneret des
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
rôles de serveur fixes dbcreatoret sysadminde se connecter à la base de données, mais n'en limite pas le
nombre. Les utilisateurs n'étant pas membres de ces rôles sont déconnectés dans le créneau spécifié par la
clause d'arrêt de l'instruction ALTER DATABASE. En outre, les nouvelles tentatives de connexion à l'initiative
d'utilisateurs non qualifiés sont refusées.
MULTI_USER permet à tous les utilisateurs bénéficiant des autorisations appropriées de se connecter à la
base de données. MULTI_USER est le paramètre par défaut.
Exemple:EXEC sp_dboption 'BD1', 'single user', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'single user', 'FALSE'

TRUNC. LOG ON CHKPT :
Si vrai (true), un point de contrôle vide la partie inactive du journal (les transactions validées
sontsupprimées)lorsque la base de données est dans le mode troncature de journal. Il s'agit de la seule option
quevous pouvez valider pour la base de données master.
Exemple : EXEC sp_dboption 'BD1', 'trunc. log on chkpt', 'TRUE'
Ou EXEC sp_dboption 'BD1', 'trunc. log on chkpt', 'FALSE'

SELECT INTO /BULKCOPY :
Si vrai (true), l'instruction SELECT INTO et les copies en bloc rapides sont autorisées.
Exemple:EXEC sp_dboption 'BD1', 'select into /bulkcopy', 'TRUE'
Ou EXEC sp_dboption 'BD1', ' select into /bulkcopy', 'FALSE'
II.
Affichage des options de base de données :
Utilisez la procédure stockée système Sp_helpdbSignale toutes les bases de données situées sur un serveur
si aucun nom de base de données n'est spécifier sinon signale une base de données spécifiée uniquement.
Fournit le nom, la taille, le propriétaire, l'identificateur, la date de création et les options de l base de données
Syntaxe:sp_helpdb[ [ @dbname= ] 'name' ]
Exemple 1:Cet exemple affiche des informations sur la base de données Northwind.
Execsp_helpdbNorthwind
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Exemple 2:Cet exemple affiche les informations relatives à toutes les bases de données installées sur le
serveur sur lequel s'exécute SQL Server.
Execsp_helpdb
III.
Gestion des bases de données :
A mesure que votre base de données prend de l'ampleur ou subit des modifications, vous pouvez accroître ou
compacter sa taille automatiquement ou manuellement, lorsqu'une base de données devient obsolète, vous
pouvez la supprimer, ainsi que tous les fichiers qui lui sont associés.
1. Gestion de la croissance de fichiers journaux et de données :
Lorsque les fichiers de données augmentent ou que l'activité de modification des données s'intensifie, vous
pouvez être amené à accroître la taille des fichiers journaux ou de données. Vous pouvez gérer la croissance
de la base de données à l'aide de SQL Enterprise Manger ou de l'instruction ALTER DATABASE. Vous devez
vous placer dans la BD master pour utiliser cette instruction.
Vous pouvez contrôler la taille de la base de données en effectuant les tâches suivantes:
-
Configurer la base de données et les fichiers journaux afin qu'ils augmentent automatiquement.
-
Augmentez ou diminuez manuellement la taille actuelle ou maximale de la base de données et des
fichiers journaux existants.
-
Ajouter manuellement des fichiers de base de données et de journaux secondaires.
A l'aide de TransactSql
Syntaxe
ALTER DATABASE database
{ ADD FILE <filespec> [ ,...n ] [ TO FILEGROUP filegroup_name]
| ADD LOG FILE <filespec>[ ,...n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE <filespec>
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name{filegroup_property| NAME = new_filegroup_name}
| SET <optionspec>[ ,...n ] [ WITH < termination > ]
| COLLATE <collation_name>
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
}
<filespec> ::=
( NAME= logical_file_name
[ ,NEWNAME = new_logical_name]
[ ,FILENAME = 'os_file_name' ]
[ ,SIZE = size ]
[ ,MAXSIZE = { max_size| UNLIMITED } ]
[ ,FILEGROWTH = growth_increment] )
Exemples 1: L'exemple suivant augmente la taille d'un des fichiers ajoutés à la BD Archive.
USE master
GO
ALTER DATABASE Archive
MODIFY FILE
(NAME = arch2,
SIZE = 12MB)
GO
Exemple 2 : L'exemple suivant ajoute un nouveau fichier de données de 5 Mo à la BD Archive.
USE master
GO
ALTER DATABASE Archive
ADD FILE
( NAME = Arch3,
FILENAME = 'c:\program files\microsoftsql server\mssql\data\archdat3.ndf',
SIZE = 5MB,
MAXSIZE = 10,
FILEGROWTH = 1)
Remarque :La taille maximale de la base de données est déterminée par la quantité d'espace disponible sur le
disque et par les limites dues à la licence pour la version de SQL Server que vous utilisez.
Remarque :SQL Server ne peut pas compacter un fichier à une taille inférieure à celle des données ou à celle
spécifiée dans le paramètre SIZE de l'instruction CREATE DATABASE.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
2. Compactage d'une base de données ou d'un fichier :
Lorsque trop d'espace est alloué ou que les besoins en espace diminuent, vous pouvez compacter la totalité de
la base de données ou seulement certains de ses fichiers.
A)- Compactage de la totalité d'une base de données :
Vous pouvez compacter la totalité d'une base de données à l'aide de SQL Server Enterprise Manager ou de
l'instructionDBCC SHRINKDATABASE. Cette instruction compacte immédiatement la taille de tous les fichiers
de données de la base. Les fichiers journaux sont compactés par le biais d'une opération de compactage
différée comme si tous les fichiers journaux existaient dans un pool de journaux contigus. Les fichiers journaux
sont réinitialisés lorsque le journal est tronqué ; SQL Server essaie de compacter les fichiers journaux tronqués
en leur donnant une taille aussi proche que possible de la taille cible.
Syntaxe:
DBCC SHRINKDATABASE (nom_base_de_données [, pourcentage_cible] [,
{NOTRUNCATE | TRUNCATEONLY) ])
Argument
Description
pourcentage_cible
Spécifie le pourcentage d'espace libre souhaité dans le fichier de la base de
données lorsque celle-ci a été compactée.
NOTRUNCATE
Permet de conserver l'espace libéré dans les fichiers de la base de données.
Par défaut, l'espace libéré est restitué au système d'exploitation
TRUNCATEONLY
Restitue au système d'exploitation l'espace inutilisé dans les fichiers de
données et compacte le fichier à la dernière extension allouée, ce qui réduit sa
taille sans affecter les données. Aucune tentative de replacement des lignes
dans
des
pages
non
allouées
n'est
effectuée.
Le
paramètre
pourcentage_cibleest ignoré lors de l'utilisation de TRUNCATEONLY.
Exemple : Dans cet exemple, la taille de la base de données Archive est réduite de façon à obtenir 25%
d'espace libre.
DBCC SHRINKDATABASE (Archive, 25)
B)- Compactage d'un fichier de données de la base de données :
Vous pouvez compacter un fichier de données d'une base de données à l'aide de SQL Server Enterprise
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Manager ou de l'instruction DBCC SURINKFILE.
Syntaxe:
DBCC SHRINKFILE ({nom_de_fichier |id_de_fichier] [, taille_cible] [, EMPTYFILE | NOTRUNCATE |
TRUNCATEONLY }])
Argument
Description
taille_cible
Le paramètre taille_cible spécifie la taille souhaitée du fichier de données en
mégaoctets, exprimée sous la forme d'un nombre entier. Si le paramètre n'est pas
spécifié, l'instruction DBCC SHRINKFILE réduit la taille au maximum.
EMPTYFILE
Cette option permet de transférer toutes les données du fichier spécifié vers d'autres
fichiers du même groupe de fichiers. SQL Server n'autorise plus le transfert de données
vers le fichier utilisé avec le paramètre EMPTYFILE. Ce dernier permet de supprimer
le fichier à l'aide de l'instruction ALTER DATABASE.
Exemple : Dans cet exemple, la taille du fichier de données Arch1 est réduite à 5 Mo.
Use Archive
GO
DBCC SHRINKFILE (Arch1,5)
C)- Compactage automatique d'une base de données
Vous pouvez également affecter la valeur trueà l'option de base de données autoshrinkpour récupérer
automatiquement l'espace inutilisé. Il vous est également possible de modifier cette option avec SQL Server
Enterprise Manager.
Lors du compactage d'une base de données ou d'un fichier de données, tenez compte des instructions et
remarques décrites ci-dessous.
• La taille de la base de données résultante doit être supérieure a celle de la base de données model ou à
celle des données existant de la base de données ou du fichier de données.
• Avant de compacter une base de données ou un fichier de données, il est conseillé de sauvegarder la base
de données, ainsi que la base de données master.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
• Étant donné que les instructions DBCC SHRINKDATABASE et SHRINKFILE s'exécutent en mode différé, il se
peut que la réduction de la taille de la base de données ou du fichier ne soit pasimmédiatement visible.
• L'instruction DBCC SHRINKFILE vous permet de réduire la taille d'une base de données à une taille inférieure
à celle spécifiée lors de sa création ou de sa modification, mais pas inférieure à la taille des données.
3. Suppression d'une base de données :
Vous pouvez supprimer une base de données non système dès qu'elle n'est plus nécessaire ou si elle est
transférée vers une autre base de données ou un autre serveur. En cas de suppression d'une base de
données, les fichiers ainsi que leurs données sont supprimés. Une fois supprimée, une base de données ne
peut pas être récupérée sans faire appel à une sauvegarde précédente. Impossible de supprimer les bases de
données système (msdb, master, model, tempdb).
Lorsque vous supprimez une base de données, vous devez effectuer une sauvegarde de la base de données
master.
A l'aide de Transact-SQL
Syntaxe : DROP DATABASE database_name[ ,...n ]
Autorisations : Les autorisations d'utiliser DROP DATABASE sont octroyées par défaut au propriétaire de la
base de données et aux membres des rôles sysadminet dbcreatoret ne sont pas transmissibles.
Chapitre 05 :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Réalisation
derestauration
des sauvegardes
de données.
I.
Sauvegarde des bases de données :
Une sauvegarde de base de données crée un double des données figurant dans la base de données lorsque
lasauvegarde est effectuée. C'est une opération unique qui est généralement planifiée à des intervalles
réguliers.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Les sauvegardes de base de données sont indépendantes.
Vous pouvez recréer la totalité de la base de données à partir d'une sauvegarde de base de données en une
étape en la restaurant. Le processus de restauration remplace la base de données existante ou en crée une si
elle n'existe pas. L'état de la base de données restaurée correspondra à celui lorsque la sauvegarde a été
terminée, sans les transactions non validées. Les transactions non validées sont annulées lors de la
récupération de la base de données.
Une sauvegarde de base de données utilise davantage d'espace de stockage par sauvegarde que pour les
sauvegardes du journal des transactions et de base de données différentielle. Par conséquent, les sauvegardes
de base de données nécessitent plus de temps pour réaliser l'opération de sauvegarde, et sont donc
généralement créées moins fréquemment que les sauvegardes de base de données différentielle ou de
journaux de transactions.
Pour sauvegarder une base de données dans SQL Server, vous devez déterminer les personnes autorisées à
effectuer cette opération et l'emplacement de stockage des données sauvegardées. Les membres disposant
des rôles suivants sont autorisés à sauvegarder une base de données : rôle fixe de serveur sysadmin; rôle fixe
de base de données db_ownerou rôle fixe de base de données dh_backupopcrator.
II.
Restauration d’une sauvegarde de bases de données :
La restauration d'une sauvegarde de base de données recrée la base de données et tous les fichiers associés
qui yétaient contenus lorsque la sauvegarde a été effectuée. Toutefois, toutes les modifications apportées à la
base de données après la création de la sauvegarde seront perdues. Pour restaurer les transactions réalisées
après la création de la sauvegarde totale de la base de données, vous devez utiliser les sauvegardes du journal
des transactions ou les sauvegardes différentielles.
Lors de la restauration d'une base de données, SQL Server:
1. Copie toutes les données de la sauvegarde dans la base de données ; le reste de la base de données est
créé comme un espace vide.
2. Annule toute transaction incomplète dans la sauvegarde de la base de données pour assurer la cohérence
de la base.
Pour éviter d'écraser une base de données par accident, l'opération de restauration effectue automatiquement
des contrôles de sécurité. L'opération de restauration échoue dans le cas où :
• Le nom de la base de données dans l'opération de restauration ne correspond pas au nom de la base de
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
données enregistré dans le jeu de sauvegarde ;
• La base de données nommée dans l'opération de restauration existe déjà sur le serveur mais il ne s'agit
pas de la même que celle contenue dans la sauvegarde de base de données ; Par exemple, les noms de
base de données sont identiques mais chaque base a été créée différemment.
• Un ou plusieurs fichiers doivent être créés automatiquement par l'opération de restauration mais lesnoms de
fichiers existent déjà.
Ces contrôles de sécurité peuvent être désactivés lorsque vous avez l'intention d'écraser une autre base de
données.
III.
Définition de l'option de base de données dbo use only :
Avant de restaurer une base de données, un membre du rôle sysadmin ou db.owner doit affecter la valeur
Trueà l'option de base de données dbo use only(réservé au DBO) pour limiter l'accès à la base de données.
IV.
Sauvegarde du journal des transactions :
Vous pouvez préserver la cohérence de la base de données en sauvegardant le journal des transactions
avantd'exécuter les opérations de restauration.La sauvegarde du journal des transactions est utilisée pour
récupérer la base de données en tant qu'étape ultime du processus de restauration.
Si vous ne sauvegardez pas le journal des transactions avant de restaurer des sauvegardes, vous perdez les
modifications apportées aux données entre la dernière sauvegarde du journal des transactions et le moment
où la base de données a été déconnectée.
V.
Utilisation des modèles de récupération :
Vous pouvez sélectionner un des trois modèles de récupération pour chaque base de données de Microsoft
SQL Server
pour déterminer la manière dont vos données sont sauvegardées et connaître votre
degréd'exposition à la perte de données. Les modèles de récupération suivants sont disponibles :
• Récupération simple :
La récupération simple permet la récupération de la base de données à l'aide de la sauvegarde la plus récente.
• Récupération complète :
La récupération complète permet la récupération de la base de données à partir du moment de l'échec.
• Récupération journalisée en bloc :
La récupération journalisée en bloc permet des opérations de journalisation en bloc.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Le modèle de récupération d'une nouvelle base de données est hérité à partir de la base de données model
lors de la création de la nouvelle base de données.
Remarque :Le modèle de récupération pour une nouvelle base de données dans SQL Server 2000, Édition
Personnelle et SQL Server 2000 Desktop Engine sélectionne par défaut la récupération simple.
• Récupération simple :
Avec ce modèle de récupération simple, la base de données peut être récupérée dans l'état où elle était au
moment de la dernière sauvegarde. Toutefois, vous ne pouvez pas restaurer la base de données au point où
elle en était au moment de la défaillance ou à un autre moment particulier. Pour cela, vous devez choisir le
modèle de récupération complète ou journalisée en bloc.
La stratégie de sauvegarde pour la récupération simple est composée de :
• Sauvegardes de bases de données ;
• Sauvegardes différentielles (facultatif) ;
Remarque :Ce modèle équivaut à la sélection de l'option de base de données trunc. log on chkpt. dans
SQLServer version 7.0 ou antérieure.
Pour récupérer en cas de défaillance des supports :
1. Restaurez la sauvegarde totale de la base de données la plus récente.
2. S'il existe des sauvegardes différentielles, restaurez la plus récente.
Les modifications apportées après la dernière sauvegarde différentielle ou totale de base de données sont
perdues.
V.5. Sauvegarde Complète de base de données :
• Création d'une sauvegarde complète de la base de données :
A l'aide de Transact-SQL :
1. Exécutez l'instruction BACKUP DATABASE, en spécifiant :
• Le nom de la base de données à sauvegarder.
• L'unité de sauvegarde où sera écrite la sauvegarde de la base de données.
2. Spécifiez éventuellement :
• La clause INIT pour écraser les fichiers du support de sauvegarde et écrire la sauvegarde en tant que premier
fichier sur le support de sauvegarde. S'il n'existe aucun en-tête de support, il s'en crée un automatiquement.
• Les clauses SKIP et INIT pour écraser le support de sauvegarde même s'il existe des sauvegardes
qui n'ont pas encore expiré ou si le nom du support ne correspond pas à celui du support de sauvegarde.
• La clause FORMAT lors de la première utilisation du support pour initialiser complètement lesupport de
sauvegarde et réécrire un en-tête de support existant.
La clause INIT n'est pas requise si la clause FORMAT est spécifiée.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Important :Soyez très vigilant en utilisant les clauses FORMAT ou INIT de l'instruction BACKUP, car elles
entraînent la destruction de toutes les sauvegardes préalablement stockées sur le support de sauvegarde.
Syntaxe :
Sauvegarde d'une base de données entière :
BACKUP DATABASE { database_name| @database_name_var}
TO <backup_device>[ ,...n ]
[ WITH
[ BLOCKSIZE= { blocksize| @blocksize_variable} ]
[ [, ] DESCRIPTION = { 'text' | @text_variable} ]
[ [, ] DIFFERENTIAL ]
[ [, ] EXPIREDATE = { date | @date_var}
| RETAINDAYS = { days| @days_var} ]
[ [, ] PASSWORD = { password| @password_variable} ]
[ [, ] FORMAT | NOFORMAT ]
[ [, ] { INIT | NOINIT } ]
[ [, ] MEDIADESCRIPTION = { 'text' | @text_variable} ]
[ [, ] MEDIANAME = { media_name| @media_name_variable} ]
[ [, ] MEDIAPASSWORD = { mediapassword| @mediapassword_variable} ]
[ [, ] NAME = { backup_set_name| @backup_set_name_var} ]
[ [, ] { NOSKIP | SKIP } ]
[ [, ] { NOREWIND | REWIND } ]
[ [, ] { NOUNLOAD | UNLOAD } ]
[ [, ] RESTART ]
[ [, ] STATS [ = percentage] ]
]
Exemple : cet exemple sauvegarde sur bande la totalité de la base de données MaBaseDeDonnees.
USE Master
Go
BACKUP DATABASE MaBaseDeDonnees
TO TAPE = '\\.\Tape0' WITH FORMAT,
NAME = 'Full Backup of MaBaseDeDonnees '
Go
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Exemple : Cet exemple sauvegarde sur disque et dans un fichier de sauvegarde temporaire la totalité de la
base de données MaBaseDeDonnees.
USE master
BACKUP DATABASE MaBaseDeDonnees TO
DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_1.bak'
Exemple : Cet exemple sauvegarde sur disque et dans un fichier de sauvegarde permanent la totalité de la
base de données MaBaseDeDonnees.
USE master
EXEC sp_addumpdevice 'disk', 'Sauvegarde_MaBD_1',
'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_1.bak'
BACKUP DATABASE MaBaseDeDonnees TO Sauvegarde_MaBD_1 WITH INIT
• Restauration d'une sauvegarde complète de base de données :
A l'aide de Transact-SQL :
Important :L'administrateur système restaurant la sauvegarde de la base de données doit être la seule
personne utilisant la base de données à restaurer.
2. Exécutez l'instruction RESTORE DATABASE pour restaurer la sauvegarde de la base de données, en
spécifiant :
• le nom de la base de données à restaurer ;
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde de la base de données.
• La clause NORECOVERY si vous devez appliquer la sauvegarde différentielle de la base de données ou du
journal des transactions après avoir restauré la sauvegarde de la base de données.
3. Spécifiez éventuellement :
• La clause FILE pour identifier le jeu de sauvegarde sur l'unité de sauvegarde à restaurer.
Syntaxe:
Restaurer l'intégralité d'une base de données :
RESTORE DATABASE { database_name| @database_name_var}
[ FROM<backup_device> [ ,...n ] ]
[ WITH
[ RESTRICTED_USER ]
[ [, ] FILE = { file_number| @file_number} ]
[ [, ] PASSWORD = { password | @password_variable} ]
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
[ [, ] MEDIANAME = { media_name| @media_name_variable} ]
[ [, ] MEDIAPASSWORD = { mediapassword| @mediapassword_variable} ]
[ [, ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
[ ,...n ]
[ [, ] KEEP_REPLICATION ]
[ [, ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name} ]
[ [, ] { NOREWIND | REWIND } ]
[ [, ] { NOUNLOAD | UNLOAD } ]
[ [, ] REPLACE ]
[ [, ] RESTART ]
[ [, ] STATS [ = percentage] ]
]
Exemple : Cet exemple restaure la base de données MaBaseDeDonneesà partir de la sauvegarde sur bande.
USE Master
Go
RESTORE DATABASE MaBaseDeDonnees
FROM TAPE = '\\.\Tape0'
Go
Exemple : Cet exemple restaure la base de données MaBaseDeDonneesà partir du fichier de sauvegarde
Temporaire.
USE master
RESTORE DATABASE MaBaseDeDonnees
FROM DISK='c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_1.bak'
Exemple : Cet exemple restaure la totalité de la base de données MaBaseDeDonnees, à partir du fichier de
sauvegarde permanent.
USE master
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
Exemple : Cet exemple restaure la totalité de la base de données MaBaseDeDonnees, à partir du fichier de
sauvegarde permanent Sauvegarde_MaBD_1 dans le cas de deux sauvegardes complètes ajoutées à ce
fichier, notre base de données sera restaurée à partir de la deuxième sauvegarde complète.
USE master
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
WITH FILE =2 , RECOVRY
Remarque :Le fait de spécifier un nouveau nom pour la base de données détermine automatiquement les
nouveaux noms des fichiers de base de données restaurés à partir de la sauvegarde de la base de données.
• Laisser la base opérationnelle. Aucun autre journal de transactions ne peut être restauré si aucune
autre sauvegarde de journal des transactions ou aucune sauvegarde différentielle de la base de données ne
doit être appliquée.
• Laisser la base non opérationnelle mais permettre la restauration d'autres journaux de transactions si
une autre sauvegarde du journal des transactions ou une autre sauvegarde différentiellede la base de données
doit être appliquée.
V.6. Sauvegardes différentielles de base de données :
Une sauvegarde différentielle de base de données n'enregistre que les données qui ont changé depuis la
dernière sauvegarde complète. Vous pouvez effectuer des sauvegardes plus fréquentes car les sauvegardes
différentielles de bases de données sont plus petites et plus rapides que les sauvegardes totales de bases de
données. Des sauvegardes fréquentes réduisent le risque de perdre des données.
Vous pouvez utiliser les sauvegardes différentielles de bases de données pour restaurer la base de données au
point auquel la sauvegarde différentielle de la base de données a été effectuée.
Envisagez d'utiliser les sauvegardes différentielles de base de données dans les cas suivants :
• Seule une relativement petite partie des données de la base de données a changé depuis la dernière
sauvegarde complète de la base de données ; Les sauvegardes de base de données différentielles sont
particulièrement efficaces si les mêmes données sont souvent modifiées.
• Vous utilisez le modèle de récupération simple et voulez des sauvegardes plus fréquentes, mais vous ne
souhaitez pas effectuer des sauvegardes de base de données complètes fréquemment.
• Vous utilisez le modèle de récupération complet ou journalisé en bloc et souhaitez réduire le temps
nécessaire à la récupération des sauvegardes de journaux de transactions lors de la restauration d'une base de
données.
Voici la procédure recommandée pour l'implémentation de sauvegardes différentielles de bases de données :
1. Création de sauvegardes complètes régulières des bases de données ;
2. Création de sauvegardes différentielles de base de données périodiquement entre les sauvegardes
complètes de bases de données, par exemple toutes les quatre heures ou plus pour des systèmes trèsactifs ;
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
3. Si vous utilisez la récupération complète ou journalisée en bloc, créez plus fréquemment des sauvegardes
du journal des transactions que de base de données différentielles, toutes les 30 minutespar exemple.
La séquence de restauration de sauvegardes de bases de données différentielles est la suivante :
1. restauration de la sauvegarde complète de la base de données la plus récente ;
2. restauration de la dernière sauvegarde différentielle de la base de données ;
3. application de toutes les sauvegardes du journal des transactions après la création de la dernière
sauvegarde différentielle de la base de données, si vous utilisez la récupération complète ou journalisée en
bloc au journal.
• Création d'une sauvegarde différentielle de base de données :
A l'aide de Transact-SQL :
Important :Il est impossible de créer une sauvegarde différentielle si la base de données n'a pas été d'abord
sauvegardée.
1. Exécutez l'instruction BACKUP DATABASE pour créer une sauvegarde différentielle de base de données,
en spécifiant :
• Le nom de la base de données à sauvegarder.
• L'unité de sauvegarde où sera écrite la sauvegarde de la base de données.
• La clause DIFFERENTIAL pour spécifier que seules les parties de la base de données qui ont été modifiées
après la création de la dernière sauvegarde de la base de données sont sauvegardées.
2. Spécifiez éventuellement :
• La clause INIT pour écraser les fichiers du support de sauvegarde et écrire la sauvegarde en tant que premier
fichier sur le support de sauvegarde. S'il n'existe aucun en-tête de support, il s'en crée un automatiquement.
• Les clauses SKIP et INIT pour écraser le support de sauvegarde même s'il existe des sauvegardes qui n'ont
pas encore expiré ou si le nom du support ne correspond pas à celui du support de sauvegarde.
• La clause FORMAT lors de la première utilisation du support pour initialiser complètement le support de
sauvegarde et réécrire un en-tête de support existant.
La clause INIT n'est pas requise (nécessitée) si la clause FORMAT est spécifiée.
Important :Soyez très vigilant en utilisant les clauses FORMAT ou INIT de l'instruction BACKUP, car elles
entraînent la destruction de toutes les sauvegardes préalablement stockées sur le support de sauvegarde.
Exemple : Cet exemple crée une sauvegarde complète et une sauvegarde différentielle de la base de
donnéesMaBaseDeDonnees sur disque et dans un fichier de sauvegarde permanent.
USE master
EXEC sp_addumpdevice 'disk', 'Sauvegarde_MaBD_1',
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_1.bak'
--Création d’une sauvegarde Complète.
BACKUP DATABASE MaBaseDeDonnees TO Sauvegarde_MaBD_1
WITH INIT
Go
--Création d’une sauvegarde différentielle.
BACKUP DATABASE MaBaseDeDonnees TO Sauvegarde_MaBD_1
WITH DIFFERENTIAL
Go
• Restauration d'une sauvegarde différentielle de la base de données
A l'aide de Transact-SQL
1. Exécutez l'instruction RESTORE DATABASE, en spécifiant la clause NORECOVERY, pour restaurer la
sauvegarde de la base de données précédant la sauvegarde différentielle de la base de données.
2. Exécutez l'instruction RESTORE DATABASE pour restaurer la sauvegarde différentielle de la base de
données, en spécifiant :
• Le nom de la base de données à laquelle sera appliquée la sauvegarde différentielle de la base dedonnées.
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde de la base de données.
• La clause NORECOVERY si vous devez appliquer d'autres sauvegardes du journal destransactions après la
restauration de la sauvegarde différentielle de la base de données. Dans lesautres cas, spécifiez la clause
RECOVERY.
Exemple : Cet exemple montre la sauvegarde complète et différentielle de la base de
donnéesMaBaseDeDonnees.
-- Restauration complète de la base de données
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
WITH NORECOVERY
GO
--Maintenant restauration différentielle de la base de la base de données
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
WITH FILE=2, RECOVERY
GO
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
V.7. Sauvegardes du journal des transactions
Le journal des transactions est un enregistrement en série de toutes les transactions effectuées dans une base
dedonnées depuis la dernière sauvegarde du journal des transactions. Avec les sauvegardes du journal des
transactions, vous pouvez récupérer la base de données à un point particulier dans le temps (par exemple,
avantla saisie des données non souhaitées) ou au moment de la défaillance.
Lors de la restauration d'une sauvegarde du journal des transactions, Microsoft SQL Server reprend toutes les
modifications enregistrées dans le journal des transactions. Lorsque SQL Server atteint la fin du journal des
transactions, l'état exact de la base de données au début de l'opération de sauvegarde est recréé. Si la base de
données est récupérée, SQL annule ensuite toutes les transactions incomplètes au moment où l'opération de
sauvegarde a démarré.
Les sauvegardes du journal des transactions utilisent en général moins de ressources que les sauvegardes des
bases de données. Par conséquent, vous pouvez les créer plus fréquemment que les sauvegardes de base de
données. Des sauvegardes fréquentes réduisent le risque de perdre des données.
Remarque :La sauvegarde du journal des transactions prend parfois plus d'espace qu'une sauvegarde de la
basede données. Par exemple, une base de données dont le taux de transaction est élevé entraîne une
croissancerapide du journal des transactions. Dans ce cas, créez des sauvegardes plus fréquentes du journal
destransactions.
Les sauvegardes de journal de transactions sont uniquement utilisées avec les modèles de
récupérationcomplète et journalisée en bloc.
Utilisation de sauvegardes du journal des transactions avec des sauvegardes de bases de données :
La restauration d'une base de données à l'aide de sauvegardes de base de données et de sauvegardes du
journaldes transactions ne fonctionne que si vous disposez d'une suite ininterrompue des sauvegardes du
journal destransactions après la dernière sauvegarde totale ou différentielle de la base de données. Si une
sauvegarde dejournal est manquante ou endommagée, vous devez créer une sauvegarde de base de données
ou de base dedonnées différentielle et reprendre à nouveau la sauvegarde des journaux de transactions.
Conservez lessauvegardes précédentes du journal des transactions pour restaurer la base de données à un
moment figurantdans ces sauvegardes.
Le seul moment où les sauvegardes complètes ou différentielles de la base de données doivent
êtresynchronisées avec les sauvegardes du journal des transactions est le départ d'une séquence de
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
sauvegardes dujournal des transactions. Chaque séquence de sauvegardes du journal des transactions doit
être démarrée parune sauvegarde, totale ou différentielle, de la base de données.
Généralement, l'unique fois où une nouvelle séquence de restaurations est démarrée correspond au moment
oula base de données est restaurée pour la première fois ou lorsqu'une modification a été apportée à partir du
modèle de récupération simple à celui de récupération complète ou journalisée en bloc.
V.7.1. Troncature du journal des transactions :
Lorsque SQL Server termine la sauvegarde du journal des transactions, il tronque automatiquement la partie
inactive du journal des transactions. Cette partie inactive contient des transactions terminées et n'est donc plus
utilisée pendant le processus de récupération. Inversement, la partie active du journal des transactions contient
les transactions qui fonctionnent encore et qui ne sont pas encore terminées. SQL Server utilise de nouveau
cetespace tronqué et inactif dans le journal des transactions au lieu de laisser le journal des transactions
augmenteret utiliser plus d'espace.
Remarque :Bien que le journal des transactions peut être tronqué manuellement, il est fortement recommandé
de ne pas faire cela, car la chaîne de sauvegarde du journal est alors brisée. Jusqu'à ce qu'une sauvegarde
complète de la base de données ne soit créée, la base de données n'est pas protégée contre la défaillance des
supports. N'utilisez la troncature manuelle du journal que dans des circonstances très précises, et créez une
sauvegarde complète de la base de données dès que possible.
Le point de fin de la partie inactive du journal des transactions, et par conséquent le point de
troncation,constitue le premier événement parmi les suivants :
• le point de contrôle le plus récent ;
• le départ de la transaction active la plus ancienne, qui est une transaction qui n'a pas encore été validée
ou qui n'a pas encore été annulée ;
Ceci représente le point le plus rapproché auquel SQL Server aurait à annuler des transactions lorsd'une
opération de restauration.
• le début de la transaction la plus ancienne qui implique des objets publiés à des fins de réplication, dontles
modifications n'ont pas encore été répliquées ;
Ceci représente le prochain point que SQL Server doit encore dupliquer.
Troncature du journal de transactions :
BACKUP LOG { database_name| @database_name_var}
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
}
Utilisation de l'option NO_TRUNCATE :
SQL Server :
• Enregistre le journal des transactions dans son intégralité même si la base de données est inaccessible
• Ne supprime pas les transactions validées du journal des transactions
• Permet de récupérer les données jusqu'au moment où le système a subi la défaillance
Vidage du journal des transactions :
• Utilisez l'instruction BACKUP LOG pour vider le journal des transactions.
• Si vous utilisez l'option TRUNCATE_ONLY ou NO_LOG.
-
Les modifications ne sont pas récupérées.
-
La troncature du journal des transactions n'est pas enregistrée.
• Si vous définissez l'option trunc. log on chkpt.
-
Toutes les transactions validées sont écrites.
-
Opération automatique si l'option a la valeur true.
Exemple : Dans cet exemple, l'instruction BACKUP permet de supprimer la partie inactive d'un journal des
transactions sans faire de copie de sauvegarde.
BACKUP LOG MaBaseDeDonnees WITH TRUNCATE_ONLY
V.7.2. Conditions de sauvegarde du journal des transactions :
Le journal des transactions ne peut être sauvegardé au cours d'une sauvegarde de base de données complète
oudifférentielle. Néanmoins, le journal des transactions peut être sauvegardé lors de l'exécution d'une
sauvegardede fichier.
Ne sauvegardez pas le journal des transactions :
• tant qu'une sauvegarde de la base de données ou d'un fichier n'a pas été créée car le journal destransactions
contient les modifications effectuées dans la base de données après la création de ladernière sauvegarde ;
• si le journal des transactions a été explicitement tronqué, à moins qu'une sauvegarde, complète
oudifférentielle, de la base de données ait été créée après la troncature du journal des transactions.
V.7.3. Restauration des sauvegardes du journal des transactions
L'application d'une sauvegarde du journal des transactions est impossible :
• à moins que la sauvegarde complète ou différentielle de la base de données précédant la sauvegarde du
journal des transactions ne soit restaurée en premier ;
• à moins que tous les précédents journaux des transactions créés depuis la sauvegarde de la base dedonnées
totale ou différentielle ne soient appliqués en premier ;
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
En cas de perte ou d'endommagement d'une sauvegarde précédente du journal des transactions, vouspouvez
restaurer uniquement les journaux des transactions allant jusqu'à la dernière sauvegardeprécédant celle qui
manque.
• si la base de données est déjà récupérée et que toutes les transactions en suspens ont déjà été annuléesou
ont été reprises.
Lors de l'application de sauvegardes du journal des transactions, la base de données ne doit pas êtrerécupérée
tant que le dernier journal des transactions n'a pas été appliqué. Si vous autorisez larécupération lors de
l'application de l'une des sauvegardes intermédiaires du journal des transactions,vous ne pouvez restaurer audelà de ce point sans redémarrer entièrement l'opération de restauration, encommençant par la sauvegarde de
la base de données.
V.7.4. Création d'une séquence de sauvegardes du journal des transactions
Pour créer un jeu de sauvegardes, vous devez généralement effectuer une sauvegarde de la base de données
àintervalles réguliers, par exemple tous les jours, et des sauvegardes du journal des transactions à des
intervallesplus courts, par exemple toutes les 10 minutes.
Vous devez disposer d'au moins une sauvegarde de base de données ou d'un jeu exhaustif de sauvegardes
defichiers pour réaliser efficacement les sauvegardes de journal.
L'intervalle entre les sauvegardes varie en fonction de l'importance des données et de la charge de travail
duserveur. Si votre journal des transactions est endommagé, vous perdrez les travaux réalisés depuis
lasauvegarde de journal la plus récente.
Cela suppose des sauvegardes de journal fréquentes pour les données critiques, et souligne l'importance du
placement des fichiers journaux sur un stockage à tolérance de fautes.
La séquence de sauvegardes du journal des transactions ne dépend pas des sauvegardes de la base de
données.
Vous pouvez effectuer une séquence de sauvegardes du journal des transactions, puis des sauvegardes de
basede données périodiques pour les utiliser lors du démarrage d'une opération de restauration. Supposons,
parexemple, que la séquence des événements est la suivante :
Temps
8h00
12h00
16h00
18h00
20h00
22h00
Spécialité : INFORMATIQUE
Événement
Sauvegarde complète de la base de données
Sauvegarde du journal des transactions
Sauvegarde du journal des transactions
Sauvegarde complète de la base de données
Sauvegarde du journal des transactions
Apparition d'une défaillance
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
La sauvegarde du journal des transactions créée à 20h00 contient les enregistrements du journal des
transactions effectués entre 16h00 et 20h00, ce qui couvre le moment de la création de la sauvegarde de la
basede données (18h00). La séquence de sauvegardes du journal des transactions est continue depuis la
sauvegardede la base de données initiale créée à 8h00 jusqu'à la dernière sauvegarde du journal des
transactions créée à 20h00. Vous pouvez utiliser les procédures suivantes pour restaurer la base de données
dans l'état où elle se trouvait à 22h00 (moment de la défaillance) :
Restaurez la base de données en utilisant la dernière sauvegarde de base de données créée :
1. Créez une sauvegarde du journal des transactions actif avec l'option NO_TRUNCATE,
2. Restaurez la sauvegarde complète de la base de données de 18h00 avec l'option NORECOVERY,
3. Appliquez la sauvegarde du journal des transactions de 20h00 et la sauvegarde du journal destransactions
actif.
Le processus de restauration détecte que la sauvegarde du journal des transactions de 20h00 contient des
transactions ayant eu lieu avant la dernière sauvegarde restaurée. Ainsi, l'opération de restauration balaie le
journal des transactions jusqu'au point correspondant à la fin de la sauvegarde de la base de données à 18h00
et ne reprend que les transactions terminées à partir de ce moment dans la sauvegarde du journal des
transactions. Le même processus se reproduit pour la sauvegarde du journal des transactions créée au point a.
Restaurez la base de données en utilisant une sauvegarde précédente de la base de données
(précédant la création de la sauvegarde de la base de données la plus récente).
1. Créez une sauvegarde du journal des transactions actif.
2. Restaurez la sauvegarde de la base de données de 8h00 puis restaurez dans l'ordre les quatre sauvegardes
du journal des transactions. Ne restaurez pas la sauvegarde de la base de données de 18h00. Ceci permet de
reprendre toutes les transactions terminées jusqu'à la sauvegarde créée au point a.
Ce processus prendra plus de temps que la restauration de la sauvegarde de base de données de 18h00.
La deuxième option privilégie la sécurité redondante offerte par la chaîne de sauvegardes du journal des
transactions qui peut être utilisée pour restaurer une base de données même en cas de perte de la dernière
sauvegarde de la base de données. Vous pouvez restaurer une sauvegarde antérieure de la base de données,
et puis restaurer toutes les sauvegardes du journal des transactions créées après la création de cette
sauvegarde.
Remarque :Il est important de ne pas perdre une sauvegarde du journal des transactions. Pensez à effectuer
plusieurs copies des jeux de sauvegarde du journal. Ceci peut être fait en sauvegardant le journal sur un
disque, puis en copiant le fichier du disque vers un autre périphérique, tel qu'un disque ou une bande séparée.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
V.7.5. Réduction du temps de récupération :
L'utilisation conjointe de sauvegardes complètes de base de données, de sauvegardes différentielles de base
de données et celles du journal des transactions peut réduire le temps requis par la restauration d'une base de
données dans n'importe quel état postérieur à la création de la sauvegarde de la base de données. En outre, la
création de sauvegardes différentielles de bases de données et du journal des transactions peut accroître la
solidité d'une sauvegarde dans le cas où une sauvegarde du journal des transactions ou une sauvegarde
différentielle d'une base de données n'est pas disponible, en raison d'une défaillance du support, par exemple.
Les procédures classiques utilisant les sauvegardes totales et différentielles de base de données et de journal
des transactions consistent à créer des sauvegardes totales de bases de données sur des intervalles plus
longs, des sauvegardes différentielles de base de données sur des intervalles moyens et des sauvegardes du
journal des transactions sur des intervalles plus courts. Par exemple, créez des sauvegardes de bases de
données hebdomadaires, des sauvegardes différentielles de bases de données quotidiennes et des
sauvegardes du journal des transactions toutes les dix minutes.
Lorsqu'une base de données doit être restaurée au point d'échec, par exemple en raison d'une défaillance du
système, vous devez :
1. Sauvegardez le journal des transactions actif. Cette opération échouera si le journal des transactions a été
endommagé.
2. Restaurer la dernière sauvegarde de la base de données ;
3. Restaurer la dernière sauvegarde différentielle créée depuis la sauvegarde de la base de données ;
4. Appliquer dans l'ordre toutes les sauvegardes du journal des transactions créées après la dernière
sauvegarde différentielle, en terminant par la sauvegarde du journal des transactions créée lors de l'étape 1.
Remarque :Si le journal des transactions actif ne peut pas être sauvegardé, il n'est possible de restaurer la
base de données qu'au point où la dernière sauvegarde du journal des transactions a été créée. Les
modifications apportées à la base de données depuis la dernière sauvegarde du journal des transactions sont
perdues et doivent être à nouveau implémentées manuellement.
En utilisant les sauvegardes différentielles de bases de données et du journal des transactions pour restaurer
une base de données au point d'échec, vous réduisez son temps de restauration car seules les sauvegardes du
journal des transactions créées depuis la dernière sauvegarde différentielle de base de données doivent être
appliquées.
En cas d'absence de création de sauvegarde différentielle de base de données, toutes les sauvegardes du
journal des transactions créées depuis la sauvegarde de la base de données doivent être appliquées.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Par exemple, un système de bases de données à mission critique nécessite qu'une sauvegarde de base de
données soit créée chaque nuit à minuit, une sauvegarde différentielle de base de données chaque heure et
une sauvegarde du journal des transactions toutes les 10 minutes dans la journée. Si la base de données doit
être restaurée à 5h19 le mercredi matin à son état initial :
1. Restaurez la sauvegarde de base de données créée le mardi soir.
2. Restaurez la sauvegarde différentielle de base de données créée le mercredi à 5h00 du matin.
3. Appliquez la sauvegarde du journal des transactions créée le mercredi à 5h10 du matin.
4. Appliquez la sauvegarde du journal des transactions créée le mercredi à 5h20 du matin, en précisant que la
procédure de restauration ne s'applique qu'aux transactions ayant eu lieu avant 5h19.
Puis, si la base de données doit être restaurée à son état initial à 3h04 le jeudi matin, mais que la sauvegarde
différentielle de base de données créée le jeudi à 3h00 du matin n'est pas disponible :
1. Restaurez la sauvegarde de base de données créée le mercredi soir.
2. Restaurez la sauvegarde différentielle de base de données créée le jeudi à 2h00 du matin.
3. Appliquez toutes les sauvegardes du journal des transactions créées entre 2h10 et 3h00 du matin le jeudi.
4. Appliquez la sauvegarde du journal des transactions créée le jeudi à 3h10 du matin, en précisant que la
procédure de restauration ne s'applique qu'aux transactions ayant eu lieu avant 3h04 du matin.
• Création d'une sauvegarde du journal des transactions :
A l'aide de Transact-SQL
1. Exécutez l'instruction BACKUP LOG pour sauvegarder le journal des transactions, en spécifiant :
• Le nom de la base de données à laquelle appartient le journal des transactions à sauvegarder.
• L'unité de sauvegarde dans laquelle sera écrite la sauvegarde du journal des transactions.
2. Spécifiez éventuellement :
• La clause INIT pour écraser les fichiers du support de sauvegarde et écrire la sauvegarde en tant que premier
fichier sur le support de sauvegarde. S'il n'existe aucun en-tête de support, il s'en crée un automatiquement.
• Les clauses SKIP et INIT pour écraser le support de sauvegarde même s'il existe des sauvegardes qui n'ont
pas encore expiré ou si le nom du support ne correspond pas à celui du support desauvegarde.
• La clause FORMAT lors de la première utilisation du support pour initialiser complètement le support de
sauvegarde et réécrire un en-tête de support existant.
La clause INIT n'est pas requise si la clause FORMAT est spécifiée.
Important : Soyez très vigilant en utilisant les clauses FORMAT ou INIT de l'instruction BACKUP, car elles
entraînent la destruction de toutes les sauvegardes préalablement stockées sur le support de sauvegarde.
Syntaxe :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Sauvegarde du journal des transactions :
BACKUP LOG { database_name| @database_name_var}
{
TO <backup_device>[ ,...n ]
[ WITH
[ BLOCKSIZE= { blocksize| @blocksize_variable} ]
[ [, ] DESCRIPTION = { 'text' | @text_variable} ]
[ [,] EXPIREDATE = { date | @date_var}
| RETAINDAYS = { days| @days_var} ]
[ [, ] PASSWORD = { password| @password_variable} ]
[ [, ] FORMAT | NOFORMAT ]
[ [, ] { INIT | NOINIT } ]
[ [, ] MEDIADESCRIPTION = { 'text' | @text_variable} ]
[ [, ] MEDIANAME = { media_name| @media_name_variable} ]
[ [, ] MEDIAPASSWORD = { mediapassword| @mediapassword_variable} ]
[ [, ] NAME = { backup_set_name| @backup_set_name_var} ]
[ [, ] NO_TRUNCATE ]
[ [, ] { NORECOVERY | STANDBY = undo_file_name} ]
[ [, ] { NOREWIND | REWIND } ]
[ [, ] { NOSKIP | SKIP } ]
[ [, ] { NOUNLOAD | UNLOAD } ]
[ [, ] RESTART ]
[ [, ] STATS [ = percentage ] ]
]
}
<backup_device> ::=
{
{ logical_backup_device_name| @logical_backup_device_name_var}
| { DISK | TAPE } = { 'physical_backup_device_name' | @physical_backup_device_name_var}
}
Exemple: L'exemple suivant crée une sauvegarde du journal des transactions pour la base de données
MaBaseDeDonnees dans l'unité de sauvegarde, nommée Sauvegarde_MaBD_log1.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
USE master
EXEC sp_addumpdevice 'disk', 'Sauvegarde_MaBD_log1',
'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_log1.bak'
BACKUP LOG MaBaseDeDonnees
TO Sauvegarde_MaBD_log1
GO
• Création d'une Sauvegarde du journal des transactions lorsque la BD est endommagée :
A l'aide de Transact-SQL
1. Exécutez l'instruction BACKUP LOG pour sauvegarder le journal des transactions actif en cours, en
spécifiant :
• Le nom de la base de données à laquelle appartient le journal des transactions à sauvegarder.
• L'unité de sauvegarde dans laquelle sera écrite la sauvegarde du journal des transactions.
• La clause NO_TRUNCATE pour sauvegarder le journal des transactions sans en tronquer la partie inactive.
Elle permet la sauvegarde de la partie active du journal des transactions même si la base de données est
inaccessible, à condition que le ou les journaux des transactions soient accessibles et qu'ils ne soient pas
endommagés.
2. Spécifiez éventuellement :
• La clause INIT pour écraser les fichiers du support de sauvegarde et écrire la sauvegarde en tant que premier
fichier sur le support de sauvegarde. S'il n'existe aucun en-tête de support, il s'en crée un automatiquement.
• Les clauses SKIP et INIT pour écraser le support de sauvegarde même s'il existe des sauvegardes qui n'ont
pas encore expiré ou si le nom du support ne correspond pas à celui du support de sauvegarde.
• La clause FORMAT lors de la première utilisation du support pour initialiser complètement le support de
sauvegarde et réécrire un en-tête de support existant.
La clause INIT n'est pas requise si la clause FORMAT est spécifiée.
Important :Soyez très vigilant en utilisant les clauses FORMAT ou INIT de l'instruction BACKUP, car elles
entraînent la destruction de toutes les sauvegardes préalablement stockées sur le support de sauvegarde.
Exemple: L'exemple suivant crée une sauvegarde du journal des transactions actif pour la base de données
MaBaseDeDonnees
dans
l'unité
de
sauvegarde,
nommée
Sauvegarde_MaBD_log1,
même
si
MaBaseDeDonnees a été endommagée ou est inaccessible. Toutefois, le journal des transactions n'est ni
endommagé ni inaccessible.
USE master
GO
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
EXEC sp_addumpdevice 'disk', 'Sauvegarde_MaBD_log1',
'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Sauvegarde_MaBD_log1.bak'
BACKUP LOG MaBaseDeDonnees
TO Sauvegarde_MaBD_log1 WITH NO_TRUNCATE
• Application d'une sauvegarde du journal des transactions :
L'application d'une sauvegarde du journal des transactions est impossible :
• à moins que la sauvegarde complète ou différentielle de la base de données précédant la sauvegarde du
journal des transactions ne soit restaurée en premier ;
• À moins que tous les journaux des transactions précédents créés depuis la sauvegarde de la base de
données complète ou différentielle soient appliqués en premier.
• Si la base de données est déjà récupérée et que toutes les transactions en cours ont déjà subi l'opération
de roll back ou ont été transmises.
A l'aide de Transact-SQL :
1. Exécutez l'instruction RESTORE LOG pour appliquer la sauvegarde du journal des transactions, en
spécifiant :
• Le nom de la base de données à laquelle sera appliqué le journal des transactions.
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde du journal des transactions.
• La clause NORECOVERY si vous devez appliquer une autre sauvegarde du journal des transactions après la
sauvegarde en cours. Dans les autres cas, spécifiez la clause RECOVERY.
2. Répétez l'étape 1 pour chaque sauvegarde du journal des transactions à appliquer.
Exemple: L'exemple suivant applique une seule sauvegarde du journal des transactions à la base de données
MaBaseDeDonnees.
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log1
WITH RECOVERY
GO
Exemple: L'exemple suivant applique plusieurs sauvegardes du journal des transactions à la base de données
MaBaseDeDonnees, où Sauvegarde_MaBD_log1, Sauvegarde_MaBD_log2 et Sauvegarde_MaBD_log3 sont 3
fichiers de sauvegarde pour le journal de transactions.
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log1
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
WITH NORECOVERY
GO
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log2
WITH NORECOVERY
GO
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log3
WITH RECOVERY
GO
• Restauration du journal de transaction à un point précis dans le temps :
A l'aide de Transact-SQL
1. Exécutez l'instruction RESTORE DATABASE en utilisant la clause RECOVERY.
2. Exécutez l'instruction RESTORE LOG pour appliquer chaque sauvegarde du journal des transactions, en
spécifiant :
• Le nom de la base de données à laquelle sera appliqué le journal des transactions.
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde du journal des transactions.
• Les clauses RECOVERY et STOPAT. Si la sauvegarde du journal des transactions ne contient pas l'heure
demandée (par exemple, si l'heure spécifiée dépasse la dernière heure figurant dans le journal des
transactions), un avertissement est émis et la base de données n'est pas restaurée.
Exemple: L'exemple suivant restaure une base de données à son état le 1er juillet 1998 à 10 heures et illustre
une opération de restauration impliquant plusieurs journaux et plusieurs unités de sauvegarde.
-- Restaure la sauvegarde complète de la Base de données
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
WITH NORECOVERY
GO
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log1
WITH RECOVERY, STOPAT = 'Jul 1, 1998 10:00 AM'
GO
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
• Etapes de restauration d'une BD endommagée :
1. Exécutez l'instruction BACKUP LOG en utilisant la clause NO_TRUNCATE pour sauvegarder le journal des
transactions actif en cours.
2. Exécutez l'instruction RESTORE DATABASE en utilisant la clause NORECOVERY pour restaurer la
sauvegarde complète de la base de données.
3. Exécutez l'instruction RESTORE LOG avec la clause NORECOVERY pour appliquer chaque sauvegarde du
journal des transactions.
4. Exécutez l'instruction RESTORE LOG avec la clause RECOVERY pour appliquer la sauvegarde du journal
des transactions créé à l'étape 1.
Exemple : L'exemple suivant sauvegarde le journal des transactions actif en cours de la base de données
MaBaseDeDonnees, même si la BD est inaccessible, puis restaure la base de données au point d'échec en
utilisant les sauvegardes préalablement créées.
-- Sauvegarde du journal de transaction actif
BACKUP LOG MaBaseDeDonnees
TO Sauvegarde_MaBD_log2
WITH NO_TRUNCATE
GO
-- Restaure la sauvegarde complete de la base de données.
RESTORE DATABASE MaBaseDeDonnees
FROM Sauvegarde_MaBD_1
WITH NORECOVERY
GO
-- Restaure la premiere sauvegarde du journal de transactions.
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log1
WITH NORECOVERY
GO
-- restaure la sauvegarde du journal de transactions actif
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log2
WITH RECOVERY
GO
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
V.8. Sauvegarde de fichiers ou de groupes de fichiers :
Microsoft SQL Server prend en charge la sauvegarde et la restauration de fichiers isolés ou de groupes de
fichiers dans une base de données. Il s'agit d'un processus de sauvegarde et de restauration relativement
sophistiqué qui est généralement réservé aux bases de données de très grande taille dont les exigences en
matière de disponibilité sont importantes. Si le temps disponible pour la sauvegarde ne suffit pas à prendre en
charge la sauvegarde de la totalité de la base de données, il est possible de sauvegarder des sous-ensembles
de la base de données à des moments différents.
Par exemple, si la sauvegarde d'une base de données nécessite trois heures, et si le temps de sauvegarde
quotidien autorisé est de deux heures seulement, le site peut sauvegarder la moitié des fichiers ou des groupes
de fichiers un soir et l'autre moitié le soir suivant. Si un disque contenant des fichiers ou des groupes de fichiers
de base de données tombe en panne, le site peut restaurer uniquement les fichiers ou groupes de fichiers
perdus.
Le site doit également réaliser des sauvegardes des journaux des transactions et restaurer toutes celles qui ont
été effectuées après la sauvegarde du fichier ou du groupe de fichiers.
Les restaurations de fichiers et de groupes de fichiers peuvent aussi être effectuées à partir du jeu de
sauvegarde d'une base de données complète. Ceci permet de récupérer les données plus rapidement, car
seuls les fichiers ou groupes de fichiers endommagés sont restaurés au cours de la première étape, et non la
base de données complète.
Les fichiers d'une base de données peuvent être sauvegardés et restaurés individuellement. De cette manière,
la vitesse de récupération est augmentée, car cela vous permet de restaurer uniquement les fichiers
endommagés sans restaurer le reste de la base de données. Par exemple, si une base de données est
constituée de plusieurs fichiers situés physiquement sur différents disques et qu'un disque est défaillant, seul le
fichier du disque défectueux doit être restauré.
Les opérations de sauvegarde et de restauration doivent être utilisé conjointement avec les sauvegardes de
journal des transactions. Pour cette raison, les sauvegardes de fichiers ne peuvent être utilisées qu'avec les
modèles de récupération complète et journalisée en bloc.
Les sauvegardes de fichiers offrent les avantages suivants :
• La récupération suite à des défaillances de supports isolés est plus rapide. Le ou les fichiersendommagés
peuvent être restaurés rapidement.
• Les sauvegardes de fichiers ou de journaux des transactions peuvent être créées simultanément, vous
permettant de gérer des planifications régulières de sauvegarde du journal.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
• Les sauvegardes de fichiers permettent une plus grande flexibilité dans la planification et la gestion des
supports. Par exemple, pour les très grandes bases de données, les sauvegardes de bases de données
complètes peuvent devenir ingérables.
• Sauvegarde de fichiers et groupes de fichiers :
A l'aide de Transact-SQL
Pour sauvegarder les fichiers et groupes de fichiers :
• Exécutez l'instruction BACKUP DATABASE pour créer une sauvegarde de fichier ou de groupe de fichiers, en
spécifiant :
• Le nom de la base de données à sauvegarder.
• L'unité de sauvegarde où sera écrite la sauvegarde de la base de données.
• La clause FILE pour chaque fichier à sauvegarder.
• La clause FILEGROUP pour chaque groupe de fichiers à sauvegarder.
Exemple: La base de données MaBaseDeDonnee est composée des fichiers suivants:
MaBaseDeDonnees_data_1.mdf, MaBaseDeDonnees_data_2.ndf et Les fichiers de sauvegarde suivants
existent déjà : Sauvegarde_MaBD_1 et Sauvegarde_MaBD_2.
USE Master
Go
-- Sauvegarde du fichier primaire de la base de données
BACKUP DATABASE MaBaseDeDonnees
FILE = MaBaseDeDonnees_data_1 TO Sauvegarde_MaBD_1
GO
-- Sauvegarde du fichier secondaire de la base de données
BACKUP DATABASE MaBaseDeDonnees
FILE = MaBaseDeDonnees_data_2 TO Sauvegarde_MaBD_2
GO
-- Sauvegarde du fichier journal de transactions de la base de données
BACKUP LOG MaBaseDeDonnees
TO Sauvegarde_MaBD_log1
GO
• Restauration des sauvegardes de fichiers :
Après avoir restauré des sauvegardes de fichiers, vous devez restaurer les sauvegardes du journal des
transactions effectuées depuis la création de ces sauvegardes de fichiers pour rendre à la base de données sa
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
cohérence. La sauvegarde du journal des transactions peut être reprise rapidement, car seuls les changements
qui sont appliqués aux fichiers restaurés sont appliqués.
Pour restaurer un ou plusieurs fichiers endommagés à partir de sauvegardes de fichiers :
1. Créez une sauvegarde du journal des transactions actif ; Si vous ne pouvez pas effectuer cette opération car
le journal a été endommagé , vous devez restaurer toute la base de données.
2. Restaurez chaque fichier endommagé à partir de la sauvegarde la plus récente de ce fichier ;
3. Restaurez dans l'ordre les sauvegardes du journal des transactions, en commençant par la sauvegarde
correspondant au plus ancien des fichiers restaurés ;
4. Restaurez la sauvegarde du journal des transactions actif créée à l'étape 1 ;
5. Récupérez la base de données.
Important :L'administrateur système restaurant les fichiers et groupes de fichiers doit être la seule personne
utilisant la base de données à restaurer.
1. Exécutez l'instruction RESTORE DATABASE pour restaurer la sauvegarde du fichier ou du groupe de
fichiers, en spécifiant :
• Le nom de la base de données à restaurer ;
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde de la base de données.
• La clause FILE pour chaque fichier à restaurer.
• La clause FILEGROUP pour chaque groupe de fichiers à restaurer.
• La clause NORECOVERY. Si les fichiers n'ont pas été modifiés depuis la création de la sauvegarde, spécifiez
la clause RECOVERY.
2. Si les fichiers ont été modifiés depuis la création de la sauvegarde du fichier, exécutez l'instruction
RESTORE LOG pour appliquer la sauvegarde du journal des transactions, en spécifiant :
• Le nom de la base de données à laquelle sera appliqué le journal des transactions.
• L'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde du journal des transactions.
• La clause NORECOVERY si vous devez appliquer une autre sauvegarde du journal des transactions après la
sauvegarde en cours. Dans les autres cas, spécifiez la clause RECOVERY.
Les sauvegardes du journal des transactions, lorsqu'elles sont appliquées, doivent couvrir la période de
sauvegarde des fichiers et groupes de fichiers jusqu'à la fin du journal (sauf si TOUS les fichiers de base de
données sont sauvegardés).
Exemple: L'exemple suivant restaure les fichiers pour la base de données MaBaseDeDonnees. Un journal de
transactions est également appliqué pour restaurer la base de données à l'heure en cours.
USE Master
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
GO
-- Restauration du fichier primaire de la base de données
RESTORE DATABASE MaBaseDeDonnees
FILE = MaBaseDeDonnees_data_1 FROM Sauvegarde_MaBD_1
WITH NORECOVRY
GO
-- Restauration du fichier secondaire de la base de données
RESTORE DATABASE MaBaseDeDonnees
FILE = MaBaseDeDonnees_data_2 FROM Sauvegarde_MaBD_2
WITH NORECOVRY
GO
-- Application de la sauvegarde du fichier journal de transactions de la base de données
RESTORE LOG MaBaseDeDonnees
FROM Sauvegarde_MaBD_log
WITH RECOVERY
GO
Chapitre 06 :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Surveillance des
performances
de SQL Server.
I.
Surveiller et régler les performances :
Le but de la surveillance des bases de données est d'évaluer le fonctionnement d'un serveur. Une
surveillance efficace implique la prise d'instantanés périodiques des performances actuelles afin
d'isoler les processus à l'origine des problèmes, ainsi que la collecte de données en continu pour
suivre de près les tendances des performances.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
L'évaluation continue des performances de la base de données vous permet de réduire les temps de
réponse et accélère le débit, ce qui optimise les performances. Un trafic réseau efficace, des E/S
disque et l'utilisation de l'UC sont essentiels pour maximiser les performances. Vous devez analyser
soigneusement les besoins de l'application, comprendre la structure logique et physique des données,
évaluer l'utilisation de la base de données et négocier les compromis entre des utilisations
conflictuelles telles que le traitement transactionnel en ligne par rapport à l'aide à la décision.
1. Avantages de la surveillance des bases de données et du paramétrage des
performances :
Microsoft SQL Server et le système d'exploitation Microsoft Windows fournissent des utilitaires qui
vous permettent de contrôler les conditions actuelles de la base de données et de suivre l'évolution
des performances en fonction de l'évolution de ces conditions. Il existe une multitude d'outils et de
techniques qui permettent de surveiller Microsoft SQL Server. Comprendre comment surveiller SQL
Server peut vous aider à :

Déterminer si vous pouvez améliorer les performances. Par exemple, en surveillant les temps
de réponse des requêtes les plus fréquentes, vous pouvez déterminer s'il faut modifier les
requêtes ou les index des tables.

Évaluer l'activité des utilisateurs. Par exemple, en surveillant les utilisateurs qui tentent de se
connecter à une instance de SQL Server, vous pouvez déterminer si la sécurité est
correctement configurée et tester les applications et les systèmes de développement. Par
exemple, en surveillant les requêtes SQL au fur et à mesure de leur exécution, vous pouvez
déterminer si elles sont correctement rédigées et si elles produisent les résultats attendus.

Résoudre les éventuels problèmes ou déboguer des composants d'application, comme des
procédures stockées.
2. Surveillance dans un environnement dynamique :
La surveillance est importante car SQL Server fournit un service dans un environnement
dynamique. La modification des conditions aboutit à un changement des performances.Dans vos
évaluations, vous pouvez voir les changements de performances au fur et à mesure que le nombre
d'utilisateurs augmente, que les accès des utilisateurs et les méthodes de connexion changent, que la
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
base de données se remplit, que les applications clientes changent, que les données des applications
changent, que les requêtes deviennent plus complexes et que le trafic réseau augmente. Grâce aux
outils de SQL Server permettant de surveiller les performances, vous pouvez associer certaines
modifications des performances à des modifications de conditions et des requêtes complexes. Les
scénarios suivants fournissent des exemples :

en surveillant les temps de réponse des requêtes les plus fréquentes, vous pouvez déterminer
s'il faut modifier, soit les requêtes, soit les index des tables ;

en surveillant les requêtes Transact-SQL au fur et à mesure de leur exécution, vous pouvez
déterminer si elles sont correctement rédigées et si elles produisent les résultats attendus ;

en surveillant les utilisateurs qui tentent de se connecter à une instance de SQL Server, vous
pouvez déterminer si la sécurité est correctement configurée et tester les applications et les
systèmes de développement.
Le temps de réponse est la durée requise pour le renvoi de la première ligne de l'ensemble de
résultats à l’utilisateur sous forme de confirmation visuelle qu’une requête est en cours de
traitement. Le débit mesure le nombre total de requêtes gérées par le serveur pendant une période
donnée.
La demande des ressources du serveur croît proportionnellement au nombre d'utilisateurs,
augmentant ainsi le temps de réponse et, par conséquent, diminuant le débit global.
3.
Tâches de surveillance et de paramétrage des performances :
Description de la tâche
Rubrique
Fournit les étapes nécessaires requises
pour surveiller efficacement n'importe
Surveiller les composants SQL Server
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
quel composant de SQL Server.
Répertorie les outils de surveillance et
de paramétrage de SQL Server.
Outils d'analyse et de paramétrage des
performances
Fournit des informations sur
l'établissement d'une a génération d'une
ligne de base des performances.
Établir un niveau de référence des
performances
Explique comment isoler les problèmes
de performances de base de données.
Isoler les problèmes de performance
Explique comment surveiller et suivre
les performances du serveur afin
d'identifier les goulots d'étranglement.
Identifier les goulots d'étranglement
Explique comment utiliser SQL Server
et les outils de surveillance de l'activité
et des performances Windows.
Analyse des performances et surveillance de
l'activité du serveur
Explique comment afficher et
enregistrer des plans d'exécution dans
un fichier au format XML.
Afficher et enregistrer des plans d'exécution
Fiche Technique
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Spécialité:Informatique.
Option : Base de Données.
Date :.
Enseignante:Nadjette Mouici.
Nocours : 06No séance:01.
Module:Administration à l’aide de SQL SERVER.
Temps précis : 01h 30mn.
Chapitre06:Surveillance des performances de SQL Server. Temps alloué:………h……….mn
Thème : Surveiller les composants SQL Server .
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER
LES POINTS ESSSENTIELS POUR UNE SURVEILLANCE EFFICACE DE
PERFORMANCES SOUS SQL SERVER; A L’AIDE DE L’EXPLICATION DU
FORMATEUR ET SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
 https://msdn.microsoft.com/fr-fr/library/hh213686.aspx
Fiche Technique
Spécialité:Informatique.
Enseignante:Nadjette Mouici.
Spécialité : INFORMATIQUE
Option : Base de Données.
Date :.
Nocours : 06No séance:02.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Module:Administration à l’aide de SQL SERVER.
T.S.
Temps précis : 01h 30mn.
Chapitre06:Surveillance des performances de SQL Server. Temps alloué:………h……….mn
Thème :l’outils approprié à la surveillance.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE
SELECTIONNER L’OUTILS APPROPRIEA LA SURVEILLANCESOUS SQL
SERVER; A L’AIDE DE MOTIFS DE LA SURVEILLANCE
CHOISIE ET
SANS ERREURS.
Outils utilisés:
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
 https://msdn.microsoft.com/fr-fr/library/hh213686.aspx
I.
Surveiller les composants SQL Server :
La surveillance est importante car SQL Server fournit un service dans un environnement dynamique. Les
données dans l'application sont fluctuantes. Le type d'accès requis par les utilisateurs peut changer. Le mode
de connexion des utilisateurs change. Les types des applications accédant à SQL Server peuvent même
changer, mais SQL Server gère automatiquement les ressources de niveau système, telles que la mémoire et
l'espace disque, pour minimiser les paramétrages manuels nécessaires au niveau système. La surveillance
permet aux administrateurs d'identifier les tendances de performances afin de déterminer si des modifications
s'imposent.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Pour surveiller efficacement un composant SQL Server :
1. Déterminer vos objectifs en matière de surveillance.
2. Sélectionner l'outil approprié.
3. Identifier les composants à surveiller.
4. Sélectionner les éléments de mesure pour ces composants.
5. Surveiller le serveur.
6. Analyser les données.
Chacune de ces étapes est décrite ci-après.
1. Déterminer vos objectifs en matière de surveillance :
Pour surveiller efficacement SQL Server, vous devez identifier clairement les motifs de surveillance. Ces motifs
peuvent être les suivants :

Établir un niveau de référence des performances.

Identifier les fluctuations de performances dans le temps.

Diagnostiquer des problèmes de performances spécifiques.

Identifier les composants ou processus à optimiser.

Comparer les effets de différentes applications clientes sur les performances.

Auditer l'activité des utilisateurs.

Tester un serveur sous différentes charges.

Tester l'architecture d'une base de données.

Tester les programmes de maintenance.

Tester les plans de sauvegarde et de restauration.

Déterminer le moment où il convient de modifier votre configuration matérielle.
2. Sélectionner l'outil approprié :
Une fois que vous avez identifié les motifs de la surveillance, vous devez sélectionner les outils correspondant
à ce type de surveillance. Le système d'exploitation Windows et SQL Server comportent un jeu complet d'outils
permettant de surveiller les serveurs dans des environnements riches en transactions. Ces outils révèlent
clairement la condition d'une instance du moteur de base de données SQL Server ou d'une instance de
SQL Server Analysis Services.
Windows fournit les outils suivants pour la surveillance d'applications s'exécutant sur un serveur :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

T.S.
Moniteur système, qui permet de collecter et d'afficher des données en temps réel sur des activités,
telles que l'utilisation de la mémoire, du disque et du processeur ;

Journaux et alertes de performance ;

Gestionnaire des tâches
SQL Server fournit les outils suivants pour la surveillance des composants de SQL Server :

Trace SQL

SQL Server Profiler

DistributedReplay Utility

Moniteur d'activité de SQL Server Management Studio

Plan d’exécution de requêtes graphique de SQL Server Management Studio

Procédures stockées

Commandes DBCC (Database Console Commands)

Fonctions intégrées

Indicateurs de trace
3. Identifier les composants à surveiller :
La troisième étape dans la surveillance d'une instance de SQL Server consiste à identifier les composants à
surveiller. Par exemple, si vous utilisez SQL Server Profiler pour tracer un serveur, vous définir la trace de sorte
à collecter des données concernant des événements spécifiques. Vous pouvez également exclure des
événements qui ne s'appliquent pas à votre situation.
4. Sélectionner les éléments de mesure pour les composants surveillés :
Après l'identification des composants à surveiller, déterminez les éléments de mesure à utiliser pour la
surveillance. Par exemple, après avoir sélectionné les événements à inclure dans une trace, vous pouvez
choisir d'inclure uniquement des données spécifiques concernant ces événements. La limitation de la trace aux
données pertinentes permet de réduire la quantité de ressources système requise pour effectuer le suivi.
5. Surveiller le serveur :
Pour surveiller le serveur, exécutez l'outil de surveillance que vous avez configuré pour collecter des données.
Par exemple, après avoir défini une trace, vous pouvez l’exécuter pour recueillir des données concernant les
événements qui se sont produits sur le serveur.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
6. Analyser les données :
Une fois le suivi terminé, analysez les données pour vérifier si vous avez atteint votre objectif de surveillance. Si
ce n’est pas le cas, modifiez les composants ou les éléments de mesure utilisés pour surveiller le serveur.
Le processus de capture de données d’événement et de leur exploitation est décrit ci-dessous.
1. Appliquer des filtres pour limiter les données d'événement recueillies.
Le fait de limiter les données d'événement permet de s'attacher uniquement aux événements pertinents
par rapport au scénario de surveillance en place. Par exemple, si vous souhaitez surveiller les requêtes
lentes, vous pouvez utiliser un filtre afin de ne vous intéresser qu’aux requêtes dont l'exécution par
l'application sur une base de données particulière prend plus de 30 secondes.
2. Surveiller (capturer) les événements.
Dès qu'elle est activée, la surveillance active capture des données à partir de l'application, de l'instance
de SQL Server ou du système d'exploitation spécifié. Par exemple, lorsque l'activité du disque est
analysée à l'aide du Moniteur système, ce dernier capture les données d'événement, notamment les
lectures et les écritures sur le disque et les affiche sur l'écran.
3. Enregistrer les données d'événement capturées.
L'enregistrement des données d'événement capturées vous permet de les analyser ultérieurement,
voire de les relire avec DistributedReplay Utility ou le SQL Server Profiler. Les données d'événement
capturées sont enregistrées dans un fichier pouvant être rechargé dans l'outil qui l'a créé à l'origine
pour analyse. Le SQL Server Profiler permet d'enregistrer les données d'événement dans une table
SQL Server. L'enregistrement des données d'événement capturées est essentiel lors de la création
d'un niveau de référence des performances. Les données du niveau de référence des performances
sont enregistrées et utilisées lors de la comparaison des données d'événement récemment capturées
afin de déterminer si les performances sont optimales.
4. Créer des modèles de trace contenant les paramètres spécifiés pour capturer les événements.
Ces modèles contiennent des spécifications concernant les événements proprement dits, les données
d’événement et les filtres utilisés pour la capture de données. Ils permettent de surveiller ultérieurement
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
un ensemble spécifique d'événements sans avoir à redéfinir les événements, les données d'événement
et les filtres. Par exemple, si vous voulez souvent surveiller le nombre d'inter blocages et les utilisateurs
impliqués dans ces inter blocages, vous pouvez créer un fichier définissant ces événements, données
d'événement et filtres d'événement, puis enregistrer le modèle et appliquer le filtre la prochaine fois que
vous voudrez surveiller les inter blocages. Le SQL Server Profiler utilise les modèles de trace à cet
effet.
5. Analyser les données d'événement capturées.
Les données d'événement capturées sont chargées dans l'application qui les a capturées afin d’être
analysées. Par exemple, une trace capturée depuis SQL Server Profiler peut y être rechargée en vue
d’un affichage et d'une analyse.
L'analyse des données d'événement implique l'identification des événements et de leur cause. Ces
informations vous permettent d'effectuer des modifications susceptibles d'améliorer les performances,
telles que l'ajout de mémoire, la modification d'index, la correction de problèmes de code avec des
procédures stockées et des instructions Transact-SQL, en fonction du type d'analyse effectuée. Par
exemple, vous pouvez utiliser l'Assistant Paramétrage du Moteur de base de données pour analyser
une trace capturée depuis SQL Server Profiler et créer des recommandations d'index en fonction des
résultats.
6. Relire les données d'événement capturées.
La relecture d'événements permet d'établir une copie de test de l'environnement de base de données à
partir duquel les données ont été capturées, puis de répéter les événements capturés tels qu'ils se sont
initialement produits sur le système réel. Cette fonction n'est disponible qu'avec DistributedReplayUtility
ou le SQL Server Profiler. Ces événements peuvent être relus à la vitesse à laquelle ils se sont
produits, aussi rapidement que possible (pour contraindre le système) ou, plus vraisemblablement, pas
à pas (pour analyser le système après chaque événement). L'analyse des événements exacts dans un
environnement de test empêche tout effet nuisible sur le système de production.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
II.
T.S.
Outils d'analyse et de paramétrage des performances :
Microsoft SQL Server fournit un ensemble complet d'outils permettant de surveiller les événements de SQL
Server et de paramétrer la structure physique de la base de données. Le choix de l'outil dépend du type de
surveillance ou de paramétrage à effectuer et des événements spécifiques à contrôler.
Les outils de surveillance et de paramétrage de SQL Server sont les suivants :
Outil
Description
sp_trace_setfilter Le SQL Server Profiler assure le suivi des événements de processus du moteur, notamment le
(Transact-SQL)
début d'un traitement ou d'une transaction, ce qui vous permet de surveiller l'activité du serveur
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
et de la base de données (par exemple les blocages, les erreurs irrécupérables ou les
connexions). Vous pouvez capturer les données du SQL Server Profiler dans une table ou un
fichier SQL Server en vue d'une analyse ultérieure, et relire les événements capturés sur SQL
Server, pas à pas, pour savoir ce qui s'est passé exactement.
SQL
Server Microsoft SQL Server DistributedReplay peut utiliser plusieurs ordinateurs pour relire les données
DistributedReplay de trace, en simulant mieux les charges de travail sensibles.
Le Moniteur système surveille principalement l'utilisation des ressources, notamment le nombre
de demandes de pages en cours au gestionnaire de tampons, ce qui vous permet de contrôler
les performances et l'activité du serveur à l'aide d'objets et de compteurs prédéfinis, ou de
compteurs définis par l'utilisateur pour surveiller les événements. Le Moniteur système
(l’Analyseur de performances dans Microsoft Windows NT 4.0) recueille le nombre et le taux et
non pas les données concernant les événements (par exemple, l'utilisation de la mémoire, le
Analyser
nombre de transactions actives, le nombre de verrous bloqués, ou l'activité de l'UC). Vous
l'utilisation
des
ressources
pouvez définir des seuils pour des compteurs spécifiques de manière à générer des alertes pour
avertir les opérateurs.
(Moniteur
système)
Le Moniteur système fonctionne sur les systèmes d'exploitation Microsoft Windows Server et
Windows. Il peut surveiller (à distance ou localement) une instance de SQL Server sur
Windows NT 4.0 ou version ultérieure.
La différence essentielle entre le SQL Server Profiler et le Moniteur système, est que le SQL
Server Profiler surveille les événements du moteur de base de données, tandis que le Moniteur
système surveille l'utilisation des ressources associées aux processus du serveur.
Ouvrir
le
Moniteur
d'activité
(SQL
Server
Management
Studio)
Le Moniteur d'activité de SQL Server Management Studio affiche des informations sous forme
graphique sur :

les processus s'exécutant dans une instance de SQL Server ;

les processus bloqués ;

les verrous ;

l'activité utilisateur.
Ceci est utile pour les affichages ad hoc de l'activité courante.
Les procédures stockées Transact-SQL qui créent, filtrent et définissent la trace :
Trace SQL

sp_trace_create (Transact-SQL)

sp_trace_generateevent (Transact-SQL)
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

sp_trace_setevent (Transact-SQL)

sp_trace_setfilter (Transact-SQL)

sp_trace_setstatus (Transact-SQL)
T.S.
Le journal des événements des applications Windows fournit une image complète des
événements survenant sur les systèmes d'exploitation Windows Server et Windows dans leur
Journaux
des ensemble, ainsi que des événements survenant dans SQL Server, dans l'Agent SQL Server et
erreurs
dans la recherche en texte intégral. Il contient des informations exclusives sur les événements
qui se produisent dans SQL Server. Vous pouvez utiliser les informations du journal des erreurs
pour résoudre des problèmes liés à SQL Server.
Les procédures stockées système SQL Server ci-après fournissent une puissante alternative à
de nombreuses tâches de surveillance :
Procédure stockée Description
sp_who
(Transact-
SQL)
Procédures
sp_lock
(Transact-SQL)
SQL)
actifs de SQL Server, y compris l'exécution de l'instruction active et si
l'instruction est bloquée.
stockées
système
Renvoie des informations d'instantané sur les utilisateurs et les processus
(Transact-
Renvoie des informations d'instantané sur les verrous, y compris l'ID de
l'objet, l'ID d'index, le type de verrou et le type de ressource auquel
s'applique le verrou.
sp_spaceused
Affiche une estimation de l'espace disque actuellement utilisé par une
(Transact-SQL)
table (ou une base de données entière).
sp_monitor
Affiche des statistiques, notamment l'utilisation de l'UC, l'utilisation des
(Transact-SQL)
E/S et la durée d'inactivité depuis la dernière exécution de sp_monitor.
DBCC (Transact- Les instructions DBCC (Database Console Command) vous permettent de contrôler les
SQL)
statistiques de performances et la cohérence logique et physique d'une base de données.
Les fonctions intégrées affichent des statistiques d'instantané sur l'activité SQL Server depuis le
démarrage du serveur ; ces statistiques sont stockées dans des compteurs SQL Server
Fonctions
prédéfinis. Par exemple, @@CPU_BUSY indique pendant combien de temps l'UC a exécuté du
intégrées
(Transact-SQL)
code SQL Server ; @@CONNECTIONS indique le nombre de connexions SQL Server ou de
tentatives de connexion ; enfin, @@PACKET_ERRORS indique le nombre de paquets réseau
sur des connexions SQL Server.
Indicateurs
de Les indicateurs de trace affichent des informations sur une activité spécifique sur le serveur ; ils
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
trace (Transact- permettent de diagnostiquer les problèmes ou les causes agissant sur les performances (par
SQL)
exemple, chaînes de blocage).
Assistant
L'Assistant de Paramétrage du moteur de base de données analyse les effets des performances
Paramétrage du des instructions Transact-SQL exécutées sur des bases de données à paramétrer. Il fournit des
moteur de base recommandations pour ajouter, supprimer ou modifier des index, des vues indexées et un
de données
partitionnement.
1. Choix d'un outil de surveillance :
Le choix d'un outil de surveillance dépend de l'événement ou de l'activité à surveiller.
Événement
ou SQL
activité
Server
Profiler
Analyse
de
tendance
Relecture
DistributedReplay
Oui
ordinateur
capturés
unique)
Moniteur
Transact- Journaux
système
d'activité
SQL
des erreurs
Oui
Oui
Oui
Oui
des Oui (depuis un
événements
Moniteur
Oui (depuis plusieurs
ordinateurs)
Surveillance ad hoc Oui
Génération d'alertes
Oui
Interface graphique Oui
Oui
Oui
Oui
Utilisation dans une
application
Oui 1
Oui
personnalisée
1 Utilisation des procédures stockées système du SQL Server Profiler.
2. Outils de surveillance Windows :
Les systèmes d'exploitation Windows et Windows Server 2003 proposent également les outils de surveillance
suivants.
Outil
Description
Gestionnaire des tâches
Affiche un résumé des processus et des applications en cours d'exécution sur le
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
système.
Agent
de
surveillance
réseau
du
Surveille le trafic réseau.
3. Évaluation de la cardinalité (SQL Server) :
La logique d'estimation de la cardinalité, appelée estimateur de cardinalité, est remodelée dans SQL
Server 2014 afin d'améliorer la qualité des plans de requête, et par conséquent, améliorer les
performances des requêtes. Le nouvel estimateur de cardinalité incorpore des hypothèses et des
algorithmes qui fonctionnent sur les charges de travail OLTP et de stockage de données modernes. Il
repose sur la recherche détaillée des estimations de cardinalité sur les charges de travail modernes et
sur nos connaissances acquises au cours des 15 dernières années sur l'amélioration de l'estimateur de
cardinalité SQL Server. Les commentaires des clients indiquent que bien que la plupart des requêtes
tirent parti des modifications ou demeurent inchangées, un petit nombre d'entre elles présente des
régressions par rapport à l'estimateur de cardinalité précédent.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Remarque
Les estimations de cardinalité sont une prédiction du nombre de lignes dans le résultat de la requête.
L'optimiseur de requête utilise ces estimations pour choisir un plan d'exécution de la requête. La
qualité du plan de requête a un impact direct sur l'amélioration des performances des requêtes.
Recommandations pour le test des performances et le paramétrage :
Le nouvel estimateur de cardinalité est activé pour toutes les nouvelles bases de données créées dans
SQL Server 2014. Cependant, la mise à niveau vers SQL Server 2014 n'active pas le nouvel
estimateur de cardinalité dans les bases de données existantes.
Pour obtenir les meilleures performances des requêtes, utilisez ces recommandations pour tester
votre charge de travail avec le nouvel estimateur de cardinalité avant de l'activer sur votre système de
production.
1. Mettez à niveau toutes les bases de données existantes pour utiliser le nouvel estimateur de la
cardinalité. Pour cela, utilisez Niveau de compatibilité ALTER DATABASE (Transact-SQL)
pour définir le niveau de compatibilité de la base de données à 120.
2. Exécutez votre test de charge de travail avec le nouvel estimateur de cardinalité, puis résolvez
les nouveaux problèmes de performances de la même façon que les problèmes de
performances.
3. Une fois que votre charge de travail s'exécute avec le nouvel estimateur de cardinalité (niveau
de compatibilité de la base de données 120), et qu'une requête spécifique a régressé, exécutez
la requête avec l'indicateur de trace 9481 de façon à utiliser la version 70 (version de SQL
Server 2012) de l'estimateur de cardinalité. Pour exécuter une requête avec un indicateur de
trace, consultez l'article de la Base de connaissances Activer un plan affectant le
comportement de l'optimiseur de requête SQL Server qui peut être contrôlé par des
indicateurs de trace différents à un niveau spécifique à une requête.
4. Si vous ne pouvez pas modifier toutes les bases de données à la fois de façon à utiliser le
nouvel estimateur de cardinalité, utilisez l'estimateur de cardinalité précédent pour toutes les
bases de données à l'aide de Niveau de compatibilité ALTER DATABASE (Transact-SQL)
pour définir le niveau de compatibilité de la base de données à 110.
5. Si votre charge de travail s'exécute avec le niveau de compatibilité de la base de données 110
et vous souhaitez tester ou exécuter une requête spécifique avec le nouvel estimateur de
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
cardinalité, exécutez la requête avec l'indicateur de trace 2312 de façon à utiliser la
version 120 (nouvelle version) de l'estimateur de cardinalité. Pour exécuter une requête avec
un indicateur de trace, consultez l'article de la Base de connaissances Activer un plan
affectant le comportement de l'optimiseur de requête SQL Server qui peut être contrôlé par
des indicateurs de trace différents à un niveau spécifique à une requête.
Nouveaux XEvents :
Il y a deux nouveaux XEventsquery_optimizer_estimate_cardinality pour prendre en charge les
nouveaux plans de requête.

query_optimizer_estimate_cardinality se produit lorsque l'optimiseur de requête estime la
cardinalité sur une expression relationnelle.

query_optimizer_force_both_cardinality_estimation_behaviors se produit lorsque les deux
indicateurs de trace 2312 et 9481 sont activés, tentant de forcer l'ancien et le nouveau
comportement d'estimation de cardinalité en même temps.
Exemples :
Les exemples suivants illustrent certaines des modifications apportées aux nouvelles estimations de
cardinalité. Le code d'estimation de la cardinalité a été réécrit. La logique est complexe et il est
impossible de fournir une liste exhaustive de toutes les modifications.
Remarque
Ces exemples sont fournis en tant qu'informations conceptuelles. Aucune action n'est requise de
votre part pour modifier la manière dont vous concevez les bases de données et les requêtes.
Exemple A. Les nouvelles estimations de cardinalité utilisent une cardinalité moyenne pour les
données croissantes ajoutées récemment :
Cet exemple montre comment le nouvel estimateur de cardinalité peut améliorer les estimations de
cardinalité pour les données croissantes qui dépassent la valeur maximale dans la table pendant la
mise à jour des statistiques la plus récente.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
SELECT item, category, amount FROM dbo.Sales AS s WHERE Date = '2013-12-19';
Dans cet exemple, de nouvelles lignes sont ajoutées à la table Ventes chaque jour, la requête
demande les données des ventes qui se sont produites le 19/12/2013, et la dernière mise à jour des
statistiques a été effectuée le 18/12/2013. L'estimateur de cardinalité précédent suppose que les
valeurs du 19/12/2013 n'existent pas, car la date dépasse la date maximale et les statistiques n'ont pas
été mises à jour pour inclure les valeurs du 19/12/2013. Cette situation, appelée problème de clé
croissante, se produit lorsque vous chargez des données au cours de la journée, puis exécutez des
requêtes sur les données avant de mettre à jour les statistiques.
Ce comportement a changé. Maintenant, même si les statistiques n'ont pas été mises à jour pour les
données croissantes les plus récentes ajoutées depuis la dernière mise à jour des statistiques, le
nouvel estimateur de cardinalité suppose que les valeurs existent et utilise la cardinalité moyenne de
chaque valeur dans la colonne comme estimation de la cardinalité.
Exemple B. Les nouvelles estimations de cardinalité supposent que les prédicats filtrés sur la
même table ont une certaine corrélation :
Pour cet exemple, supposons que la table Cars contient 1 000 lignes, la colonne Make contient
200 correspondances pour « Honda », la colonne Model contient 50 correspondances pour « Civic »
et que tous les modèles Civic sont de marque Honda. Par conséquent, 20 % des valeurs de la colonne
Make correspondent à « Honda », 5 % des valeurs de la colonne Model correspondent à « Civic » et
le nombre réel de Civic honda est 50. Les estimations de cardinalité précédentes supposent que les
valeurs des colonnes Make et Model sont indépendantes. L'optimiseur de requête précédent estime
qu'il y a 10 Honda Civic (.05 * .20 * 1000 lignes = 10 lignes).
SELECT
year,
purchase_price
FROM
dbo.Cars
WHERE
Make
= 'Honda'
AND
Model =
'Civic';
Ce comportement a changé. Maintenant, les nouvelles estimations de cardinalité supposent que les
colonnes Make et Model ont une certaine corrélation. L'optimiseur de requête estime une cardinalité
plus élevée en ajoutant un composant exponentiel à l'équation d'estimation. L'optimiseur de requête
estime maintenant qu'il y a 22,36 lignes (.05 * SQRT(.20) * 1 000 lignes = 22,36 lignes) qui
correspondent au prédicat. Pour ce scénario et cette distribution de données spécifique, 22,36 lignes
est le résultat le proche des 50 lignes réelles qui sera retourné par la requête.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Notez que la logique du nouvel estimateur de cardinalité trie les sélectivités de prédicat et augmente
l'exposant. Par exemple, si les sélectivités de prédicat sont .05, .20 et .25, l'estimation de la
cardinalité est (.05 * SQRT(.20) * SQRT(SQRT(0,25)) ).
Exemple C. Les nouvelles estimations de cardinalité supposent que les prédicats filtrés sur les
tables sont indépendants :
Pour cet exemple, l'estimateur de cardinalité précédent suppose que les filtres de prédicat s.type et
r.date sont corrélés. Toutefois, les résultats du test sur les charges de travail modernes indiquent que
les filtres de prédicat sur les colonnes de différentes tables ne sont généralement pas corrélés.
SELECT s.ticket, s.customer, r.store FROM dbo.Sales AS s CROSS JOIN dbo.Returns
AS r
WHERE s.ticket = r.ticket AND s.type = 'toy' AND r.date = '2013-12-19';
Ce comportement a changé. Maintenant, la logique du nouvel estimateur de cardinalité suppose que
s.type n'est pas mis en corrélation avec r.date. En pratique, l'hypothèse est que les jouets sont
retournés tous les jours et non un seul jour spécifique. Dans ce cas, les nouvelles estimations de
cardinalité sont un nombre inférieur aux estimations de cardinalité précédentes.
III.
Établir un niveau de référence des performances :
Pour déterminer si votre système SQL Server assure des performances optimales,
mesurez les performances à intervalles réguliers, même en l'absence de problèmes,
pour établir un niveau de référence des performances du serveur. Comparez chaque
nouvel ensemble de mesures à ceux réalisés précédemment.
Les éléments suivants ont une influence sur les performances de SQL Server :

ressources système (matériel) ;

architecture réseau ;
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

système d'exploitation ;

applications de base de données ;

applications clientes.
T.S.
Au minimum, vous devez effectuer des mesures de niveau de référence pour
déterminer :

les heures de pointe et les heures creuses d'exploitation ;

les temps de réponse des requêtes de production et des commandes de
traitement par lots ;

les temps de sauvegarde et de restauration de la base de données.
Après avoir établi le niveau de référence des performances, comparez vos statistiques
aux performances actuelles du serveur. Toute valeur très supérieure ou très inférieure à
votre niveau de référence doit donner lieu à un examen approfondi. Elle peut indiquer
la nécessité d'optimiser ou de reconfigurer certains points. Par exemple, si le temps
nécessaire à l'exécution d'un ensemble de requêtes augmente, examinez les requêtes en
question pour déterminer si vous pouvez les réécrire ou si vous devez ajouter des
colonnes de statistiques ou de nouveaux index.
IV.
Isoler les problèmes de performance :
Il est souvent plus efficace d'utiliser plusieurs outils Microsoft SQL Server ou Microsoft Windows
conjointement pour isoler les problèmes de performance de base de données que d'utiliser un seul
outil à la fois. Par exemple, la fonctionnalité graphique Plan d'exécution, également appelée plan
d'exécution de requêtes, vous aide à reconnaître rapidement les blocages dans une seule requête.
Toutefois, vous pouvez reconnaître d'autres problèmes de performance plus facilement si vous
utilisez les fonctions de surveillance de SQL Server et de Windows en même temps.
SQL Server Profiler permet de surveiller et de résoudre les problèmes liés à Transact-SQL et à
l'application. Le Moniteur système permet de surveiller les problèmes liés au matériel ou à d'autres
aspects du système.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Vous pouvez surveiller les éléments suivants pour résoudre les problèmes :

Les procédures stockées de SQL Server ou les traitements Transact-SQL envoyés par les
applications des utilisateurs.

L'activité de l'utilisateur, notamment les verrous de blocage et les blocages.

L'activité matérielle, notamment l'utilisation du disque.
Vous pouvez identifier les problèmes suivants :

des erreurs dans le développement d'une application liées à des instructions Transact-SQL
mal rédigées ;

des erreurs matérielles, notamment des erreurs de disque ou de réseau ;

un blocage excessif dû à une base de données mal conçue.
Outils pour les problèmes de performance classiques :
Il est très important aussi de sélectionner exactement le problème de performance que vous souhaitez
faire surveiller ou régler par chaque outil. L'outil et l'utilitaire dépendent du type de problème de
performance à résoudre.
Surveiller l'utilisation de la mémoire
V.
Identifier les goulots d'étranglement (passage de suppression):
L'accès simultané aux ressources partagées provoque des goulots d'étranglement. En général, les
goulots d'étranglement sont inévitables et existent dans tous les systèmes logiciels. Toutefois, des
demandes excessives sur les ressources partagées engendrent un temps de réponse médiocre, qui
impose de les identifier et de les ajuster.
Les causes des goulots d'étranglement sont notamment les suivantes :




ressources insuffisantes nécessitant l'ajout ou la mise à niveau de composants ;
répartition inégale des charges de travail entre les ressources de même type (ce qui peut être
le cas lorsqu'un disque est monopolisé) ;
ressources défectueuses ;
ressources configurées incorrectement.
Analyse des goulots d'étranglement :
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
La durée excessive de divers événements représente un indicateur des goulots d'étranglement
susceptibles d'être ajustés.
Par exemple :


un composant peut empêcher le chargement d'un autre composant, augmentant ainsi le temps
nécessaire pour terminer le chargement ;
les demandes de client peuvent prendre plus longtemps en raison d'encombrements sur le
réseau.
Voici cinq domaines clés à surveiller lors du suivi des performances du serveur pour identifier les
goulots d'étranglement.
Domaine possible de
goulet
Effets sur le serveur
d'étranglement
Utilisation
mémoire
de
Utilisation
processeur
Une quantité de mémoire insuffisante, allouée ou disponible pour Microsoft
SQL Server, dégrade les performances. Les données doivent être lues sur le
la disque plutôt que directement à partir du cache de données. Les systèmes
d'exploitation Microsoft Windows font un usage excessif des fichiers
d'échange : ils transfèrent des données en provenance et à destination du
disque chaque fois que les pages sont nécessaires.
du
Un taux d'utilisation processeur régulièrement élevé peut indiquer que les
requêtes Transact-SQL doivent être ajustées ou que l'unité centrale doit être
mise à niveau.
Entrées/Sorties
disque (E/S)
Les requêtes Transact-SQL peuvent être ajustées pour éviter les E/S
superflues, par exemple en utilisant des index.
Connexions
utilisateur
Un nombre trop important d'utilisateurs peuvent accéder au serveur en même
temps, provoquant une dégradation des performances.
Verrous bloquants
Des applications mal conçues peuvent provoquer des blocages et nuire à la
simultanéité, provoquant ainsi des temps de réponse plus longs et des débits
de transactions plus faibles.
VI.
Analyse des performances et surveillance de l'activité du serveur :
Le but de la surveillance des bases de données est d'évaluer le fonctionnement d'un serveur. Une
surveillance efficace implique la prise d'instantanés périodiques des performances actuelles afin d'isoler les
processus à l’origine des problèmes, ainsi que la collecte de données en continu pour suivre de près les
tendances des performances. Microsoft SQL Server et le système d'exploitation Microsoft Windows fournissent
des utilitaires qui permettent de contrôler les conditions actuelles de la base de données et de suivre l'évolution
des performances en fonction de l’évolution de ces conditions.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Pour effectuer une analyse des tâches à l'aide des outils Windows

Démarrer le Moniteur système (Windows)
Utilisez le Moniteur système pour surveiller l'utilisation des ressources système. Il permet de
collecter et d'afficher des données de performances en temps réel sous la forme de compteurs pour
des ressources serveur (par exemple l'utilisation du processeur et de la mémoire), ainsi que pour de
nombreuses ressources Microsoft SQL Server (telles que les verrous et les transactions).
Pour démarrer le Moniteur système de Windows

Dans le menu Démarrer, pointez sur Exécuter, tapez perfmon dans la boîte de dialogue
Exécuter, puis cliquez sur OK.

Afficher le journal des applications Windows (Windows)
Pour créer des alertes de base de données SQL Server à l'aide des outils Windows

Configurer une alerte de base de données SQL Server (Windows)
À l'aide du Moniteur système, vous pouvez créer une alerte qui se déclenche quand le seuil
d'un compteur du Moniteur système est franchi. En réponse à l'alerte, le Moniteur système
peut lancer une application, telle qu'une application personnalisée écrite pour prendre en
charge la condition d'alerte. Par exemple, vous pouvez créer une alerte déclenchée quand le
nombre de blocages dépasse une valeur spécifique.
Pour installer une alerte de base de données SQL Server
1. Dans l'arborescence de navigation de la fenêtre Performances, développez Journaux et alertes
de performance.
2. Cliquez avec le bouton droit sur Alertes, puis cliquez sur Nouveaux paramètres d'alerte.
3. Dans la boîte de dialogue Nouveaux paramètres d'alerte, entrez un nom pour la nouvelle
alerte, puis cliquez sur OK.
4. Dans l'onglet Général de la boîte de dialogue de la nouvelle alerte, ajoutez un commentaire,
puis cliquez sur Ajouter pour ajouter un compteur à l'alerte.
Chaque alerte doit avoir au moins un compteur.
5. Dans la boîte de dialogue Ajouter des compteurs, sélectionnez un objet SQL Server dans la
liste Objet de performance, puis sélectionnez un compteur dans la zone Sélectionner les
compteurs dans la liste.
6. Pour ajouter le compteur à l'alerte, cliquez sur Ajouter. Vous pouvez continuer à ajouter des
compteurs, ou bien cliquer sur Fermer pour revenir à la boîte de dialogue de la nouvelle
alerte.
7. Dans la boîte de dialogue de la nouvelle alerte, cliquez sur Supérieur à ou sur Inférieur àdans
la liste Avertir si la valeur est, puis entrez une valeur de seuil dans la zone Limite.
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
L'alerte est générée lorsque la valeur du compteur est supérieure ou inférieure à la valeur du
seuil (selon que vous avez sélectionné Supérieur à ou Inférieur à).
8. Dans les zones Période d'échantillonnage des données, définissez la fréquence
d'échantillonnage.
9. Sur l'onglet Action, définissez les actions qui doivent se produire lorsque l'alerte est
déclenchée.
10. Sur l'onglet Planification, définissez la planification de début et de fin de l'analyse d'alerte.
Pour effectuer une analyse des tâches à l'aide de SQL Server Management Studio


Afficher le journal des erreurs SQL Server (SQL Server Management Studio)
Ouvrir le Moniteur d'activité (SQL Server Management Studio)
Pour effectuer une analyse des tâches à l'aide de Trace SQL en utilisant des procédures stockées
écrites en Transact-SQL






Créer une trace (Transact-SQL)
Définir un filtre de trace (Transact-SQL)
Modifier une trace existante (Transact-SQL)
Afficher une trace enregistrée (Transact-SQL)
Afficher des informations de filtrage (Transact-SQL)
Supprimer une trace (Transact-SQL)
Pour créer et modifier des traces à l'aide du Générateur de profils SQL Server















Créer une trace (SQL Server Profiler)
Définir les options globales de trace (SQL Server Profiler)
Spécifier les événements et les colonnes de données d'un fichier de trace (SQL Server Profiler)
Créer un script Transact-SQL pour exécuter une trace (SQL Server Profiler)
Enregistrer des résultats d'une trace dans un fichier (SQL Server Profiler)
Définir la taille maximale d'un fichier de trace (SQL Server Profiler)
Enregistrer des résultats d'une trace dans une table (SQL Server Profiler)
Définir une taille maximale de table de trace (SQL Server Profiler)
Filtrer des événements dans une trace (SQL Server Profiler)
Afficher des informations de filtre (SQL Server Profiler)
Modifier un filtre (SQL Server Profiler)
Filtrer des événements en fonction de l'heure de début de l'événement (SQL Server Profiler)
Filtrer des événements en fonction de leur heure de fin (SQL Server Profiler)
Filtrer des identificateurs de processus serveur (SPID, Server Process ID) dans une trace (SQL
Server Profiler)
Organiser les colonnes affichées dans une trace (SQL Server Profiler)
Pour démarrer, suspendre et arrêter des traces à l'aide du Générateur de profils SQL Server
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR




T.S.
Démarrer automatiquement une trace après s'être connecté à un serveur (SQL Server Profiler)
Suspendre une trace (SQL Server Profiler)
Arrêter une trace (SQL Server Profiler)
Exécuter une trace après qu'elle a été suspendue ou arrêtée (SQL Server Profiler)
Pour ouvrir des traces et configurer la façon dont elles sont affichées à l'aide du Générateur de profils
SQL Server






Ouvrir un fichier de trace (SQL Server Profiler)
Ouvrir une table de trace (SQL Server Profiler)
Effacer une fenêtre de trace (SQL Server Profiler)
Fermer une fenêtre de trace (SQL Server Profiler)
Définir des paramètres par défaut de trace (SQL Server Profiler)
Définir l'affichage par défaut des traces (SQL Server Profiler)
Pour rejouer des traces à l'aide du Générateur de profils SQL Server






Relire un fichier de trace (SQL Server Profiler)
Relire une table de trace (SQL Server Profiler)
Relire un seul événement à la fois (SQL Server Profiler)
Relecture jusqu'à un point d'arrêt (SQL Server Profiler)
Relire jusqu'à un curseur (SQL Server Profiler)
Relire un script Transact-SQL (SQL Server Profiler)
Pour créer, modifier et utiliser des modèles de traces à l'aide du Générateur de profils SQL Server






Créer un modèle de trace (SQL Server Profiler)
Modifier un modèle de trace (SQL Server Profiler)
Dériver un modèle à partir d'une trace en cours d'exécution (SQL Server Profiler)
Dériver un modèle à partir d'un fichier de trace ou d'une table de trace (SQL Server Profiler)
Exporter un modèle de trace (SQL Server Profiler)
Importer un modèle de trace (SQL Server Profiler)
Pour utiliser les traces du Générateur de profils SQL Server afin de collecter et de surveiller les
performances du serveur






Retrouver une valeur ou une colonne de données pendant le suivi (SQL Server Profiler)
Enregistrer les événements Deadlock Graph (Générateur de profils SQL Server)
Enregistrer séparément des événements Showplan XML (Générateur de profils SQL Server)
Enregistrer les événements Showplan XML Statistics Profile séparément (SQL Server
Profiler)
Extraire un script d'une trace (SQL Server Profiler)
Corréler une trace aux données du journal de performances Windows (SQL Server Profiler)
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
VII.
T.S.
Afficher et enregistrer des plans d'exécution :
Les plans d'exécution affichent graphiquement les méthodes de récupération des données choisies
par l'optimiseur de requête de SQL Server. Les plans d'exécution représentent le coût d'exécution de
requêtes et d'instructions spécifiques dans SQL Server par des icônes plutôt que par la représentation
tabulaire résultant des instructions SET SHOWPLAN_ALL ou SET SHOWPLAN_TEXT. Cette
approche graphique s'avère très utile pour la compréhension des caractéristiques de performances
d'une requête.
1. Affichage du plan d'exécution estimé :
Pour utiliser cette fonctionnalité, les utilisateurs doivent disposer des autorisations adéquates pour
exécuter la requête Transact-SQL correspondant au plan d'exécution graphique à générer, et ils
doivent posséder l'autorisation SHOWPLAN pour toutes les bases de données référencées par la
requête.
Pour afficher le plan d'exécution estimé pour une requête :
1. Dans la barre d'outils, cliquez sur Requête de moteur de base de données. Vous pouvez
également ouvrir une requête existante et afficher le plan d'exécution estimé en cliquant sur le
bouton Ouvrir un fichier dans la barre d'outils puis en choisissant la requête existante.
2. Entrez la requête pour laquelle afficher le plan d'exécution estimé.
3. Dans le menu Requête, cliquez sur Afficher le plan d'exécution estimé, ou cliquez sur le
bouton de même nom dans la barre d'outils. Le plan d'exécution estimé s'affiche sous
l'onglet Plan d'exécution du volet de résultats. Pour afficher des informations
supplémentaires, placez le curseur sur les icônes des opérateurs logiques et physiques, et
consultez la description et les propriétés de l'opérateur indiquées dans l'infobulle. Il est
également possible d'afficher les propriétés des opérateurs dans la fenêtre Propriétés. Si les
propriétés ne sont pas visibles, cliquez avec le bouton droit sur un opérateur, puis cliquez
sur Propriétés. Sélectionnez l'opérateur de votre choix.
4. Pour modifier l'affichage du plan d'exécution, cliquez sur celui-ci avec le bouton droit et
sélectionnez Zoom
avant, Zoom
arrière, Zoom
personnalisé ou Zoom
pour
ajuster. Zoom avant et Zoom arrière vous permettent respectivement d'agrandir et de
réduire l'affichage du plan d'exécution suivant des pourcentages fixes. Zoom
personnalisé sert à définir votre propre pourcentage d'agrandissement (par exemple, à 80
pour cent). Enfin, l'option Zoom pour ajuster agrandit le plan de sorte que sa taille soit
ajustée en fonction de celle du volet de résultats.
2. Afficher un plan d'exécution réel :
Pour être en mesure d'utiliser cette fonction, les utilisateurs doivent bénéficier des autorisations permettant
d'exécuter les requêtes Transact-SQL pour lesquelles un plan d'exécution graphique est actuellement généré.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
Qui plus est, les utilisateurs doivent se voir accorder l'autorisation SHOWPLAN pour toutes les bases de
données référencées par la requête.
Pour inclure un plan d'exécution pour une requête durant l'exécution :
1.
Dans la barre d'outils de SQL Server Management Studio, cliquez sur Requête de moteur de base de
données. Vous pouvez également ouvrir une requête existante et afficher le plan d'exécution estimé en
cliquant sur le bouton Ouvrir un fichier de la barre d'outils, puis en recherchant la requête.
2.
Entrez la requête pour laquelle vous souhaitez afficher le plan d'exécution réel.
3.
Dans le menu Requête, cliquez sur Inclure le plan d'exécution réel ou cliquez sur le bouton de la barre
d'outils Inclure le plan d'exécution réel.
4.
Exécutez la requête en cliquant sur le bouton de la barre d'outils Exécuter. Le plan utilisé par l'optimiseur
de requête est affiché sous l'onglet Plan d'exécution dans le volet de résultats. Placez le curseur de la
souris sur les opérateurs logiques et physiques pour visualiser la description et les propriétés des
opérateurs dans l'info-bulle affichée.
Vous avez également la possibilité de visualiser les propriétés des opérateurs dans la fenêtre
Propriétés. Si Propriétés n'est pas visible, cliquez avec le bouton droit sur un opérateur et
sélectionnez Propriétés. Sélectionnez un opérateur pour afficher ses propriétés.
5.
Si vous voulez modifier l'affichage du plan d'exécution, cliquez avec le bouton droit sur le plan d'exécution
et
sélectionnez Zoom
avant, Zoom
arrière, Zoom
personnalisé
ou Zoom
pour
ajuster. Les
options Zoom avant et Zoom arrière vous permettent d'effectuer un zoom avant ou arrière sur le plan
d'exécution. Quant à l'option Zoom personnalisé, elle vous permet de définir votre propre zoom ; par
exemple, un pourcentage de zoom de 80. En dernier lieu, l'option Zoom pour ajuster agrandit le plan
d'exécution afin que ses dimensions correspondent à celles du volet de résultats.
3. Enregistrer un plan d'exécution au format XML :
Pour utiliser la fonctionnalité de plan d'exécution de Management Studio, ou les options SET de
Showplan XML, les utilisateurs doivent disposer des autorisations appropriées pour exécuter la
requête Transact-SQL pour laquelle un plan d'exécution est généré et doivent obtenir l'autorisation
SHOWPLAN pour toutes les bases de données référencées par la requête.
Pour enregistrer un plan de requête avec les options SET de Showplan XML :
1. Dans SQL Server Management Studio, ouvrez un éditeur de requête et connectez-vous au Moteur
de base de données.
2. Activez SHOWPLAN_XML avec l'instruction suivante :
SET SHOWPLAN_XML ON;
GO
Pour activer STATISTICS XML, utilisez l'instruction suivante :
SET STATISTICS XML ON;
GO
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
SHOWPLAN_XML génère des informations de plan d'exécution de requête de compilation
pour une requête, mais sans exécuter cette dernière. STATISTICS XML génère des informations
de plan d'exécution de requête à l'exécution pour une requête et exécute cette dernière.
3. Exécuter une requête. Exemple :
USE AdventureWorks2012;
GO
SET SHOWPLAN_XML ON;
GO
-- Execute a query.
SELECT BusinessEntityID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
SET SHOWPLAN_XML OFF;
4. Dans le volet Résultats, cliquez avec le bouton droit sur le Plan d'exécution XML Microsoft
SQL Server contenant le plan de requête, puis cliquez sur Enregistrer les résultats sous.
5. Dans la boîte de dialogue Enregistrer les résultats <de la grille ou du texte>, dans la zone Type de
fichier, cliquez sur Tous les fichiers (*.*).
6. Dans la zone Nom du fichier, entrez le nom de fichier selon le format <nom>.sqlplan, puis
cliquez sur Enregistrer.
Pour enregistrer un plan d'exécution avec les options de SQL Server Management Studio
1. Générez un plan d'exécution soit estimé soit réel au moyen de Management Studio. Pour plus
d'informations, consultez Affichage du plan d'exécution estimé ou Afficher un plan d'exécution
réel.
2. Dans l'onglet Plan d'exécution du volet de résultats, cliquez avec le bouton droit sur le plan
d'exécution graphique, puis cliquez sur Enregistrer le plan d'exécution en tant que.
 Ou bien, vous pouvez aussi choisir Enregistrer le plan d'exécution en tant que dans le
menu Fichier.
3. Dans la boîte de dialogue Enregistrer sous, assurez-vous que Type de fichier est défini à Fichiers
de plan d'exécution (*.sqlplan).
4. Dans la zone Nom du fichier, entrez le nom de fichier selon le format <nom>.sqlplan, puis cliquez
sur Enregistrer.
Pour ouvrir un plan de requête XML dans SQL Server Management Studio
1. Dans le menu Fichier de SQL Server Management Studio, choisissez Ouvrir, puis cliquez
sur Fichier.
2. Dans la boîte de dialogue Ouvrir un fichier, définissez Types de fichiers à Fichiers de plan
d'exécution (*.sqlplan) pour produire une liste filtrée des fichiers de plan de requête XML
enregistrés.
3. Sélectionnez le fichier de plan de requête XML que vous voulez consulter, puis cliquez sur Ouvrir.
Spécialité : INFORMATIQUE
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR

Ou bien, dans l'Explorateur Windows, double-cliquez
l'extension .sqlplan. Le plan s'ouvre dans Management Studio.
Spécialité : INFORMATIQUE
sur
un
fichier
avec
T.S.
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
BIBLIOGRAPHIES
E-BOOK :
 Module 1 : Vue d'ensemble deMicrosoft SQL Server
 Administration d'une base de données Microsoft SQL Server 2000 IFP-Birkhadem
 www.microsoft.com
 http://msdn.microsoft.com/fr-fr/library/hh213686.aspx
Fiche Technique
Spécialité: Informatique.
Option : Base de Données.
Enseignante: Nadjette Mouici.
Date : 17/11/2014.
Nocours : 04
Module: Administration à l’aide de SQL SERVER.
No séance:03.
Temps précis : 01h 30mn.
Chapitre04: Options de Base de Données. Temps alloué:………h……….mn.
Thème : Les options d’état.
Objectif Opérationnel:
A LA FIN DE LA SEANCE LE STAGIAIRE SERA CAPABLE DE CITER
LES TROIS OPTIONS D’ETAT-CONNEXION, LECTURE | ECRITURE ET
UTILISATION-DES BASES DE DONNEES SOUS SQL SERVER; A L’AIDE
DE LANGAGE TRANSACT SQL ET SANS ERREURS.
Outils utilisés:
Spécialité : INFORMATIQUE
Module : AdMINISTRATIoN à l’AIde de SQl SeRVeR
T.S.
Enseignant:Stagiaire:
-- Tableau.
-- Cahier.
-- Marqueurs.
-- stylos.
Aides Pédagogiques:

Bibliographies:
 Melle REGUIG Radia, Administration d'une base de données Microsoft SQL Server 2000 ,
IFP-Birkhadem , Mars 2005.
Spécialité : INFORMATIQUE
Téléchargement