mardi 13 mai 2008

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".

Aucun commentaire: