mercredi 14 mai 2008

OBJECTIFS DU COURS



- installer et configurer SQL Server 2005 ;

- gérer des fichiers de base de données ;

- sauvegarder et restaurer des bases de données ;

-gérer une sécurité.

I. HISTORIQUE ET PRESENTATION SQL Server 2005

I-Historique SQL Server

SQL Server est un SGBD (Système de Gestion de Base de Données) qui fait partie de la famille Windows Server System et constitue une infrastructure serveur complète et intégré, développé à l’origine par Microsoft et Sybase jusqu'à la version 4.0 . Avant la sortie de la version 6.0,les deux sociétés ont connu un différent, et dès lors le développement est devenu personnel des deux cotés. Microsoft a choisi de le commercialiser sous le nom de SQL SERVER et ceci devient donc uniquement fonctionnel sous windows. Sybase pour faire la différence à changer le nom SYBASE SQL SERVER en SYBASE ADAPTIVE SERVER ENTERPRISE. Microsoft SQL Server se voit alors comme l’un des accomplissements de Microsoft en matière de base de données.


Au fil des temps, le volume de données est toujours en perpétuel croissance et les systèmes deviennent de plus en plus complexes. Microsoft a mis sur le marché de manière successive plusieurs autres versions de SQL SERVER l’une plus évoluée que l’autre,il continu toujours d’en mettre car actuellement nous somme à la version 2005 qui fera l’objet de notre cours et la version 2008 est déjà disponible en version bêta.
Voici un récapitulatif de la sortie des versions de SQL SERVER par MICROSOFT :
*La version 4.21(WinNT) sortie en 1993 a pour nom de version SQL SERVER 4.21


*La version 6.0 sortie en 1995 a pour nom de version SQL SERVER 6.0 et pour nom de code SQL95.


*La version 6.5 sortie en 1996 a pour nom de version SQL SERVER 6.5 et pour nom de code Hydra.


*La version 7.0 sortie en 1999 a pour nom de version SQL SERVER 7.0 et pour nom de code Sphinx et une autre version de SQL SERVER 7.0 est sortie toujours en 1999 et a pour nom de code Plato.


*La version 8.0 sortie en 2000 a pour nom de version SQL SERVER 2000 et pour nom de code Shiloh.


*La version 8.0 sortie en 2003 a pour nom de version SQL SERVER 2000( 64-bits Edition )et pour nom de code Liberty .



*La version 9.0 sortie en 2005 a pour nom de version SQL SERVER 2005 et pour nom de code Yukon.


*La version (Version bêta) 10.0 sortie en 2008 a pour nom de version SQL SERVER 2008 et pour nom de code Katmai.


II-PRESENTATION DE SQL SERVER 2005


La commercialisation de la version bêta 2 de Microsoft SQL Server 2005 a bouleversé le monde du développement de bases de données. Le développement de bases de données devient plus intégré que jamais. SQL Server 2005 est une évolution des systèmes de gestion de base de données traditionnelles ,elle est la solution de gestion des données de la prochaine génération pour fournir la sécurité,la capacité à monter en charge et la disponibilité d’application dont les entreprises ont besoin. Ses fonctionnalités de stockage, d’extraction, d’agrégation et d’analyse de données lui permettent d’avoir une vision d’ensemble du système et de mettre en valeur les données de l’entreprise. Bâti sur les atouts de SQL Server 2000, il offre une solution intégrée d’analyse et de gestion des données qui permettra aux organisations de toute taille de :


-maximiser l’efficacité du département informatique en facilitant le déploiement et l’administration de la base de données ;


-réduire la complexité liée à l’hétérogénéité des outils, en fournissant les fonctionnalités essentielles pour tirer le meilleur parti des informations manipulées par les applications ;


-partagés des données entre diverses plates-formes, applications et systèmes pour faciliter les échanges d’information, tant internes qu’externes ;


-fournir des solutions décisionnelles robustes et intégrées favorisant la prise de décision et permettant d’accroître l’efficacité de l’ensemble de l’organisation ;


-proposer aux développeur un environnement riche, souple et intégré permettant de créer efficacement des applications adaptées aux besoins de chaque organisation;


-contrôler les coûts sans sacrifier les performances, la disponibilité ou la capacité à monter en charge.


SQL Server 2005 nous fournit des améliorations dans trois domaines clés qui sont :la gestion des données de l’entreprise ,l’efficacité des développeurs et l’analyse décisionnelle. Le cours de SQL Server 2005 se présente sous forme de 9 modules, les 4 premiers modules sont consacrés à l’administration de SQL Server 2005, et les 5 modules restants à la partie développement. Dans ce cours je vous ferai connaître la partie administration et au fil des jours je m’interesserai à la partie développement .

mardi 13 mai 2008

II. INSTALLATION ET CONFIGURATION SQL Server 2005

Ce module explique comment planifier et installer SQL Server 2005, comment gérer une installation SQL Server 2005 et comment utiliser les outils d’administration SQL Server 2005.
A- Préparation à l’installation de SQL Server 2005

1) Les différents services qu’offre SQL Server 2005

SQL Server 2005 est une base de données dite « de nouvelle génération ». Elle propose des services qui vont de la gestion des données de l’entreprise aux services d’analyses multidimensionnelles en passant par la mise à disposition d’une infrastructure de développement. D’un point de vue produit, cela se traduit par la disponibilité, dans SQL Server 2005, de différents services. Une installation de SQL Server 2005 sur un serveur donné peut mettre en oeuvre un, plusieurs, ou la totalité de ces services qui sont:

-Le moteur relationnel : est le composant qui assure des données relationnelles de la base, la gestion des transactions, la sauvegarde, les différentes opérations de mainretenance des bases de données relationnelles (sauvegarde, optimisation, organisation des tables et des index …). Il est utilisé par toutes les éditions, avec une limitation de taille de base dans la version Express.

- Les services de réplication: La mise en place de services de réplication de bases de données sert parfaitement des scénarios dans lesquels différents serveurs sont répartis géographiquement. Pour les bases de données distribuées, SQL Server 2005 fournit une réplication complète des modifications des schémas (ordres DDL), des fonctionnalités d'analyse novatrices, la réplication intégrée d'Oracle vers SQL Server, et des améliorations importantes au niveau de la capacité à monter en charge . Elles sont utilisées par les éditions Express, Workgroup, Standard Workgroup, Standard et Enterprise avec des limitations notables dans les éditions Express et Workgroup .

- Les services de notifications: Les services de notifications permettent aux entreprises de créer des applications de notifications complètes qui expédient vers n'importe quel système des informations personnalisées telles que les alertes de la bourse, les abonnements aux sites d’informations, les alertes de livraison de colis et les prix de billets d'avion. Avec SQL Server 2005, le service Notification Services est plus étroitement intégré à des technologies telles que Analysis Services et SQL Server Management Studio. Elle sont utilisées par les éditions Standard et Entreprise .

