Vous êtes sur la page 1sur 76

SQL Server 2005

SQL Server est un SGBDR (Système de Gestion de Bases de Données Relationnelles)


développé par Microsoft. SQL Server fonctionne uniquement dans un domaine Windows
NT/2000. Un domaine est un ensemble d’ordinateurs reliés en réseau local et administrés par
un ordinateur serveur qui fonctionne avec le système d’exploitation Windows NT/2000
Server.
Plusieurs éditions ont été mise au point par Microsoft

Editions
Enterprise Edition

Elle supporte un nombre de processeurs et une taille de mémoire vive illimités (limités par le
système d'exploitation). Il existe une version 32 bits (x86) et 2 versions 64 bits (ia64 et x64,
x64 uniquement pour SQL Server 2005) et n'a pas de limite quant à la taille des bases de
données. Elle ne peut s'installer que sur un Windows version serveur. Inclut toutes des
fonctionnalités du moteur, dont les fonctions de haute disponibilité. Les fonctionnalités pour
le décisionnel sont toutes incluses de la génération d'états avec Reporting Services à
l'utilisation de cubes OLAP avec Analysis Services en passant par le transfert de données avec
Integration Services (SQL Server 2005) ou Data Transformation Services (SQL Server 7 &
2000). Elle peut en outre fonctionner en cluster jusqu'à 8 nœuds.

Developer Edition

Il s'agit d'une édition pour les développeurs qui dispose des mêmes fonctionnalités que
l'édition Entreprise. Cependant la licence contient des restrictions quant à son utilisation.

Standard Edition

Elle supporte jusqu'à 4 processeurs et une taille de mémoire vive illimitée (limitée par le
système d'exploitation). Il existe une version 32 bits (x86) et 2 versions 64 bits (ia64 et x64,
les deux uniquement pour SQL Server 2005) et n'a pas de limite quant à la taille des bases de
données. Elle ne peut s'installer que sur un Windows version serveur. Cependant SQL Server
2005 permet son installation sur Windows de bureau. Inclus toutes des fonctionnalités du
moteur, sauf certaines fonctions de haute disponibilité. Les fonctionnalités pour le décisionnel
sont toutes incluses de la génération d'états avec Reporting Services (pour SQL Server 2000,
ce composant est à charger séparément) à l'utilisation de cubes OLAP avec Analysis Services
en passant par le transfert de données avec Integration Services (SQL Server 2005) ou Data
Transformation Services (SQL Server 7 & 2000). Elle peut en outre fonctionner en cluster
jusqu'à 2 nœuds depuis sa version 2005.

Workgroup Edition

Nouvelle édition apparue avec SQL Server 2005. Elle supporte jusqu'à 2 processeurs et 3 Go
de mémoire vive. Pour le moment elle n'existe qu'en version 32 bits et n'a pas de limite quant
à la taille des bases de données. Inclus la majeure partie des fonctionnalités du moteur, dont la
possibilité de participer à une réplication en tant qu'éditeur. Les fonctionnalités pour le
décisionnel incluses se limitent à la génération d'états avec Reporting Services.
L’objet de cette présentation portera essentiellement sur la version Developer

I. Introduction
SQL Server 2005 est un SGBDR (Système de Gestion de Bases de Données Relationnelles)
développé par Microsoft.
Basé sur les points forts de son prédécesseur (SQL Server 2000), elle inclut beaucoup de
nouvelles fonctionnalités, permettant une gestion plus productive pour les Entreprises.
Il comprend certaines fonctionnalités qui permettent entre autres de:

€ créer et déployer des applications, puissantes et fiables; en mettant en place un


environnement de développement riche, souple et moderne permettant de créer des
applications de bases de données plus sûres.

€ partager des données entre diverses plates-formes, applications et systèmes

€ faciliter les connexions internes et externes.


€ Gérer la Sécurité par un Cryptage de base de données (choix de la sécurité maximale
par défaut).
€ Interopérabilité: Grâce à une prise en charge étendue des standards, des services Web
et de Microsoft .NET Framework, SQL Server 2005 assure l'interopérabilité entre
plates-formes, applications et systèmes

€ Amélioration des outils: Les développeurs pourront utiliser un outil de développement


pour Transact-SQL, XML, MDX (Multidimensional Expression) et XML for
Analysis (XML/A). L'intégration avec l'outil de développement Visual Studio
permettra un développement et un débogage plus efficaces des applications métier et
décisionnelles;

€ Intégration de la CLR (Common Language Runtime) dans le moteur de base de


données: Les développeurs auront la possibilité de choisir le langage (C#, VB.NET,
Transact-SQL) qu'ils utiliseront pour développer leurs application de base de données;
€ Support du XML et XQuery;
€ Support des Web Services: La prise en charge de standards ouverts, existants ou
nouveaux, tels que HTTP (Hypertext Transfer Protocol), XML, SOAP (Simple
Object Access Protocol), XQuery et XSD (XML Schema Definition) facilitera
également les communications entre systèmes d'entreprise étendus.

