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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- La bataille de la 6G se gagne dans la donnée en temps réel
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