-Les services de reporting: permettent la création complète d’une infrastructure de création, de gestion et de distribution de rapports. Elles sont utilisées par les éditions Workgroup, Standard et Entreprise, avec des limitations importantes dans l’édition Workgroup.

-Les services d’analyses: permettent la création, l’administration et l’utilisation de cubes multidimensionnels (technologies OLAP), de solution de Data Mining, la définition et l’exploitation d’indicateurs clés.Elles sont utilisées par les éditions Express, Workgroup, Standard et Entreprise, avec des limitations importantes dans Express et Workgroup.

-Les services d’intégration: permettent de mettre en place des scénarios de consolidation de données, de constructions d’entrepôts de données, d’importation de données de sources hétérogènes vers des bases SQL Server ou autres. Les services d’intégration donne droit à un ensemble d’outils graphiques et d’objets programmables permettant de déplacer, de copier et de transformer les données. Elles sont utilisées par les éditions Standard et Entreprise. Les fonctions d’importation et d’exportation de données sont disponibles dans la version Workgroup.

2) Editions de SQL Server 2005

SQL Server 2005 est disponible en différentes éditions. Une édition peut être assimilée à un « package » qui inclut tout ou partie des services SQL Server. Il faut distinguer les éditions de SQL Server 2005 des versions de SQL Server .Une version est un millésime du produit SQL Server. Voici donc une liste des éditions de SQL Server 2005 :

. SQL Server Enterprise Edition;

· SQL Server Evaluation Edition;

.SQL Server Standard Edition;

· SQL Server Workgroup Edition;

· SQL Server Express Edition;

.SQL Server Mobile Edition;

· SQL Server Developer Edition.

Voici une description de ces différentes éditions :

.SQL Server Enterprise Edition







C’est la version offrant le maximum de fonctions, elle est conseillée en cas de grands besoins de haute disponibilité ,(dont la possibilité d’exécuter un nombre important d’opérations de maintenance de la base en ligne),des besoins spécifiques en terme de décisionnel,de bases de données de volume très importantes grâce aux nouvelles possibilités de partitionnement des tables. En tant qu'édition la plus complète de SQL Server, Enterprise Edition représente la solution idéale pour les grandes organisations et les exigences les plus complexes en termes de configuration.

.SQL Server Evaluation Edition




Il y a également une version évaluation de SQL serveur 2005 qui est utilisable que pour 180 jours.Elle a les mêmes fonctionnalités que SQL serveur Enterprise Edition.




.SQL Server Standard Edition



Cette version, fonctionnellement assez proche de la version Enterprise, est particulièrement recommandée pour répondre aux besoins transactionnels ou décisionnels classiques. Elle représente la plateforme de gestion et d’analyse des données pour les petites et moyennes organisations qui ont besoin d’une plateforme de gestion et d’analyse de données.

.Edition SQL Server Workgroup





Cette version propose une couverture fonctionnelle essentiellement axée sur des besoins transactionnels dans le cadre d’un serveur départemental ou de serveurs de bases de données indépendants les uns des autres. Elle est adaptée aux petites organisations qui ont besoin d'une base de données illimitée en termes de taille ou de nombre d'utilisateurs. SQL Server Workgroup Edition à la possibilité d’être mise à niveau vers SQL Server 2005 Standard Edition ou SQL Server 2005 Enterprise Edition.

.SQL Server Developer Edition

SQL Server Developer Edition est une version fonctionnellement identique à la version Enterprise, elle est cependant réservée aux tests et aux développements et non à des tâches de production. Mais il y a possibilité de le mettre jour à des fins de production. SQL Server 2005 Developer Edition est destinée aux les éditeurs de logiciels, aux consultants, aux intégrateurs de systèmes,aux fournisseurs de solutions et aux développeurs internes qui construisent et testent les applications. Elle fait l’objet d’un mode de licence spécifique.

.SQL Server Express Edition



Cette version, qui présente l’originalité d’être totalement gratuite (pas de licence serveur ni de licence d’accès client) trouve sa place dans des développements simples, des clients de réplication ou en remplacement de MSDE. En cas de besoin de fonctionnalités de base de données plus évoluées, on peut mettre à niveau de manière transparente SQL Server Express vers des versions plus sophistiquées de SQL Server.

.SQL Server Mobile Edition

De nombreuses nouvelles fonctionnalités de SQL Server Mobile Edition concernent les développeurs. Elle est destinée aux périphériques mobiles. SQL Server Mobile Edition est gratuite.

a-Les limitations

- En nombre de processeurs - en espace mémoire-en Taille de base de donnée

*SQL Server Express peut s' installer sur un système doté d'un processeur ,d'une mémoire RAM de capacité 1Go .Elle ne peut que supporter une base de données de taille 4Go .

*SQL WORKGROUP peut s' installer sur un système doté deux processeurs ,d'une mémoire RAM de capacité 3Go .Elle supporte une base de données de taille illimitée .

*SQL Standard peut s' installer sur un système doté de quatre processeurs ,d'une mémoire RAM de capacité illimitéé .Elle supporter une base de données de taille illimitée.

*SQL Enterprise peut s' installer sur un système ayant une capacité illimité,une capacité de mémoire RAM illimité et supporte aussi une base de donnée de taille illimitée.

-En système d'exploitation

windows XP et Windows 2000 Server et Windows 2003 Standard Edition ne supportent pas les éditions Express, Workgroup, Standard, et Enterprise de SQL Server 2005 Windows 2000 advanced Server , Windows 2000 Datacenter ,Windows 2003 Enterprise Edition et Windows 2003 Datacenter Edition supportent les éditions Standard et Enterprise de SQL Server 2005,mais pas les éditions Express et Workgroup.

3) Configuration matérielle et logicielle pour l’installation de SQL Server 2005

La configuration matérielle requise pour l’exécution de SQL Server sur la plateforme 32 bits est différente de celle requise pour la plateforme 64 bits mais néanmoins ces deux plateformes ont des points communs au niveau tant au niveau de la configuration matérielle que logicielle.

a-Plateforme 32 bits et 64 bits

-Configuration matérielle

.Moniteur

Les outils graphiques SQL Server nécessitent une résolution VGA ou supérieure, il faut une résolution minimale de 1024x768 .

.Dispositif de pointage

Une souris Microsoft ou un dispositif de pointage compatible est requis .

.Lecteur CD ou DVD

Il faut nécessairement un lecteur CD ou DVD pour l’installation à partir d’un CD ou DVD

.Espace disque requise