LES COMPOSANTS DE SQL SERVEUR 2005


Moteur de base de données

€ Le moteur de base de données est un service central qui permet de stocker, traiter et
sécuriser les données. Il fournit des accès contrôlés et des traitements de transactions
rapides pour répondre aux besoins des applications les plus gourmandes en données
utilisées au sein des entreprises. Il offre également les fonctions nécessaires pour faire
face à des besoins de haute disponibilité.

€ Analysis Services

Analysis Services fournit des fonctionnalités OLAP (Online Analytical Processing) et


d'exploration de données pour les applications de Business Intelligence. Analysis
Services prend en charge OLAP et permet de concevoir, créer et gérer des structures
multidimensionnelles qui contiennent des données agrégées à partir d'autres sources de
données, telles que des bases de données relationnelles. Pour les applications
d'exploration de données, Analysis Services permet de concevoir, créer et visualiser
des modèles d'exploration de données. Ces modèles d'exploration de données peuvent
être construits à partir d'autres sources de données au moyen d'un large éventail
d'algorithmes standard d'exploration de données.

€ Integration Services

Integration Services est une plateforme permettant de créer des solutions d'intégration
de données à hautes performances, y compris des packages qui autorisent les
processus d'extraction, de transformation et de chargement (ETL) pour le Data
Warehouse.

€ Réplication

La réplication repose sur un ensemble de technologies qui permettent de copier et de


distribuer des données et des objets de base de données d'une base de données vers
une autre, puis de synchroniser les bases de données afin de maintenir leur cohérence.
Avec la réplication, vous pouvez distribuer des données vers différents emplacements
et à des utilisateurs distants ou mobiles par l'intermédiaire de réseaux locaux ou
étendus, de connexions d'accès à distance, de connexions sans fil et d'Internet.

€ Reporting Services

Reporting Services fournit des fonctionnalités Web de création de rapports d'entreprise


qui permettent d'extraire du contenu d'une large gamme de sources de données, de
publier des rapports dans différents formats et de gérer de façon centralisée la sécurité
et les abonnements.

€ Notification Services

Notification Services est un environnement permettant de développer et de déployer


des applications qui génèrent et envoient des notifications. Vous pouvez l'utiliser pour
générer et envoyer des messages personnalisés au moment opportun à des milliers,
voire à des millions d'abonnés et pour remettre ces messages à toute une série de
périphériques.

€ Service Broker
Service Broker permet aux développeurs de créer des applications de base de données
évolutives et sécurisées. Cette nouvelle technologie de moteur de base de données
fournit une plateforme de communication par message qui permet à des composants
d'application indépendants de fonctionner comme un tout. Service Broker inclut une
infrastructure pour la programmation asynchrone qui peut être utilisée pour les
applications dans une seule base de données ou une seule instance et également pour
des applications distribuées.

€ Recherche de texte intégral

La fonction de recherche en texte intégral permet de lancer des requêtes de texte


intégral et de les exécuter sur des données en texte brut dans des tables SQL Server.
Les requêtes en texte intégral peuvent contenir des mots et des phrases, ou un mot ou
une phrase sous plusieurs formes.

Installation de SQL Server 2005


Pour installer SQL Server 2005, commencez par double-cliquer sur le fichier
SQLEXPR.EXE.
Accepter le contrat de licence puis cliquez sur Suivant.
A ce moment, les composants nécessaires à l'installation seront mis en place, et il vous faudra
cliquer, une nouvelle fois, sur Suivant.
Votre configuration système sera alors scannée et le Wizard d'installation apparaîtra.
Cliquez alors sur Suivant pour que l'installeur vérifie les éventuels problèmes d'installation
qui pourraient survenir et cliquez sur " Suivant ":

Une analyse de la configuration de votre système est effectuée et la vérification de toutes les
fonctionnalités requises pour l’installation de SQL Serveur est faite.
Entrez alors votre nom et celui de votre Entreprise dans les cases appropriées. En dessous,
vous avez la possibilité de décocher la case "Hide Advanced configuration options": ne
désactivez cette case que si vous êtes sûr de savoir ce que vous faites.
Pour cet article, je désactiverai la case afin de vous montrer/expliquer les différentes étapes
possibles de l'installation.
Une fois les informations saisies, vous avez la possibilité de choisir les composants que vous
désirez installer: libre à vous de tout choisir ou bien uniquement le strict minimum
(sélectionné par défaut)
Selection des Composants de Programme installer
Pour une premiere installation de SQL Server,il vous sera fortement conseillé d’installer la totalité
des composants surtout la documentation et les bases de donnés de test.

Malgré que certaines de ces composants soient sélectionnés par défaut, ne pas oublier de
sélectionner le composant Documentation,exemple de base de données
L'écran suivant vous demande de saisir le nom de l'instance pour l'installation en cours. La
plupart du temps, laisser les valeurs par défaut et cliquer sur Suivant est suffisant:
Parametres et Considérations de Sécurité

Compte de Domaine :

