Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. SQL Server 2022
  3. Restauration
Extrait - SQL Server 2022 Apprendre à administrer un serveur de base de données
Extraits du livre
SQL Server 2022 Apprendre à administrer un serveur de base de données
1 avis
Revenir à la page d'achat du livre

Restauration

Vue d’ensemble du processus de restauration

La restauration représente l’opération inverse d’une sauvegarde. Le processus de restauration peut également être utilisé pour réaliser des migrations de bases de données utilisateurs. 

Cette opération peut être réalisée soit à l’aide des commandes Transact SQL (RESTORE) soit par l’intermédiaire de la console d’administration SQL Server Management Studio. Quelle que soit la base à restaurer, il est indispensable d’installer SQL Server pour remonter les données sur la machine.

Le simple fait de replacer les fichiers constituant les données et le journal ne constitue en aucun cas une restauration, puisque SQL Server n’est pas capable d’accéder à ces fichiers tant qu’ils ne sont pas référencés dans la base Master.

1. La restauration automatique

Ce processus intervient lors de chaque démarrage du serveur. Il s’assure que la dernière opération inscrite dans le journal est un point de synchronisation. Si ce n’est pas le cas, alors le journal est relu depuis le dernier point de synchronisation et toutes les transactions validées sont rejouées tandis que toutes les autres modifications sont annulées. Cette opération est nécessaire afin de garantir la cohérence des données.

2. Opérations exécutées automatiquement par SQL Server

SQL Server réalise automatiquement un certain nombre d’opérations afin d’accélérer le processus de restauration et de réduire au maximum le temps d’indisponibilité du serveur.

Le contrôle de sécurité

L’intérêt principal de ce contrôle de sécurité est de se prémunir...

Restauration des sauvegardes

Suivant la sauvegarde effectuée, la méthode de restauration va être légèrement différente.

1. L’instruction RESTORE

En mode Transact SQL, c’est l’instruction RESTORE qui permet de remonter une sauvegarde faite par SQL Server.

Exemple

Dans l’exemple présenté ci-dessous une restauration complète de la base Gescom est faite à partir des sauvegardes présentes dans l’unité de sauvegarde testSQL. L’option WITH REPLACE est précisée afin de confirmer l’écrasement de la base existante.

USE Master ; 
go 
RESTORE DATABASE GESCOM FROM testSQL WITH FILE = 1, NOUNLOAD, REPLACE, 
STATS = 5 
GO 

La commande RESTORE doit toujours être lancée depuis la base Master.

Pour restaurer le journal des transactions, il est nécessaire d’utiliser l’instruction RESTORE LOG qui possède un paramétrage similaire à celui de RESTORE DATABASE

Sur une base de données endommagée, la restauration permet de retrouver un ensemble cohérent de données. L’étape de restauration se charge de recréer automatiquement les fichiers et les objets de la base, sans pour autant qu’il soit nécessaire de supprimer la base de données auparavant.

2. Les options de l’instruction RESTORE

Il existe de nombreuses options sur l’instruction RESTORE, seules certaines sont détaillées ici.

Tout d’abord lorsque la restauration utilise plusieurs sauvegardes (une complète puis une différentielle et enfin celle des journaux de transactions) il est important que SQL Server ne rende pas la base accessible aux utilisateurs tant que la dernière restauration n’a pas été effectuée. Pour cela, l’instruction RESTORE propose les options...

Exercice : télécharger et restaurer la base exemple AdventureWorks

1. Énoncé

Télécharger la base exemple AdventureWorks depuis le site de Microsoft.

Restaurer cette base sur l’instance par défaut.

2. Corrigé

La base est disponible à cette adresse au moment de l’écriture de cet ouvrage : https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver16&tabs=ssms

Dans le cas où cette adresse n’existerait plus, le site de téléchargement se trouve facilement avec un moteur de recherche.

La base OLTP AdventureWorks existe en plusieurs versions, la dernière étant AdventureWorks2019 et est fournie dans un fichier .bak.

Lors de la restauration, il se peut que les dossiers sources de la base n’existent pas sur votre serveur. Il faudra donc utiliser l’option MOVE…TO :

restore database adventureworks2019 
from disk='c:\tp\adventureworks2019.bak' 
with move 'AdventureWorks2017' to 'c:\tp\AdventureWorks2019.mdf', 
    move 'AdventureWorks2017_log' to 'c:\tp\AdventureWorks2019.ldf'