Pendant l'installation de SQL Server 2005, Windows Installer crée des fichiers temporaires sur le lecteur système. Avant d'exécuter le programme d'installation ou de mise à niveau de SQL Server 2005, vérifiez que vous disposez de 2,0 Go d'espace disponible sur le lecteur système pour ces fichiers. Ceci s'applique même lorsque vous installez tous les composants SQL Server sur un lecteur (système) différent du lecteur par défaut. De nombreux fichiers seront installés sur le lecteur système, généralement le lecteur C:.

- Configuration logicielle

Le programme d'installation de SQL Server installe les composants logiciels suivants requis par le produit :

· Microsoft .NET Framework 2.0

· Microsoft SQL Server Native Client

· Microsoft Fichiers de support d'installation de SQL Server

S'ils ne sont pas encore installés, le programme d'installation de SQL Server installe chacun de ces composants séparément ; seuls les fichiers de support d'installation de Microsoft SQL Server sont automatiquement supprimés lorsqu’on désinstalle SQL Server 2005.L’installation de SQL Server 2005 Express Edition ne prend pas en compte le .NET Framework 2.0 car elle ne l’installe pas, donc avant de l’installer il faut nécessairement installer le .NET Framework 2.0.

-plateforme 32 bits
- Configuration matérielle

-Type processeur - Vitesse processeur

*Enterprise, Standard et Developer,Workgroup: ces éditions de SQL Server 2005 nécessitent un processeur compatible Pentium III ou supérieur,ayant une vitesse minimale de 600 MHz,il est recommandé pour l'installation de ces éditions d'avoir un processeur de vitesse égale à 1GHz ou plus.

*L' édition express nécessite lui un processeur compatible Pentium III ou supérieur avce une vitesse minimale de 500 MHz.

4) Les instances

Une instance peut être assimilée à une occurrence d’exécution du moteur SQL Server sur un serveur physique. Il est possible d’avoir plusieurs instances SQL Server sur un même serveur physique. Le tableau ci-dessous présente le nombre maximal d’instances possibles des différents services SQL Server en fonction de l’édition concernée.



5)Les options de licence

Il existe trois modes de gestion des licences avec SQL Server 2005 :
• Par processeur,

• Par serveur complété de licences d’accès clients par utilisateur,

• Par serveur complété de licences d’accès client par poste (ou périphérique).

Remarques sur les licences au niveau serveur, processeur ou client

• Une licence n’est pas un composant logiciel, il s’agit d’un document conférant un droit d’utilisation d’un, de plusieurs, ou de la totalité des services SQL Server sur un serveur physique donné.

• Au niveau des serveurs SQL, c’est le serveur physique qui détermine la nécessité d’acquérir une licence, quel que soit le nombre de services SQL Server ou d’instances qu’il héberge. En d’autres termes, si un serveur physique héberge le moteur relationnel de SQL Server 2005, et un autre serveur les services d’analyses multidimensionnelles, une licence sera nécessaire pour chacun des deux serveurs. Donc deux licences au total.

• Ces modes de licence sont applicables aux éditions Workgroup, Standard ou Enterprise, l’édition Express étant totalement gratuite (donc pas de licence, ni pour le serveur, ni pour les accès clients).

• Une licence d’accès par poste donne le droit d’accéder depuis le dit poste à un nombre illimité de serveurs SQL Server.

• Une licence d’accès par utilisateur donne le droit d’accéder à un nombre illimité de serveurs SQL pour un utilisateur donné.

a) Licence par processeur

Dans ce mode de gestion des licences, il est nécessaire d’acquérir une licence pour chaque processeur physique du système qui utilise SQL Server. Il n’est ensuite pas nécessaire d’acquérir des licences d’accès client, quel que soit le nombre d’utilisateurs ou de postes accédant à la base. Le mode de licence par processeur n’est pas autorisé avec l’édition Developer, et ne s’applique pas à l’édition Express, cette dernière étant gratuite (pas de licence ni au niveau du serveur, ni au niveau des accès clients).
-Remarques sur les licences par processeur

Licence par processeur et nombre d’instances de SQL Server :

une licence par processeur donne le droit à l’installation d’un nombre illimité d’instances SQL sur le serveur en question, à condition d’avoir acquis autant de licence(s) que de processeur(s) physique(s) existant(s) sur le serveur.

Licence par processeur et processeur « inutilisé » : si un processeur est rendu inaccessible pour le système d’exploitation sur lequel tourne SQL Server, alors il n’est pas nécessaire d’acquitter une licence pour ce processeur.

Licence par processeur et machine virtuelle : une licence par processeur est requise pour chaque processeur utilisé par la machine virtuelle.

. Licence par processeur et nombre d’accès client : une licence par processeur autorise un nombre illimité de clients (ou postes) à se connecter sur le serveur SQL, que ces clients ou postes se trouvent au sein de la société (intranet) ou à l’extérieur de l’entreprise (Internet ou extranet).

b)Serveur plus licence d’accès client (CAL) par utilisateur

Dans ce modèle, une licence serveur est requise pour chaque système d’exploitation supportant une instance de SQL Server, plus une licence d’accès client (CAL) par utilisateur. Un utilisateur couvert par une licence d’accès peut accéder à un ou plusieurs serveurs SQL depuis un ou plusieurs postes. Ce mode de licence est particulièrement adapté pour un usage à l’intérieur d’une entreprise, avec un nombre limité et connu d’utilisateurs ou de postes accédant à un ou plusieurs serveurs SQL Server.

c)Serveur plus licence d’accès client (CAL) par poste (ou périphérique)

Dans ce modèle, une licence serveur est requise pour chaque système d’exploitation supportant une instance de SQL Server, plus une licence d’accès client par poste accédant au serveur SQL. On entend par poste (ou périphérique), un PC, un terminal, une station de travail, un PDA, un smartphone… ou n’importe quel matériel accédant ou utilisant les services ou fonctions de SQL Server. Un périphérique accédant à un ou plusieurs services de la base de données sans requérir la présence d’un utilisateur (cas d’un appareil de type sonde stockant les informations dans une base SQL Server par exemple) nécessitera forcément une CAL par poste.

6)Présentation de Transact-SQL (T-SQL)

T-SQL (Transact Structured Querry Language) est un langage qui permet de normaliser le développement d’application lié aux bases de données. C’est une extension du langage SQL développée par IBM dans les années 1970 .Des normalisations du langage ont été effectuées. La première normalisation a été effectuée en 1986, la deuxième en 1989(sous le non de 89) et la troisième en 1992.

a)Les instructions

Ce langage possède 3 types d’instructions qui sont :

Langage de définition de données : permet la création,la modification et la suppression des objets de base de données.