Une Domaine est un ensemble d’ordinateurs sur un réseau qui partage une base de données et
une stratégie de sécurité communes. Un domaine est géré en tant qu’unité avec des règles et
procédures communes, et chaque domaine comporte un nom unique.

Compte utilisateur local

Compte système local


La partie suivante concerne l'authentification auprès du serveur SQL. En effet, il faut savoir
que vous pouvez configurer SQL Server de 2 façons:

€ Windows Authentification Mode: Utilise les informations de connexion à Windows


pour permettre la connexion à SQL Server

€ Mixed Mode: Mode mixe, vous permettant, en plus du mode Windows


Authentification, de créer des login/mot de passe de connexion à SQL Server.

Si vous choisissez le 2ème mode (Mixed Mode), il vous sera demandé de spécifier le mot de
passe de l'utilisateur: il s'agit du super administrateur de SQL Server.
Vous devez savoir que vous aurez la possibilité de changer, plus tard, ce type
d'authentification dans les propriétés de votre serveur SQL, si vous changez d'avis.
Finalement, il ne vous reste plus qu'a définir les collations pour le service SQL Server.
Les collations permettent de choisir si la casse, comme les caractères diacritiques et
l'encodage auront une influence sur les tris et les comparaisons.
A moins d'être sûr de savoir ce que vous faîtes, laissez les valeurs par défaut et cliquez sur
Suivant:
Pour finir, vous pouvez choisir d'envoyer ou non, à Microsoft, les rapports d'erreurs qui
pourraient survenir.
Un dernier clic sur le bouton Install vous permet, pour finir, de lancer l'installation en elle-
même.
Et voila, votre SQL Server 2005 est maintenant installé et configuré avec succès !

Maintenant, voyons un peu plus en détails les outils qui ont été installés avec votre serveur
SQL.
Configuration de la Protection du Serveur SQL
Voici l'écran principal de cet outil destiné, lui aussi, à paramétrer certaines options de votre
serveur SQL:
Configuration de la Surface d’Exposition pour les Services et les
Connexions

Sur cet écran, vous aurez la possibilité de configurer les services et les connexions qui seront
nécessaires pour vos applications.
Voici l'écran que vous utiliserez pour configurer les services:
Et voici la partie que vous utiliserez si vous souhaitez configurer les connexions à utiliser
pour vos applications.
Vous avez la possibilité de choisir deux types de connexions:

€ Connexions locales uniquement


€ Connexions locales et distantes (en indiquant le type de protocole que vous voulez
utiliser)

Voici une image qui vous permettra de mieux comprendre tout cela:

Surface Area Configuration for Features

Surface Area Configuration for Features est l'utilitaire qui vous permettra de configurer les
options de votre Serveur SQL, que vous voulez utiliser.
En effet, c'est ici que vous indiquerez si, pour une certaine instance de SQL Serveur, vous
souhaitez activer l'intégration de la CLR (Common Language RunTime) (qui vous permet
d'écrire du code .NET dans SQL Serveur), Surface Area Configuration for Features ou bien si
vous souhaitez activer Database Mail, le nouveau composant de SQL Server 2005, qui vous
permet d'envoyer des e-mails depuis SQL Server, en utilisant un serveur SMTP.
Bref, vous pourrez, via ce menu, activer ou désactiver beaucoup d'options pour votre instance
SQL Server, selon que vos applications utilisent ou non ces options.
SQL Server Configuration Manager

Cet outil apporte une aide appréciable pour la gestion des comptes de connexion Windows
concernant les différents services de SQL Server 2005 sur votre serveur ainsi que pour la gestion des
services proprement dits. Vous ne pouvez plus démarrer ou arrêter les services directement dans
Management Studio, comme c’était le cas avec SQL Server 2000 Enterprise Manager. Une
connaissance préalable des fonctionnalités du gestionnaire SQL Server Connection Manager est donc
indispensable. Celui-ci est accessible à partir du menu Démarrer (Start) de Windows ou à partir de
l’applet Gestion de l’ordinateur (Computer Management) au niveau des outils d’administration du
système d’exploitation. Si l’outil Management Studio, que vous allez découvrir dans la prochaine
section, est en cours d’exécution, vous pouvez accéder à la fenêtre Registered Servers et lancer le
gestionnaire.
SQL Server Configuration Manager a pour fonction de gérer les services SQL Server, les
bibliothèques réseau ainsi que le client natif SQL Server, comme l’illustre la figure 1. Vous
pouvez, à cet emplacement, définir et modifier les comptes de service ou encore activer et
désactiver des services. Certains aspects de cet outil empiètent sur le domaine d’action des
deux autres outils de configuration de la surface ci-après, lesquels gèrent ces services et
d’autres fonctions sous l’angle de la menace pour la sécurité.

€ Nous serons souvent appeler à faire des requêtes avec transact SQL alors parlons en un
peu

Transact-SQL (Transact Structure Query Language)


Transact-SQL est au centre de l'utilisation de SQL Server. Toutes les applications qui
communiquent avec une instance de SQL Server le font en envoyant au serveur des
instructions Transact-SQL, quelle que soit l'interface utilisateur de l'application.

