> Tech > Restauration partielle

Restauration partielle

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

SQL Server 2000 ajoute à  l'opération de restauration une autre possibilité qui permet de faire une restauration partielle d'une base de données dans des cas spéciaux. Dans SQL Server 2000 Books Online (BOL) la description et la syntaxe pour une restauration partielle paraissent semblables à  celles des sauvegardes de fichiers

Restauration partielle

et de groupes de fichiers. Pourtant, la restauration partielle présente une différence importante. Dans le cas des sauvegardes de fichiers et de groupes de fichiers, on commence avec une base de données complète et on remplace un ou plusieurs fichiers ou groupes de fichiers par les versions sauvegardées auparavant. Dans le cas d’une restauration de base de données partielle, on ne démarre pas avec une base de données complète. On restaure les groupes de fichiers individuels – y compris le groupe de fichiers primaire qui contient toutes les tables système – dans un nouvel emplacement, créant ainsi une nouvelle base de données qui contient un sous-ensemble de la base de données originale. Les éventuels groupes de fichiers non restaurés n’existent pas dans la nouvelle base de données et SQL Server les traite comme OFFLINE quand on essaie de référencer les données qu’ils contiennent. On peut ensuite restaurer les sauvegardes de journaux ou les sauvegardes différentielles pour mettre à  jour les données dans ces groupes de fichiers, avec les modifications récentes.

Ce processus de restauration partielle donne la possibilité de récupérer les données à  partir d’un sous-ensemble de tables après suppression ou modification accidentelle des don-nées de la table. On peut utiliser la base de données partiellement restaurée pour extraire les données de la table perdue ou endommagée et la recopier dans la base de données d’origine. Quand on effectue une restauration partielle, il faut toujours restaurer le groupe de fichiers primaire qui contient toutes les tables système. Quand on restaure le groupe de fichiers primaire, toutes les tables système sont restaurées, même celles qui sont associées à  des fichiers non inclus dans l’opération de restauration. Donc, sp_help ou Enterprise Manager montrera les tables parce qu’elles existent dans la table système sysobjects, mais quand on essaie d’accéder à  une table sur un groupe de fichiers non restauré, on obtient un message comme celui-ci :

Server : Msg 8653, Level 16, State 1,
Line 1
Warning : The query processor is
unable to produce a plan because the
table ‘table2' is marked OFFLINE

Voyons un exemple de restauration partielle. Cette opération s’impose quand les bases de données sont trop volumineuses pour qu’on les restaure entièrement. Mais, pour cet exemple, nous allons créer une très petite base de données appelée testdb. On peut exécuter le code du Listing 1 pour créer une base de données sur trois groupes de fichiers : un groupe primaire et deux groupes définis par l’utilisateur, FG1 et FG2. Le code de Listing 1 crée également deux tables, une sur chaque groupe de fichiers défini par l’utilisateur, et insère une ligne de données dans chaque table. Vous pouvez bien entendu changer les chemins d’accès physiques des fichiers, pour tenir compte de l’endroit où votre instance de SQL Server 2000 est installée ou pour correspondre avec votre configuration de disque.

Après avoir créé et peuplé la base de données testdb, on peut la sauvegarder avec la commande suivante :

BACKUP DATABASE testdb TO DISK =
‘c:\backup\testdb.bak'
WITH INIT

Supposons maintenant que quelqu’un détruise la Table1 par mal-adresse ou par malveillance. On peut effectuer une restauration partielle de testdb en en créant une copie qui ne contient que le groupe de fichiers FG1, lequel contient Table1, et le groupe de fichiers primaire et le journal. Listing 2 montre une commande qui effectue une restauration partielle de testdb dans une nouvelle base de données appelée testdb_partial. Pour exécuter ce code, changez les noms de fichiers physiques ou les chemins d’accès conformément à  votre configuration système. On peut maintenant utiliser la procédure cataloguée sp_help pour examiner testdb_ partial ; notons que la base de données présente à  la fois une Table1 et une Table2. Il est possible de sélectionner dans Table1 et de voir les données, mais quand on sélectionne Table2, on obtient l’erreur 8653, vue plus haut.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010