Langage de manipulation de données : permet de modifier,de supprimer de sélectionner et d’ajouter dans les objets de base de données.

Langage de contrôle de données : utilisé pour la gestion des protections d’accès aux données.

Elles indiquent comment traiter les instructions Transact-SQL . Exemples de directives : USE ,GO, PRINT

c)Les éléments de la syntaxe de Transact-SQL

Les types de données : déterminent la nature du contenu des objets tels que les colonnes,les variables, les paramètres etc….

Les identificateurs : ceux sont les noms d’objets tels que les tables ,les columns ,les bases de données capables de contenir 1 à 128 caractères. Les opérateurs : permet de créer les expressions complexes à partir des expressions simples.

Les commentaires

d)Architecture logique d’une base de données

Une base de donnée permet de stocker un ensemble de données. Des objets de base de données nous aident à structurer nos données et à définir les mécanismes de sécurité, d’amélioration des performances et de contrôle d’intégrité des base de données. Parmi ces objets nous avons les tables, des contraintes, des valeurs par défaut, les index, les vues , les procédures stockées, les structures.

B-Installation de SQL Server 2005

Système d'exploitation :
- Windows 2003 Server SP1

- Windows 2000 Server SP4 (quelque soit l'édition)

-Windows 2000 Professional SP4

- Windows XP Professional SP2

SQL Server 2005 Edition : · WorkGroup · Standard · Enterprise Ici je me suis interresser à l’installation de l’une des éditions commerciale de Microsoft SQL Server 2005 ,l'édition SQL Server Enterprise. Les copies d'écran ont été faites avec SQL Server 2005 Enterprise Edition en français sur un Windows 2003 Enterprise Edition SP1 en français.

Etape1: Insérez le cd dans le disque Par l'Explorateur de Windows allez dans le répertoire suivant sur le lecteur de CD-ROM (ou DVD) et double cliquez sur le fichier suivant : Servers\setup.exe .




Etape 2 : Contrat de Licence Acceptez et cliquez sur « Suivant »



Etape 3 :Installation du Framework .Net 2.0 et du Client SQL Server L'installation débute toujours par l'installation du Framework .net 2.0 et par l'installation des outils d'accès client de SQL Server, les deux sont obligatoires. Cliquez sur « Installer » pour démarrer leur installation.




Etape 4 : Début de l'installation Démarrage de l'assistant d'installation en lui-même Cliquez sur « Suivant »





Etape 5 : Vérification de la configuration En tant que partie intégrante du programme d'installation de SQL Server 2005 l'outil d'analyse de la configuration permet de détecter d'éventuels problèmes qui empêcheraient l'installation correcte de SQL Server 2005. Les éléments vérifiés concernent le matériel, les services Windows installés, la configuration de Windows et les paramètres de sécurité. Les points en vert indiquent pas de problèmes, ceux en jaunes ne sont pas critiques mais risquent de gêner le fonctionnement, les points en rouges sont critiques. Essayer de cliquer sur le lien hypertexte « Messages... » en cas d'avertissement (jaune) ou d'erreur (rouge). Vous verez apparaître la fenêtre qui suit.
Vous pouvez afficher la synthèse de cette fenêtre en cliquant sur le bouton « Rapport », vous y aurez accès aussi à la fin de l'installation. On y trouve le récapitulatif de tous les messages y compris ceux validés avec succès.
Pour continuer cliquez sur « Suivant » puis patientez pendant la phase de détection des services qui suit.




Etape 6 : Identité et clef de produit Veuillez rentrer les informations d'identité ainsi que la clef de produit. Notez que la clef de produit peut être pré-renseignée si vous utilisez un CD d'installation MSDN ou dans le cas d'une édition d'évaluation Cliquez ensuite sur « Suivant »


-Composants à installer Choisissez les composants à installer. Si vous êtes en édition Enterprise vous avez la possibilité de faire l'installation en Cluster (ici les cases à cocher sont grisées). Pour installer les bases de données et les fichiers d'exemple il vous faudra cliquer sur le bouton « Avancé » pour les sélectionner.
la partie « Avancé » vous avez le choix d'ajouter ou retirer des fonctionnalités en détails. Sur la copie d'écran vous avez le choix par exemple d'ajouter les bases de données AdventureWorks et AdventureWorksDW , vous pouvez aussi ajouter les codes d'exemples




-Les instances

Vous indiquez si vous faites une installation comme instance par défaut ou nommé. Ce choix s'applique à :

- Analysis Services
- Reporting services
- SQL Server Database Services
- Moteur de base de données relationnel
- Agent de planification de tâches
- Moteur d'indexation
« Full Text Search » Si vous avez déjà une installation effectuée en instance par défaut, seule l'option d'instance nommée sera disponible. Une instance par défaut est accessible via le nom du serveur seul (par ex : MONSERVEUR), une instance nommée est accessible via le nom du serveur et le nom que vous avez donné à l'instance (par ex : MONSERVEUR\MONINSTANCE).




Chaque installation d'instance est séparée il peut s'agir de versions / éditions différentes, les patchs peuvent aussi être différents. Les autres services n'ont pas de notions d'instances et sont donc installés une seule et unique fois.

Etape 9 : Comptes de service Choix d'un compte de service et de l'exécution des services de SQL Server 2005. Chacun des services de SQL Server a besoin d'un compte de sécurité pour s'exécuter, et d'un paramètre indiquant si ce service démarre de manière automatique ou manuel. Les comptes de services peuvent être les suivant :

· LocalSystem
* C'est en général l'option choisie, elle permet d'être « administrateur » local de la machine, en fait le service peut se faire passer pour le système, les droits sont locaux uniquement, ce compte n'a pas de réel contexte utilisateur, en cas d'accès réseau c'est une session null qui est ouverte (en général refusée sur les autres machines) o Avec ce genre de droits n'oubliez pas qu'une personne mal intentionnée pourrait carrément rebooter votre serveur si elle avait accès au xp_cmdshell.

· LocalService (nouveauté Windows 2003)

Les droits sont ceux d'un utilisateur simple local, les droits sont locaux uniquement, en cas d'accès réseau c'est une session null qui est ouverte (en général refusée sur les autres machines). o A noter que c'est le processus d'installation qui accorde des droits supplémentaires nécessaire à SQL Server.

· NetworkService (nouveauté Windows 2003)

-Identique au précédent sauf que l'accès réseau ce fait avec le compte de la machine, quand vous tentez de vous connecter à une autre machine celle-ci doit autoriser votre serveur à se connecter (par exemple, votre serveur SQLSERV doit être explicitement autorisé à écrire sur le partage \\MESFICHIERS\SAV). Ce mode est assez pratique en cas de machine non reliées à un domaine, mais nécessitant des accès antre elles.

-Même remarque que ci-dessus. Quand vous êtes sur le même serveur c'est NetworkService à qui il faut accorder les droits, cependant en utilisation réseau c'est le compte du serveur (nom de la machine) qu'il faut autoriser.

· Utilisateur Local (NomServeur\Utilisateur)

- Presque équivalente à LocalService, cependant votre serveur pourra se connecter à une machine ayant un couple utilisateur/motdepasse similaire à votre compte local.

· Utilisateur du Domaine (NomDomaine\Utilisateur)



- Option la plus courante lorsque vous êtes relié à un domaine, permet plus de facilité au niveau de la gestion des droits entre les serveurs.

- Evitez de donner trop de droit à un compte du domaine, un compte de service peut très bien être invité du domaine, sans pour autant compromettre le fonctionnement du service SQL. Tous les types de comptes ne sont pas disponibles dans cette fenêtre, vous pourrez les changer plus tard si vous le souhaitez via l?outil « SQL Server Configuration Manager » (Gestionnaire de Configuration SQL Server) ou via le Gestionnaire de Services dans les Outils d?administration de Windows (la première option étant de loin la meilleure). Si vous cochez « Personnaliser pour chaque compte de service » vous pourrez indiquer un compte de service différent pour chacun des services installés, sinon le même compte sera choisi pour tous. Le type de démarrage des services peut être l'une de ces valeurs :

· Automatique

- Le service démarre automatiquement au démarrage de Windows · Manuel

- Le service doit être démarré manuellement (cela peut être par un autre service) · Désactivé

- Le service est désactivé et ne peut être démarré Ici, si vous activez la case à cocher cela signifie que le service est démarré de manière automatique, sinon qu'il est en mode manuel. Ces options pourront être modifiées comme le compte de service indiqué plus haut. SQL Browser doit s'exécuter uniquement si vous utilisez plusieurs instances, ou une instance nommée, dans ce cas, veillez bien à cocher le démarrage automatique de ce service.
A cette étape on choisit si l'on souhaite une authentification :
- Windows

- Windows (utilisation d'un compte de domaine ou compte local d'une machine)

- Mixte

-Windows (utilisation d'un compte de domaine ou compte local d'une machine)

- SQL Server (utilisation d'un nom d'utilisateur et d'un mot de passe enregistrés sur le serveur SQL Server) Puis, il est fortement recommandé de spécifier un mot de passe pour le compte « sa » qui dispose du maximum des droits sur le serveur. Même si vous êtes en mode d'authentification Windows, il faut attribuer un mot de passe à ce compte. Ce mot de passe pourra être changé après l'installation du serveur. Par défaut, les droits sysadmin (maximum des droits sur le serveur SQL) sont attribués à « sa » (compte SQL Server) et au groupe « BUILTIN\Administrators » (groupe Windows des administrateurs locaux du serveur).



Etape 11 - Page de Code et Classement (Collation) Pour chaque compte de service il est possible de spécifier la collation (appelé aussi classement ou ordre de tri et de comparaison et page de code). Cette collation est la composition des paramètres suivant :
1. La page de code utilisée pour les champs non unicode (type varchar)
2. L'ordre de tri des chaînes de caractères
3. La sensibilité ou non à la casse (minuscules et majuscules)
4. La sensibilité ou non aux accents
5. La sensibilité ou non au Kana
6. La sensibilité ou non à la largeur des caractères

Les points 1 et 2 sont modifiés par la liste déroulante qui permet de choisir une langue et donc un ordre de tri et une page de code correspondante. Pour un serveur Windows français, le paramètre par défaut est « french », pour un serveur en anglais le paramètre par défaut est « Latin1_General ». La seule différence entre les deux se situe au niveau de l'ordre de tri, les pages de codes étant identiques. Le point 3 correspond à la case « Respecter la casse », le 4 « Respecter les accents », le 5 « Respecter les caractères Kana » et le 6 « Respecter la largeur ». Les cases « Binaire » permettent une comparaison sensible aux quatre points (3 à 6). Les collations binaires étant les plus efficaces en termes de performance sur les traitements des chaînes (égalité et tris). La collation paramétrée ici s'applique aux bases de données systèmes (master, msdb, tempdb et model) et par défaut aux nouvelles bases de données créées. Elle peut cependant être modifiée lors de la création d'une nouvelle base de données ou lors de l'ajout d'un champ texte grâce au mot clef COLLATE. Attention au fait que si vous utilisez une collation sensible aux majuscules/minuscules à respecter la casse au niveau des noms des objets et des bases de données dans les scripts SQL. Un récapitulatif de vos choix vous est présenté avant de lancer l'installation de SQL Server 2005.
Une fois prêt, cliquez sur « Installer »

III. GESTION DE BASE DE DONNEES ET FICHIERS

Ce module explique comment gérer des bases de données et des fichiers
A-Création de base de données

1-Fichiers de la base de données

a)Fichiers de données primaires

Ils vont contenir des informations sur le démarrage de la base de données et ainsi que les données traitées.L'extension des fichiers de données primaires est de type: .mdf.

b)Fichiers de données secondaires