Les applications suivantes peuvent générer du code Transact-SQL :


€ applications générales de productivité bureautique ;
€ applications qui utilisent une interface utilisateur graphique (GUI) permettant aux
utilisateurs de sélectionner les tables et les colonnes dont ils souhaitent afficher les
données ;
€ applications qui font appel aux phrases de la langue courante pour déterminer les
données que l'utilisateur souhaite afficher ;
€ applications de gestion qui stockent leurs données dans des bases de données SQL
Server. Elles peuvent inclure à la fois des applications d'autres fournisseurs et des
applications internes ;
€ scripts Transact-SQL exécutés à l'aide d'utilitaires tels que sqlcmd ;

€ applications créées au moyen de suites de développement telles que Microsoft Visual


C++ , Microsoft Visual Basic ou Microsoft Visual J++ et qui utilisent des interfaces de
programmation d'applications telles que ADO, OLE DB et ODBC ;
€ pages Web qui extraient des données de bases de données SQL Server ;
€ systèmes de bases de données distribuées à partir desquels les données SQL Server
sont répliquées et transmises à différentes bases de données ou dans lesquels les
requêtes distribuées sont exécutées ;
€ entrepôts de données dans lesquels des données sont extraites à partir des systèmes de
traitement en ligne des transactions (OLTP) et synthétisées pour l'aide à la décision.
SQL Server Management Studio

Avec SQL Server Management Studio, SQL Server 2005 propose un outil de gestion consolidé et
complet, qui regroupe les fonctions indispensables tant aux DBA qu’aux développeurs. Il s’agit d’un
outil complexe de fonctionnalités. Les principaux peuvent être structurés selon trois axes : la gestion
du serveur, la modification des requêtes et l’analyse des performances.

Management Studio est le grand « fédérateur d’outils » : Microsoft a délibérément regroupé le des
fonctionnalités d’administration de la console Enterprise Manager et des fonctions de modification
des requêtes et d’analyse de l’Analyseur de requêtes.

Utilisation de SQL Server Manager


Vous pouvez maintenant allez dans les Programmes de votre Menu Démarrer pour lancez
SQL Server Management

Dès lors que vous lancez SQL Server Express Manager, celui-ci vous demande des
informations de connexion, afin de vous logger au serveur SQL.
Vous devez donc indiquer:
1. le nom de l'instance du serveur (Attention, vous devez également préciser le nom
du serveur sur lequel est exécutée cette instance. Par exemple, dans mon cas, il me
faut indiquer DGCPTCI9\DIT1 comme nom d'instance du serveur SQL)
2. le type d'authentification: c'est à ce moment que vous allez spécifier si vous voulez
vous connecter en utilisant un utilisateur Windows ou un utilisateur du serveur
SQL
3. les logins/mot de passe nécessaires à la connexion

Voici donc à quoi ressemble cet écran:


CONFIGURATION DE LA MESSAGERIE DE BASE DE DONNEES

La messagerie de base de données est une solution d'entreprise qui permet l'envoi de
messages électroniques à partir de Microsoft SQL Server 2005 Database Engine (Moteur de
base de données de SQL Server 2005). Grâce à la messagerie de base de données, vos
applications de bases de données peuvent envoyer des messages électroniques aux
utilisateurs. Ces messages peuvent contenir les résultats d'une requête, voire des fichiers de
n'importe quelle ressource de votre réseau.

L'Assistant Configuration de la messagerie de base de données constitue un moyen pratique


pour gérer les objets de configuration de la messagerie de base de données. Il active la
messagerie de base de données si nécessaire.

L'Assistant Configuration de la messagerie de base de données effectue les tâches


suivantes :
€ configuration de la messagerie de base de données ;

€ gestion des comptes et profils de la messagerie de base de données ;

€ gestion de la sécurité des profils ;

€ affichage ou modification des paramètres système

Création d’un nouveau compte messagerie

Les informations de compte sont stockées dans la base de données msdb. Chaque compte
comprend les informations suivantes :

€ Nom du compte

€ Description du compte

€ Adresse de messagerie du compte


€ Nom d'affichage du compte

€ Adresse de messagerie de réponse à utiliser pour le compte

€ Nom du serveur de messagerie

€ Type du serveur de messagerie. Pour Microsoft SQL Server 2005, il s'agit toujours de
SMTP (Simple Mail Transfer Protocol).

€ Numéro de port du serveur de messagerie

€ Une colonne de bits indiquant si la connexion au serveur de messagerie SMTP s'effectue


via SSL (Secure Sockets Layer).

€ Une colonne de bits indiquant si la connexion au serveur SMTP s'effectue au moyen des
informations d'identification configurées pour SQL Server Database Engine (Moteur de
base de données de SQL Server).

€ Nom d'utilisateur à utiliser pour l'authentification auprès du serveur de messagerie, si


celui-ci requiert l'authentification
€ Mot de passe à utiliser pour l'authentification auprès du serveur de messagerie, si celui-ci
requiert l'authentification

L'Assistant Configuration de la messagerie de base de données permet de créer et de gérer


