Beruflich Dokumente
Kultur Dokumente
fr
Gestion des
Sauvegarde
s sous Ms
Sql Server
2000
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Sommaire
Introduction
1. Pourquoi Sauvegarder ?
2.1 Généralités
2.2 Les différents supports de sauvegarde
2.3 Les moments appropriés pour sauvegarder
2.3 Création des unités de sauvegarde
2.4 Création des sauvegardes
4. Quelques Conseils
Conclusion
Introduction
Objectifs
Microsoft SQL Server® 2000 est un système de gestion de bases de données relationnelles.
Il a l'avantage d'être puissant, multi-utilisateurs et il permet de supporter un volume
important de données. Ce SGBDR est souvent utilisé dans un environnement de production
en entreprise. C'est pourquoi il est important de réfléchir et d'appliquer une solution de
sauvegarde des différentes bases de données. Une entreprise ne peut en effet en aucun cas
se permettre d'avoir une interruption de services au niveau d'une base de données en cas
de défaillances partielles ou complètes de celle-ci.
Ce document a donc pour objectif de vous décrire l'importance de la sauvegarde des bases
de données dans un milieu professionnel et de vous montrer les différentes méthodes qu'un
administrateur de base de données dispose pour préserver les données de l'entreprise dans
un environnement de production.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
1. Pourquoi Sauvegarder ?
De nos jours, les composants matériels et logiciels sont performants et beaucoup plus
fiables que par le passé. Cependant, aucun d'eux n'est parfait et la possibilité d'avoir une
défaillance n'est jamais nulle. Celle-ci peut-être provoquée par un événement extérieur.
Exemple :
Toutes ces situations peuvent entraîner des pertes de données des différentes bases
défaillantes et provoquer l'arrêt de la production, ce qui peut être dans certains cas très
préjudiciable pour une entreprise.
C'est pourquoi il est important de sauvegarder efficacement les bases de données afin de
remettre le plus rapidement possible le serveur en production en minimisant la perte
éventuelle de données.
2.1 Généralités
Avant de restaurer une base de données, il faut bien évidemment la sauvegarder au
préalable.
•Un administrateur peut effectuer une sauvegarde de base de données lorsque SQL
Server est en cours d'utilisation. Toutefois, dans les différents cas suivants, il faut
éviter d'effectuer des sauvegardes :
• Lors de la création ou la modification d'une base de données.
• Lors de l'exécution d'opérations de croissance automatique.
• Lors de la création d'index.
• Lors du compactage de la base de données.
• Lors de l'exécution d'opérations non journalisées.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
• La sauvegarde peut être lancée soit en utilisant des scripts TRANSACT-SQL, soit en
utilisant Enterprise Manager. Pour pouvoir effectuer des sauvegardes, vous devrez
être membre de l'un des 3 rôles suivants :
•sysadmin (rôle fixe de serveur).
•db_owner (rôle fixe de base de données).
•db_backupoperator (rôle fixe de base de données)
SQL Server met à votre disposition 3 types de supports pour effectuer vos sauvegardes :
Dans la mesure du possible, effectuer 2 sauvegardes identiques lorsque vous faites une
opération de sauvegarde. En effet, vous pourrez ainsi limiter les risques d'incidents qui
peuvent subvenir. De plus, essayez dans la mesure du possible de ne pas centraliser les
sauvegardes dans le même lieu géographique.
La stratégie que vous allez mettre en place va dépendre pleinement du volume de données
que vous être prêt à perdre lorsqu'une défaillance quelconque survient au niveau du
serveur de base de données. Toutefois, il est conseillé d'effectuer des sauvegardes dans
différents cas.
La base de données MASTER contient des informations sur toutes les bases de données
présentes sur le serveur. Si suite à une défaillance, vous devez effectuer la réinstallation
complète du serveur, la base de données Master devra donc être restaurée en premier pour
que l'administrateur puisse par la suite restaurer les bases de données utilisateurs.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Dès lors que vous modifiez les bases de données Msdb et Model, vous devrez les
sauvegarder.
La base de données Msdb contient toutes les informations concernant les travaux, les
alertes et les opérateurs que vous avez crées sur le serveur de bases de données. Ainsi, si
cette base de données n'est pas sauvegardée, vous devrez recréer tous vos objets.
La base de données Model contient quand à elle le modèle de la création d'une nouvelle
base de données. C'est pourquoi son rôle est important et qu'elle doit être sauvegardée.
Les bases de données utilisateurs doivent également être sauvegardées régulièrement. Ces
opérations doivent se faire dans les cas suivants :
Afin d'effectuer des sauvegardes de bases de données, vous devez dans un premier temps
crée des unités de sauvegarde. Ce sont des conteneurs qui vont stocker une sauvegarde de
base de données.
Une fois que la procédure sp_addumpdevice est utilisée pour créer un fichier de
sauvegarde, il faut savoir
• que SQL Server crée les noms logiques et physiques dans la table sysdevices de la base
de données MASTER.
• qu'il est possible de créer au maximum 32 unités de sauvegarde.
Voici la syntaxe générale pour créer une unité de sauvegarde ainsi que 2 exemples
d'application :
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Si vous souhaitez n'effectuer une sauvegarde qu'une seule fois, il ne sera bien évidemment
pas nécessaire de créer une unité de sauvegarde. Vous pourrez dans ce cas utiliser le nom
du fichier de sauvegarde directement dans l'instruction Backup
Exemple :
Voici sa syntaxe :
Cette instruction dispose d'une multitude de commandes. Je vous invite donc à visiter la
MSDN pour plus de détails à l'adresses suivante :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ba-
bz_35ww.asp
Vous pourrez ainsi voir les options de sauvegarde sur bande, les options pour sauvegarder
sur des disques multiples ...
Enfin, sachez que pour une gestion facilitée de votre stratégie, vous pourrez effectuer une
planification de travaux pour gérer vos différentes sauvegardes.
Dans le cadre des sauvegardes de votre base de données, vous devrez avoir fait
préalablement au minimum une sauvegarde complète de votre base de données. En effet,
ce type de sauvegarde sert de point de référence en cas de défaillance d'une base de
données.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Exemples d'application :
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Vous devrez obligatoirement avoir fait une sauvegarde complète pour pouvoir effectuer ce
type de sauvegarde. La sauvegarde complète étant la référence.
•Si une base de données devient défaillante, vous pourrez tout de même effectuer
l'instruction BACKUP LOG en utilisant l'option NO_TRUNCATE. Dans ce cas, le journal de
transactions sera sauvegardé normalement, depuis la dernière instruction BACKUP LOG
valide.
•Il existe une multitude d'options pour l'instruction BACKUP LOG. En l'occurence, les options
TRUNCATE_ONLY et NO_LOG permettent de tronquer la taille du journal de transactions
sans en faire la sauvegarde. Il est primordial de tronquer le journal de transactions de
temps en temps afin d'éviter qu'il atteigne une taille trop importante. Sachez que si le
journal de transactions est plein, les modifications apportées à la base de données ne
seront pas journalisées et vous ne pourrez donc pas les restaurer complètement en cas de
défaillance. Vous pouvez donc tronquer le journal de transactions en effectuant soit une
sauvegarde complète, soit en utilisant l'instruction BACKUP LOG WITH TRUNCATE_ONLY
ou BACKUP LOG WITH NO_LOG.
Exemple d'application :
Si la sauvegarde des journaux de transactions est réalisée dans un temps acceptable, cette
stratégie s'avèrera très efficace car elle limitera le risque de perte de données et optimisera
ainsi le temps de restauration en cas de défaillance du serveur de base de données.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Afin de réduire le temps de sauvegarde sur une base de données qui est fréquemment
utilisée, vous pourrez effectuer une sauvegarde différentielle.Celle ci s'effectue plus
rapidement qu'une sauvegarde complète. Toutefois, comme dit précédemment, une
sauvegarde complète devra avoir été faite pour servir de point de référence.
• Toutes les parties de la base de données qui ont changé depuis la dernière sauvegarde
complète.
• Toutes les instructions survenant pendant l'opération de sauvegarde ainsi que les
transactions ouvertes du journal de transactions.
Exemples d'application :
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Cette stratégie ne sera pas détaillée dans ces moindres détails dans la mesure où son
utilisation dépendra grandement de vos besoins au niveau de la base de données.
*:
Une sauvegarde complète est effectuée le lundi.
Les journaux de transactions sont sauvegardés périodiquement au cours de la semaine.
Les fichiers de données sont sauvegardés cycliquement.
4. Quelques Conseils
Afin d'améliorer les sauvegardes de façon générale, voici quelques considérations que vous
devrez prendre en compte lors du déploiement de votre stratégie :
• Lorsque vous effectuez la sauvegarde sur des contrôleurs de disques multiples, celle-ci
sera beaucoup plus rapide.
• Le temps nécessaire pour accomplir une sauvegarde de base de données est variable et
va dépendre de la performance de votre matériel (disque dur , lecteur de bande ...).
• De façon générale, la sauvegarde sur un disque dur est plus performante que sur un
lecteur de bande.
• Dans la mesure où la sauvegarde demande des ressources système au niveau disque,
processeur ..., les utilisateurs de base de données peuvent rencontrer une baisse de
performance au niveau du serveur de bases de données. C'est la raison pour laquelle, il
sera préférable d'effectuer les sauvegardes lorsqu'il y aura peu d'activité au niveau du
serveur.
www.udivers.com tssri-reseaux@hotmail.fr
www.udivers.com tssri-reseaux@hotmail.fr
Afin d'éviter de sauvegarder des bases de données corrompues, il est impératif de vérifier
l'intégrité des données avant d'effectuer des sauvegardes de bases de données. La raison
est simple : si une base de données corrompue a été sauvegardée, la restauration sera
compromise si cette base venait à être défaillante ultérieurement ...
Pour éviter ce genre de désagrément, je vous invite donc à vérifier la cohérence des bases
de données en utilisant des commandes DBCC. Sur la MSDN, vous pourrez trouver une
multitude d'information sur ces commandes à l'adresse suivante :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_dbcc_217n.asp
Si vous avez une erreur qui est retournée par une de ces commandes, cela veut peut-être
dire que l'une des bases de données est corrompues, auquel cas, celle-ci devra être
restaurée dans les plus brefs délais afin d'éviter des désagréments.
Enfin, il est conseillé de tester la validité de ses sauvegardes de temps en temps. Ainsi, sur
un serveur de test, vous pourrez restaurer les différentes sauvegardes et vérifier que celle-
ci sont correctes. Ceci permettra d'éviter des pertes de données non négligeables pour une
entreprise en cas de problèmes au niveau du processus de sauvegarde.
Conclusion
Ce document vous a donc permis de vous rendre compte que les sauvegardes sont un
élément essentiel pour administrer de façon optimal un serveur de bases de données. Les
méthodes que vous choisirez pour sauvegarder vos bases de données vont donc
directement conditionner les données de votre entreprise.
www.udivers.com tssri-reseaux@hotmail.fr