Ils peuvent intervenir pour pouvoir stocker des données utilisateurs.L'extension est .ndf.

c)Fichiers journaux

Ils vont permettre de récupérer tous les détails sur toutes les transactions ou modifications s'effectuant sur la base .L'extension est .ldf.

2-Groupe de fichiers

C'est un ensemble de fichiers.Nous avons 2 groupes de fichiers .

a)Groupe de fichiers primaires

Il va contenir des fichiers de données primaires.

b) Groupe de fichiers définis par l'utilisateur

Ce groupe de fichiers est créé dans l'optique de rassembler ou de regrouper les fichiers qui ne font pas partis du groupe de fichiers primaires ou secondaires.

3-Création d'une base de données

a)Microsoft SQL Server Management studio

Cette option se fera au niveau de la base de données en définissant une nouvelle base de données.
Pour créer une nouvelle base de données, faites un clic droit, dans le panneau de gauche, sur "base de données" et choisissez "nouvelle base de données".
Le côté droit de l'application affichera un nouvel onglet dans lequel vous devez spécifier le nom et l'emplacement de la base de données à créer.

b.Transact-SQL

Pour exécuter des requêtes SQL sur votre base de données, il faut:
* sélectionner la base de données de travail (en utilisant la requête SQL: use + nom de la_base_de_donnée)
* écrire le code de la requête
* appuyer sur Ctrl+F5 pour parser la requête SQL et s' assurer quelle ne comporte pas d'erreurs
* appuyer sur F5 pour exécuter la requête SQL


4-Schèmas
Les schemas représentent un espace de nommage pour les objets de la base de données.