des comptes facilement. Vous pouvez également utiliser les procédures stockées de
configuration de msdb pour créer et gérer des comptes.
CREATION ET GESTION DE BASE DE DONNEES
LES DIFFERANTS FICHIER DE BASE DE DONNES

Les fichiers de données Primaires

Le fichier de données primaire contient les informations de démarrage de la base de


données, et il pointe vers les autres fichiers de la base de données. Les objets et les données
utilisateur peuvent être stockés dans ce fichier ou dans des fichiers de données secondaires.
Chaque base de données comprend un fichier de données primaire. L'extension de fichier
recommandée est .mdf.
Les fichiers de données Secondaires

Les fichiers de données secondaires sont facultatifs, définis par l'utilisateur, et ils stockent les
données utilisateur. Les fichiers secondaires peuvent être utilisés pour répartir des données
sur plusieurs disques en plaçant chaque fichier sur un lecteur de disque distinct. En outre, si
la taille d'une base de données excède la taille maximale autorisée pour un fichier Windows,
vous pouvez avoir recours aux fichiers secondaires afin que la base de données puisse
continuer à croître.

L'extension de fichier recommandée est .ndf.

Les fichiers Journaux des transactions

Les fichiers journaux des transactions contiennent les informations du journal qui sont
utilisées pour la restauration de la base de données. Chaque base de données doit posséder
au moins un fichier journal. L'extension de fichier recommandée pour les journaux des
transactions est .ldf.

CREATION DE BASE DE DONNES PAR MANAGEMENT


STUDIO
Pour créer une base de données
€ Dans l'Explorateur d'objets, connectez-vous à une instance du SQL Server 2005
Database Engine (Moteur de base de données de SQL Server 2005), puis
développez-la.

€ Cliquez avec le bouton droit sur Bases de données

€ Dans l'Explorateur d'objets, connectez-vous à une instance du SQL Server 2005


Database Engine (Moteur de base de données de SQL Server 2005), puis
développez-la.

€ Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Nouvelle base de
données.

€ Dans Nouvelle base de données, entrez le nom de la base de données.

€ Pour créer la base de données en acceptant toutes les valeurs par défaut, cliquez
sur OK,
CREATION BASE DE DONNES AVEC TRANSACT SQL
CREATE DATABASE database_espdb
ON
{Name= _espdb
Filename=’ C:\ mes documents\Contacts\espdb_dat.mdf’
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5,
}
LOG ON
{Name= _espdb_log
Filename=’ :\ mes documents\Contacts\espdb_log.ldf’
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5,
}
Creation d’un schema
Un schéma est espace de nommage pour les objets de base de données

Exemple créons l’objet Mysalesdat dans le schéma Mysales avec des instructions Transact
SQL

CREATE SCHEMA Mysales

CREATE table Mysales-Mysalesdat

{Salesld int nott null PRIMARY KEY ,

SalesAmount float not null}

Maintenant pour accéder à une il faut :

le nom_ base_donnees.nom_schéma.nom_objet
GESTION DE LA BASE DE DONNEES

Après qu'une base de données a été créée et que tous les objets et
données y ont été ajoutés et sont exploités, il convient à certains
moments d'accomplir des tâches de maintenance. Par exemple, il est
important que vous sauvegardiez régulièrement la base de données.

MODIFICATION D’UNE BASE DE DONNEES

Pour modifier, ajouter ou supprimer un groupe de fichier de la base de données on utilise les
commandes ALTER DATABASE

Exemple

Alter database –espdb

Add filegroup EmpFg

Ajoute un fichier dans le groupe EmpFg

Alter database _espdb

Add file (name=EmpFgfile,

Fileanme=’mes document\data\ EmpFgfile1.mdf’,


Size=10,

Maxsize=100,

File grouwth=10

To filegroup EmpFg)

MIGRATION D’UNE BASE DE DONNEES

Il convient parfois de copier une base de données d'un ordinateur sur un


autre. On peut utiliser une base de données copiée à plusieurs fins,
notamment le test, la vérification de cohérence, le développement de
logiciels, l'exécution de rapports, la création d'une base de données miroir
ou pour rendre la base de données disponible pour des opérations à
distance.
Un certain nombre de méthodes existent pour copier une base de données
entre des serveurs :

Utilisation de l'Assistant Copie de base de données

L'Assistant Copie de base de données vous permet de déplacer et de


copier facilement des bases de données et leurs objets d'un serveur vers
un autre, sans nécessiter l'arrêt du serveur. Cet Assistant vous permet
d'effectuer les opérations suivantes :

€ sélectionner un serveur source et un serveur de destination ;

€ sélectionner des bases de données à déplacer ou à copier ;

€ spécifier l'emplacement du fichier pour les bases de données ;

€ créer des connexions sur le serveur de destination ;

€ copier des objets de support, des tâches, des procédures stockées


définies par l’utilisateur et des messages d'erreur supplémentaires ;

€ planifier le moment auquel les bases de données doivent être


déplacées ou copiées.

Outre des bases de données, vous pouvez copier des métadonnées


associées, telles que les connexions et les objets de la base de données
master requis par une base de données copiée.
GESTION DES STATISTIQUES

Création de statistique

SQL Server permet la création de statistique permettant d’avoir des états de synthèses

Pour créer une statistique on utilise

CREATE STATISTICS

Exple : create statistics contactEmail

On Person.contact(contactID,EmailAddress
Visualiser les statistiques

Dbcc show_statistics(‘Person.Contact,ContactEmail)

Mise a jour des statistiques

Update statistics(‘Person.Contact,ContactEmail)

REDUCTION D’UNE DASE DE DONNEE

Il devient essentielle de verifier la taille de la base de donnée lorsque le volume des données
s’accroit. L’administrateur de la base de données doit contrôler la taille pour améliorer la
performance du moteur de base de données. Pour cela on utilise ces commandes

DBCC SHRINKDATABASE pour réduire la taille d’une base


de données

DBCC SHRINKFILE pour réduire la taille d’un fichier


Expansion de base de données
L’administrateur de base de données sera souvent confronté a des problème d’espace mémoire et
donc est appelé a augmenter l’espace disque alloué a sa dabe de donnée. Pour se faire il doit suivre
les étapes suivantes
Intégrité d’une base de données

€ dbcc checkdb contrôle la cohérence et l’intégrité


€ dbcc checkalloc cohérence de l’alloc de l’espace de disk
€ dbcc checktable idem que dbcc checkdb mise à part le fait qu’elle ne contrôle
qu’une seule table ou vue voire même un index particulier.
Automatisation d’une taches de base de données avec SQL Server Agent

Il s'agit de l'agent de maintenance de l'instance de SQL Server. À chaque instance de SQL Server
correspond un service Windows Sql Server Agent. Ce service peut être repéré dans les services
Windows sous les noms SQLAgent$Nom_instance pour les instances nommées et SQLAgent pour
l'instance par défaut. Le moteur SQL Server Agent s'appuie sur la base msdb. Ce moteur permet de
gérer les sauvegardes, les plans de maintenance, les travaux planifiés, la surveillance de la base, les
alertes administratives...!

Fiabilité, cohérence et actualisation de la base de par l’administrateur

Pour créer une tache planifiée il faut :

Pour résoudre ce problème, les tâches suivantes devront êtres effectuées.

1- création d’un opérateur

La création d’un travail pour expédier une notification à l’administrateur système quand le
service de texte intégral démarre.
2- création d’un travail
création d’une alerte
III. SAUVEGARDE ET RESTAURATION DE BASE DE
DONNEES
€ Sauvegarde complète,

sauvegardé l’entièreté de la base de données, y compris les fichiers de données et une partie du
journal des transactions.
€ Créer une unité de sauvegarde
EXEC sp_addumpdevice 'disk', 'AdvWorks_TestDev',

'C:\AdventureWorks_Test.Bak' ‘maximusdb Backup’,'C:\Program


Files\Microsoft SQL Server\MSSQL.3\MSSQL\Backup\maximusdb.bak

€ Sauvegarde complète
backup database AdventureWorksDW to AdventureWorksDWBackup
Utiliser la commande suivante pour créer en même temps le disque de sauvegarde
BACKUP DATABASE [maximusdb] TO DISK = N'C:\Program Files\Microsoft
SQL Server\MSSQL.3\MSSQL\Backup\maximusdb.bak
€ Sauvegarde différentielle
Sauvegarde des parties de la base de données qui ont été modifiées depuis la dernière sauvegarde
complète de la base de données.

BACKUP DATABASE [maximusdb] TO DISK = N'C:\Program Files\Microsoft SQL


Server\MSSQL.3\MSSQL\Backup\maximusdb.bak' WITH DIFFERENTIAL ,

€ Sauvegarde de fichiers et groupe de fichiers


Sauvegarde les fichiers de base de données spécifiques à la place de la base de données entière.
BACKUP DATABASE [maximusdb] FILEGROUP = N'PRIMARY' TO DISK = N'C:\Program
Files\Microsoft SQL Server\MSSQL.3\MSSQL\Backup\maximusdb.bak'

Sauvegarde partielle différentielle


Enregistre uniquement les données des groupes de fichiers ayant subi des modifications depuis la
sauvegarde partielle précédente.
Sauvegarde en copie seule
Elle implique la création d’une copie de la sauvegarde et sa conservation en lieu sur dans une autre
ville.
Sauvegarde du journal des transactions
BACKUP LOG [maximusdb] TO DISK = 'C:\Program Files\Microsoft SQL
Server\MSSQL.3\MSSQL\Backup\maximusdb.log

RESTAURATION
Identification d’un modèle de récupération
Détermine les stratégies de sauvegarde et de restauration utilisées pour une base de données.
Le modèle de récupération simple
Utilisé pour les petites bases de données ou les bases de données dont les données ne sont pas
fréquemment modifiées.
Le modèle de récupération complet
Utilisé quand la récupération complète au départ du support endommagé est la priorité principale.
Le modèle de récupération journalisé en bloc
Similaire au modèle de récupération complet et utilise les sauvegardes aussi bien de la base de
données que du journal pour recréer une base de données.
Restauration de la sauvegarde complète
RESTORE DATABASE [maximusdb] FROM DISK = N'C:\Program Files\Microsoft SQL
Server\MSSQL.3\MSSQL\Backup\maximusdb.bak' WITH FILE = 1,
Avec Management studio
Restauration de base de données

RESTORE DATABASE [maximusdb] FROM DISK = N'C:\Program Files\Microsoft SQL


Server\MSSQL.3\MSSQL\Backup\maximusdb.bak'
Go

RESTORE DATABASE _mamandb

from _mamandbBackup
with norecovery
go

restore log _mamandb


from _mamandbLog
with recovery
Restauration d'une sauvegarde de base de données

Lorsque vous utilisez la sauvegarde et la restauration pour copier une base de


données vers une autre instance de SQL Server, les ordinateurs-source et de
destination peuvent correspondre à n'importe quelle plate-forme qui exécute SQL
Server.

Voici les étapes:

1. Sauvegardez la base de données source, qui peut résider sur une


instance de SQL Server 7.0, SQL Server 2000 ou de SQL Server 2005.
L'ordinateur qui exécute cette instance de SQL Server constitue
l'ordinateur source.

2. Sur l'ordinateur de destination de la copie de la base de données


(ordinateur de destination), connectez-vous à l'instance de SQL Server
sur laquelle vous voulez restaurer la base de données. Si nécessaire,
sur l'instance de serveur de destination, créez les mêmes unités de
sauvegarde que celles utilisées pour sauvegarder les bases de données
sources.

3. Restaurez la sauvegarde de la base de données source sur


l'ordinateur de destination. La restauration automatique de la base de
données crée tous les fichiers de la base de données.
Sécurisation d’une Base de Données
SQL server 2005 a 3 mécanismes pour la sécurité :

- mécanismes d’authentification
- mécanismes de validation
- mécanismes d’autorisation

3 composants interviennent également dans la sécurité, se sont

- les entités de sécurité

- les sécurisables

- les autorisations

1- les entités de sécurités

Ce sont des entités logiques qui doivent accéder aux ressources de sql
server

Elles se trouvent à 3 niveaux :

L’OS Windows

€ comptes d’utilisateurs locaux


€ compte d’utilisateur de domaine
€ groupe Windows

Le serveur

-> Les identifiants d’accès SQL server (ensemble d’entités d’utilisateurs


enregistrés et authentifiés par SQL server)

-> Rôle SQL server, ensemble de connexions d’accès ayant des


autorisations similaires

La base de données
-> Les utilisateurs de base de données, ce sont des comptes d’accès ayant
l’autorisations d’accéder à une base de donnés

-> Rôle de base de données, ensemble d’utilisateurs de base de données


ayant des droits d’accès similaires

-> Rôle d’applications, utilisées pour accéder à la base de données à l’aide


d’une application particulière.

2- les sécurisables

Ce sont des objets auxquels accèdent les entités de sécurités, telles


qu »une base de données ou encore service de base de données

L’OS Windows

-> Fichiers et clés de registre utilisés par sql serveur

Le serveur

-> Ce sont des hiérarchies imbriquées appelées portées. On a

*une portée serveur qui inclut des connexions d’accès des bases de
données et des points de terminaisons créent au niveau du serveur

*portée de base de données, qui inclut les objets tels que les
utilisateurs, les rôles, les rôles d’applications, les assemblages, des
catalogues de texte intégral, les schémas et les événements dll crées au
niveau de la base de données.

* portées schémas qui inclut des tables, des vues, des procédures, des
fonctions et des types de contenus dans un schéma
3- les autorisations

L’accès aux sécurisables par des entités de sécurités peut être activées ou
désactivées en configurant les autorisations. Celles-ci conditionnent le
niveau auxquelles les entités de sécurité ont accès aux sécurisables.

4-création de connexions d’accès et d’utilisateurs

Sans une connexions d’accès on ne peut pas accéder au serveur

CREATE LOGIN

Tache 1 : création de compte

Exemple

CREATE LOGIN boubacar WITH PASSWORD = 'esp'

En utilisant Managemant studio


Tâche 2 : création de compte utilisateur

Create user boubacarz

Tâche 3: assignation d’autorisations afin de permettre a boubacar de visualiser toutes les tables du
schéma.

Solution, en faire le propriétaire


5- Affectation de rôle :

Un rôle est un objet de base de données auxquelles un ensemble d’autorisation sont octroyées. Les
types de rôles :

- rôle de base de données fixes : ils sont définis au niveau de la base de donnée et existe
dans chaque base de données

- rôle de base de données définie par l’utilisateur


- rôle d’application

Rôle de base de données fixes : ils sont définis au niveau de la base de donnée et existe dans
chaque base de données
Rôles de base de données fixes Autorisations

Db_accessadmin Droit de supprimer et d’ajouter des utilisateurs et des


groupes de base de données

Db_backupoperator Effectue des opérations de sauvegarde de la base de


données

Db_datareader Lit des données à partir de n’importe quelles tables

Db_datawriter Ajoute, modifie, supprime des données d’une table


quelconque

Db_ddladmin Ajoute, modifie et supprime les objets de base de


données

Db_denydatareader Restreint la lecture d’une table quelconque

Db_denydatawriter Restreint la modification des données d’une table


quelconque

Db_owner Réalise une activité quelconque de base de données

Db_securityadmin Crée des schémas, change les rôles de BD et change les


rôles d’applications

Public (quand un utilisateur ne dispose pas Dispose des autorisations par défaut
de groupe par défaut)

Rôle de base de données définie par l’utilisateur

Il est possible de créer ses propres rôles de bd pour grouper plusieurs utilisateurs afin de leurs
assigner un ensemble commun d’autorisations.

Ceci permet de configurer un ensemble d’autorisations à assigner à des utilisateurs d’une base de
données.

CREATE ROLE
Rôle de base d’application

Entité de sécurité de base de données qui permet à une application de fonctionner avec ses propres
privilèges. A utiliser avec une application utilisée en interne qui doit utiliser la base de données.

CREATE APPLICATION ROLE

Assignation De Rôle Aux Utilisateurs De Bd

Chaque rôle se voit assigner un ensemble d’autorisations. Pour assigner des autorisations à un
utilisateur, un rôle peut être assigné à un utilisateur ou celui-ci peut être autorisé à devenir un
membre du rôle.

Affectations d’autorisations

Après avoir crées les entités de sécurités, les sécurisables , des entités doivent être assignées aux
entités de sécurités pour définir le niveau d’accès aux éléments sécurisables qu’elles détiennent.

a- Octroi d’autorisations au niveau du serveur

Au niveau du serveur des autorisations peuvent être octroyées au connexion d’accès. Les connexions
d’accès peuvent être autorisées à accéder à certains objets du serveur ou à accomplir des activités au
niveau du serveur. Telles que la modification ou la création de base de données.

.
Les autorisations communément utilisées pouvant être octroyées au niveau du serveur sont :

- ALTER ANY DATABASE


- ALTER ANY ENDPOINT
- ALTER ANY LOGIN
- CREATE ANY DATABASE
- CREATE ENDPOINT
- SHUTDOWN
- VIEW ANY ATABASE
- VIEW ANY DEFINITION
- VIEW ANY STATE

b- Octroi d’autorisations au niveau de la BD

Au niveau de la bd, les utilisateurs doivent pouvoir exécutés des activités telles que la
création d’un schéma. Les autorisations octroyées aux éléments sécurisables sur les
utilisateurs, service broker, les schémas, et les assemblages.

Ces autorisations ont

- CREAT SCHEMA
- CREATE SERVICES
- CREATE ASYMETRIC KEY
- CREATE SYMETRIC KEY
- CREATE CERTIFICATE
- CREATE CONTRACT
- CREATE QUEUE
- CREATE MESSAGE TYPE
- CREATE ROLE
Avec transact SQL

Exemple : use adventureworks

grant select

on schema::production

to boubacar
Ces lignes de commande octroient à Babacar l’autorisation de consulter la table « production »

b- Octroi d’autorisations au niveau des schémas

Au niveau des schémas, des autorisations peuvent être octroyées pour des éléments
sécurisables / les tables, les vues, les procédures stockées et les types.

Ces autorisations sont :

- CREATE TABLE
- CREATE FUNCTION
- CREATE VIEW
- CREATE PROCEDURE
- DELETE
- EXECUTE or EXEC
- INSERT
- SELECT
- UPDATE
- ALTER ANY USER
- VIEW DATABASE STATE
Exemple:

use adventureworks

Grant create procedure

To boubacarz

/* autoriser boubacar à créer des procédures sur la base de données adventure works*/

Avec Management
Studio
Révocation d’autorisations

Il est parfois nécessaire de supprimer les autorisations octroyées aux utilisateurs.

Revoke alter // enlever à boubacar le droit de modifier le schéma sales

On schema ::sales

From boubacar
7- Chiffrement des données

En plus de restreindre l’accès à la base de données et à ses objets, il est possible


d’ajouter une couche de sécurité supplémentaire en chiffrant les données.

Si les données sont chiffrées, elles restent sécurisées même si un utilisateur non
autorisé accède à la base. Les données et objets de base, les procédures ou les
fonctions peuvent êtres chiffrés à l’aide clés et de certificats.

a- Création de clés
Une clé est une valeur qui peut être appliquée à une fonction cryptographique pour
chiffrer/déchiffrer une valeur de données sécurisées. Il faut distinguer les clés
symétriques et asymétriques.

Une clé symétrique est une valeur utilisée aussi bien pour le chiffrement que
pour le déchiffrement de données (il faut forcément la partager).

CREATE SYMMETRIC KEY WITH SYMKEY

With algorithm=TRIPLE_DES

Encryption by PASSWORD=’mot de passe’