*Accès à un objet de la base de données: pour accéder à un objet de base de données ,la syntaxe est nom_base de données.nom_schéma_objet base de donnée.

*Création d'un schéma
CREATE schema nom_schema


B-Gestion de base de données

La gestion d'une base implique des activités telles que l'ajout ou la suppression de fichiers et de groupe de fichiers ainsi que la modification de la taille de fichiers et de groupes de fichiers.La base de données peut être supprimée si elle n'est plus utilisée.

-Les secondes opérations sont relatives au déplacement d'une base de données d'un serveur vers un autre ou d'une instance vers une autre instance sur le même serveur.

-En plus des tâches de maintenance régulière,il arrive que l'administrateur de base de données doit accomplir d'autres tâches telles que:

*le contrôle de la performance d'exécution des requêtes ou le contrôle de la quantité d'espace disque libre.Une telle analyse permet d'améliorer les performances de la base de données.l'administrateur de la base de données est également responsable de l'obtention d'informations sur l'efficacité des indexes créés.

*L'une des tâches fondamentale de l'administrateur est de pouvoir maintenir la taille de la base des données.L'une des méthodes utilisée pour y parvenir est de réduire la taille des données de l'espace libre.Cet espace peut être alors utilisé pour enregistrer d'autres données.Il faut aussi effectuer des contrôles d'intégrité de la base de données pour assurer que les données sont fiables et consistantes.

a)Modification d'une base de données

Aprés avoir créée la base de données il peut être necessaire d'ajouter ou de modifier un fichier ou un groupe de fichiers ou encore de supprimer un fichier de la base de données.Pour effectuer cette instruction on utilise ALTER DATABASE.

b)Suppression d'une base de données

Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données SQL Server 2005, puis développez cette instance.Développez le dossier Bases de données, cliquez avec le bouton droit sur la base de données à supprimer, puis cliquez sur Supprimer.Vérifiez que la base de données correcte est sélectionnée, puis cliquez sur OK.

c-Migration d'une base de données

On veut détacher une base de données d'une instance à l'autre.

*il faut au préalable bloquer l'accès à la base de données(click droit base de données - propriétés- option- restreindre l'accès à la base de données(sélectionner single)- OK

-Le détachement
Click droit base de données-tâche- détacher -(cocher mettre à jour).


*procédure avec Transact SQL
sp_detach_db'espdb',true


4.La gestion des statistiques a)Création de statistiques

Elles sont créées pour des colonnes spécifiques d'une table ou d'une vue.Pour effectuer cette opération on utilise CREATE STATISTICS.exemple: CREATE STATISTICS contactEmail ON person.contact(contactID,EmailAddress)sp_hepstats'person.contact,'ALL'bloc show_statistics('person.contact,contactEmail)

b)Mise à jour de statistiques
Pour faire la mise à jour on utilise la commande UPDATE STATISTICS exemple: UPDATE STATISTICS person.contact contactEmail.


c)Réduction d'une base de données
Il devient essentiel de vérifier la taille de la base de données lorsque le groupe de données s'accroit. L'administrateur de la base de données doit contrôler la taille de la base de données pour améliorer les performances du moteur de base de données.Pour cela on utilise l'instruction dbcc shrinkfile
dbcc shrinkdatabase


6-Expansion de la base de données

Avec l'accroissement du volume de données dans la base les fichiers d'enregistrement utilisés peuvent atteindre leur taille maximale.Il est alors nécessaire d'augmenter la taille de la base de données pour admettre plus de données.Et pour se faire on utilise la base de données Adventureworks.

7)Réalisation de vérification d'intégrité de base de données avec dbcc

L'instruction dbcc permet de réduire la taille d'une base de données de contrôler l'intégrité d'une base de données.Nous avons les instructions :

dbcc checkdb:Cette instruction permet de contrôler la cohérence des données et l'intégrité de la base de données.

dbcc checkalloc:cette instruction contrôle la cohérence de l'allocation d'espace disque d'une base de données particulière.

dbcc checktable:cette instruction est identique à l'instruction dbcc checkdb à l'exception du fait qu'elle contrôle qu'une seule table ou une seule vue indexée,même un index particulier.

8)Automatisation de la base de données avec agent SQL

Un administrateur de base de données est responsable d'assurer la cohérence,la fiabilité et l'actualisation des données d'une base de données.Pour se faire,certaines tâches administratives doivent être effectuées périodiquement.Dans cette optique il est possible d'automatiser leur exécution à l'aide de SQL server agent.

Etude de cas 1
En tant que administrateur de base de données,vous devez souvent démarrer ou arrêter le service de texte intégral sur le serveur SQL.Pour se faire,vous avez décidé de créer un travail avec SQL server agent.Quand le travail est effectué vous devez envoyer une notification à l'administrateur système de votre entreprise à l'aide du service de messagerie de windows. La première des choses pour résoudre ce problème est d'effectuer les tâches suivantes:

Tâche1: Création d'un opérateur

Pour expédier une notification à l'administrateur système quand le texte intégral démarre il faut pouvoir créer un opérateur.

Tâche2: Création d'un travail

Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données SQL Server, puis développez l'instance.Développez SQL Server Agent, créez un nouveau travail ou cliquez avec le bouton droit sur un travail existant, puis cliquez sur Propriétés.Dans la boîte de dialogue Propriétés du travail, cliquez sur la page Étapes, puis sur Nouveau.Dans la boîte de dialogue Nouvelle étape du travail, tapez un nom d'étape de travail. Dans la zone de texte commande on saisit: net start msftesql$(nom_instance) Sélectionner la zone de notification Pour avertir un opérateur par courrier électronique, activez la case à cocher Messagerie électronique, sélectionnez un opérateur dans la liste, puis l'une des options suivantes :

* Lors de la réussite du travail pour avertir l'opérateur quand le travail s'est effectué avec succès ;

* Lors de l'échec du travail pour avertir l'opérateur quand le travail ne s'est pas effectué avec succès ;

* Lorsque le travail est terminé pour avertir l'opérateur, quel que soit l'état du travail à son achèvement.

Etude de cas 2
En tant qu' administrateur de base de données, vous voulez accomplir une activité impliquant l'insertion en vrac dans la base de données Adventureworks.Quand vous tentez d'effectuer cette tâche elle risque d'échouer par manque d'espace dans la base de données tempdb.Une alerte doit être lancée dés que la base de données tempdb n'a que 10Mo d'espace libre.L'alerte doit délivrer le message "augmenter la taille de la base de données" tempdb pour poursuivre ce travail.

Tâche1: Création de l'alerte

Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données SQL Server, puis développez-la.Développez le service SQL Server Agent.Cliquez avec le bouton droit sur Alertes, puis sélectionnez Nouvelle alerte.Dans la zone Nom, entrez le nom de cette alerte ici c'est tempdbalerte, le type de l'alerte est: Alerte de condition de performances.

Tâche2:Notification d'un administrateur

Dans l'Explorateur d'objets, développez un groupe de serveurs, puis développez un serveur.Développez le service SQL Server Agent.Développez Alertes.Cliquez avec le bouton droit sur une alerte, sélectionnez Propriétés, puis la page Réponse.Sélectionnez Exécuter le travail, puis cliquez sur le bouton Parcourir (...) pour sélectionner un travail à exécuter quand une alerte se produit। Vous pouvez créer un nouveau travail en cliquant sur Nouveau travail. Vous pouvez afficher plus d'informations sur le travail en cliquant sur Afficher le travail. Activez la case à cocher. Notifier les opérateurs pour que les opérateurs soient prévenus de l'alerte. Dans oprions on coche Net send ensuite le message:"augmenter la taille des données tempdb".

IV. RECUPERATION D'URGENCE

Ce module explique comment planifier et implémenter une stratégie de sauvegarde et de restauration.

A-Sauvegarde d'une base de données

1)Identification de stratégie de sauvegarde

SQL serveur 2005 offre différentes méthodes de sauvegarde
- Sauvegarde complète

- Sauvegarde journal de transaction

- Sauvegarde de fichiers journal en plein défaillance

- Sauvegarde différentielle

- Sauvegarde de fichiers ou de groupes de fichiers

- Sauvegarde partielle et partielle différentielle

- Sauvegarde en copie seul

a.Sauvegarde complète

La sauvegarde complète d'une base de données sauvegarde entièrement la base de données en incluant des fichiers de données et une partie du journal de transaction.La stratégie de sauvegarde de base de données complète peut être mise en oeuvre si la taille de la base de données est de petite taille,si elle comporte peu de modification ou si elle est en lecture seule.


b.Sauvegarde journal de transaction

La sauvegarde du journal de transaction enregistre les modifications effectuées dans la base de données.Ce type de sauvegarde peut être effectué aprés la création d'une sauvegarde complète.

c.Sauvegarde de fichiers journal en plein défaillance

Elle permet d'éviter la perte de données en conservant en enchainement de journal intact.Une chaine de journal est une séquence continue de sauvegarde de journaux commençant par une sauvegarde complète.

d.Sauvegarde différentielle

Elle peut être effectuée pour minimiser le temps nécessaire pour la restauration d'une base de données fréquemment modifiée.

e.Sauvegarde de fichiers ou de groupe de fichiers

Elle peut être effectuée si la taille de la base de données est importante et que la sauvegarde complète prend beaucoup de temps.

e)Sauvegarde partielle et partielle différentielle

Cette stratégie de sauvegarde est similaire à une sauvegarde complète.La diffèrence se pose sur le fait que la sauvegarde partielle ne comporte pas tous les groupes de fichiers.Ce type de sauvegarde enregistre uniquement des données du groupe de fichiers ayant subi des modifications depuis la sauvegarde partielle précédente.

f)Sauvegarde en copie seul

Elle correspond à la création d'une copie de la sauvegarde et sa conservation en lieu sûr.
Exemple de sauvegarde:Sauvegarde de base de données utilisateur
.Créer une unité de sauvegarde

use master exec sp_addumpdevice ‘disk’,‘AdventureWorksDWBackup’,’C:\AWbackup\AdventureWorksDWBackup.bak’

.Sauvegarde complète

backup database AdventureWorksDW to AdventureWorksDWBackupbackup database AdventureWorksDW to disk=‘C:\AWbackup\test\AdventureWorksDWBackup.bak’

.Sauvegarde différentielle

backup database AdventureWorksDW to disk= ’ C:\AWbackup\test\AdventureWorksDWBackup.bak’ with differential


.sauvegarde de fichiers ou groupe de fichiers

backup database AdventureWorksDW filegroup=‘AWFG1’ to AdventureWorksBackup

.Sauvegarde du journal des transactions

use master
exec sp_addumpdevice ‘disk’, ‘AdventureWorksDWLog’,’C:\AWbackup\AdventureWorksDWBackupLog.bak’



V. GESTION DE SECURITE

Ce module explique comment gérer des entités de sécurité,des éléments sécurisables et des autorisations et comment implémenter le chiffrement dans une base de données SQL Server
SQL Server 2005 fait appel à 3 mécanisme pour la sécurité:

-le mécanisme d'authentification

-le mécanisme d'autorisation

-le mécanisme de validation

Trois composants interviennent dans la sécurité:
-les entités de sécurité

-les sécurisables

-les autorisations

1)Les entités de sécurité

Ce sont des composants logiques ou les entités logiques qui doivent accéder aux ressouces de SQL Server 2005.On les localise à 3 niveaux:
-niveau OS Windows

-niveau serveur

-niveau base de données

*Entités au niveau de OS Windows:

Ce sont les comptes d'utilisateurs locales,comptes d'utilisateurs de domaines et les groupes Windows.
*Entités au niveau SQL Server 2005:

A ce niveau on a les identifiants d'accès SQL Server, c'est un ensemble d'identité d'utilisateurs enregistrés et authentifié par SQL Server (les rôles SQL Server constituent un ensemble de connexions d'accès ayant des authorisations similaires).
*Entités au niveau de la base de données

Nous avons:
-les utilisateurs de base de données: ce sont les comptes d'accès ayant l'autorisation d'accès à une base de données

- le rôle de base de données ayant des droits d'accès similaires

-le rôle d'application :c'est un rôle utilisé pour accéder à une base de données.
2)Les sécurisables

Se sont des objets auxquels accèdent les entités de sécurité telles qu'une base ou encore un service de base de données.
*Au niveau de Windows il va s'agir de fichiers et de clés de régistre utilisées par SQL serveur.

*Au niveau SQL serveur:Se sont des hiérarchies imbriquées appelées Portées.
On a une:
-Portée serveur:inclut des connexions d'accés d'une base de données et des points de terminaison créés au niveau du serveur.

-Portée de base de données: inclut des objets tels que les utilisateurs des rôles
d'applications ,assemblages , des catalogues de texte intégral, des chemins et des événements .

-Portée schéma: inclut les objets de base de données tels que des tables, des vues, des procédures, des fonctions et des types de contenu dans un chemin.

3)Les autorisations

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

4)Création de connexion d'accés et d'utilisateurs

Pour pouvoir créer une connexion d'accés on utilise l'instruction CREATE LOGIN

Etude de cas
Vous êtes l'administrateur de base de données de la société "yelinyan", le développeur Boubacar Zemekis vient d'être engagé par l'entreprise.un nom de connexion doit être crée pour lui donner l'accés au serveur SQL. Le compte d'accés de Bouba doit comporter les paramètres suivants.
-nom de connexion:boubacar
-nom d'utilisateur:boubacarz
-mode d'authentification:SQL serveur -mot de passe:esp
-stratégie de mot de passe:activé
-Base de données par défaut:Adventureworks
Langue:Par défaut
Boubacar doit être autorisé à visualiser toutes les tâches du schéma production.

Tâche 1: Création de connexion d'accésTâche 2:Création de compte utilisateur
Tâche 3: Assignation d'autorisation
Ceci permettra à boubacar de visualiser toutes les tables "production" et d'en faire le propriétaire de ce schéma.

5)Affectation de rôle

Un rôle est un objet de base de données auquel un ensemble d'autorisations sont octroyées. Les types de rôle:
*rôles de base de données fixe
*rôles de base de données définie par l'utilisateur
*rôles d'application

-rôles de base de données fixe:

Ils sont définis au niveau de la base de données et existent dans chaque base de données

db_accessadmin
Ajouter, supprimer les utilisateurs des groupes et des rôles de base de données

db_backupoperator
Effectue les opérations de sauvegarde de la base de données.

db_datawriter
Ajoute, modifie ou supprime les données d’une table quelconque.

db_ddladmin
Ajoute, modifie et supprime les objets de la base de données.

db_denidedatareader
Restreint la lecture des données d’une table quelconque.

db_denidedatawriter
Restreint la modification des données d’une table quelconque.

db_owner
Réalise une activité quelconque de rôle de base de données.

db_securityadmin
Crée des schémas, change les rôles de base de données et les rôles d’application.
db_Public
Maintien les autorisations par défaut.

- Rôles de base de données définie par l'utilisateur

Il est possible de créer ses propres rôles de base de données ou grouper plusieurs utilisateurs et leur assigner un ensemble commun d'autorisations.Ceci permet de configurer un ensemble d'autorisations à assigner à des utilisateurs d'une base de données. L'instruction Transact-SQL qui permet la création de rôle est CREATE ROLE.

- Rôles d'application
Un rôle d'application est une entité de sécurité de base de données qui permet à une application de fonctionner avec ses propres privilèges.L'instruction permettant de le créer est CREATE APPLICATION ROLE.

6) Assignation de rôle aux utilisateurs de base de données

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

-Affectation d'autorisation

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

- Octroi d'autorisations au niveau du serveur

Au niveau du serveur de base de données des autorisations peuvent être octroyées aux connexions d'accés.Elles peuvent être autorisées à accéder à certaines objets de serveur ou accomplir des activités au niveau du serveur tels 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:
CREATE ANY DATABASE
ALTER ANY ENDPOINT
ALTER ANY LOGIN
CREATE ANY DATABASE
CREATE ANY ENDPOINT
SHUTDOWN
VIEW ANY DATABASE
VIEW ANY DEFINITION
VIEW SERVER STATE
- Octroi d'autorisations au niveau de la base de données

Au niveau de la base de données, les utilisateurs doivent pouvoir créer des activités telles que:
1-la création d'un schéma: CREATE SCHEMA
2-les autorisations octroyées aux éléments sécurisables tels que les utilisateurs,les schémas,les assemblages et les objets service broker.
CREATE SERVICES;CREATE ASYMETRIC KEY;CREATE SYMMETIC KEY; CREATE CERTIFICATE ;CREATE CONTACT ;CREATE QUEUE; CREATE ROLE ;CREATE MESSAGE TYPE
Exemple:USE Adventureworks GRANT SELECT ON schema :: Production to Boubacar.

-Octroi d'autorisation au niveau des schémas

Au niveau des schémas, les autorisations peuvent être octroyées pour les éléments sécurisables tels que: les tables, les vues, les procédures stockées, et les types.Les autorisations sont les suivantes:
CREATE TABLES, CREATE FUNCTION, CREATE VIEW, CREATE PROCEDURE, DELETE, EXECUTE, INSERT, ALTER ANY USER.
*Révocation d'autorisations Exemple: REVOKE ALTER ON schema::sales from Boubacarz
*Chiffrement des données
En plus de restreindre l'accés à la base de données et aux objets de la base de données.Il est possible d'ajouter une couche de sécurité supplémentaire en chiffrant les données. Si les données sont chiffrées, elles restent sécurisées même si un utilisateur non autorisé accéde à la base de données.Les données et objets de base de données entiers tels que les procédures ou les fonctions peuvent être chiffrées à l'aide de clé de certificat.
7) Création de clé

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

1-une clé symétrique est une valeur utilisée aussi bien pour le chiffrement que pour le déchiffrement de données.Pour créer une clé symetrique on utilise l'instruction
create symmetric key symkey with algorithm=TRIPLE_DES encryption by password='mot de passe'.

2-clé asymétrique: ceate asymetric asymkey with algorithm="mot de passe"

8) Création de certificat

Un certificat peut être utilisé dans une base de données SQL serveur pour ajouter une signature digitale à un objet de base de données tel qu'une procédure stockée ou une fonction.
Exemple: USE Adventureworks CREATE CERTIFICATE Aw CustCert encryption by password='mot de passe' with subject='text for Adventureworks customers' start_date='01/04/2008' expiry- date='09/04/2008'

Etude de cas
Vous êtes administrateur système de la société KPAMIN.Le nouvel employé Mayoro Ndiaye a été engagé par l'entreprise, une connexion d'accés doit être créée pour lui permettre d'accéder au serveur SQL.Le compte d'accés du nouvel employé requiert les paramètres suivants:

Nom d'accés: Mayoro
Mot de passe:espdb
Stratégie de mot de passe:Activé
stratégie d'expiration de mot de passe:Activé
L'utilisateur doit changer de mot de passe à la prochaine connexion:Désactivé
Base de données: Adventureworks
Langue par défaut:Français

Mayoro doit être capable d'assurer les tâches suivantes dans la base de données AdventureWorks:

1-creer des tables, des vues et des procédures;

2-doit modifier les données dans les tables;

3-doit travailler sur le schéma production de la base de données Adventureworks .

Pour se faire, on doit lui permettre de créer des objets de base de données et des procédures stockées.

VI. CONCLUSION

Microsoft SQL Server 2005 fournit les outils dont les développeurs ont besoin pour construire de nouvelles catégories d'applications de base de données. En supprimant les barrières entre l'exécution du code et le stockage des données, et en intégrant des standards comme XML, SQL Server 2005 ouvre de larges possibilités au développeur de base de données. Ce cours n'est qu'une brève description de ce que vous serez en mesure de réaliser avec SQL Server 2005.