Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Data & IA
  3. Bases de données modernes
  4. Sauvegardes partielles sous SQL

Sommaire

Tech stories

  • Tech Stories

    DEVOPS REX 2026 : deux jours pour confronter les pratiques DevOps aux réalités du terrain

  • Tech Stories

    Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

Bases de données modernes Tech

Sauvegardes partielles sous SQL

Par

Karen Delanay
24 juin 2010
4 minutes

Lors des forums d’aide au public de SQL Server, une question revient souvent : « Comment puis-je récupérer une seule des tables de ma base de données ? ». La reprise d’une seule table peut s’avérer nécessaire si quelqu’un émet une instruction UPDATE ou DELETE inappropriée qui modifie une quantité appréciable des données de la…

Sommaire

La commande LOAD TABLE est le mécanisme de SQL Server 6.5 pour restaurer des données en provenance d’une table. Les données de la table peuvent provenir d’un fichier de sauvegarde ou simplement de cette table, que l’on crée en utilisant la commande DUMP TABLE, ou une sauvegarde de base de données complète. Mais cette possibilité de restauration d’une seule table n’est pas aussi utile qu’il y paraît. Pour faire une sauvegarde d’une table, il faut anticiper la nécessité de sa restauration. Si la base de données est constituée de centaines de tables, il faut savoir lesquelles sont le plus susceptibles d’avoir besoin d’une reprise individuelle. Ou plutôt que de décider quelles tables il faut sauvegarder, on peut décider de sauvegarder chaque table individuellement. Mais, le temps, l’espace et les ressources administratives nécessaires pour gérer de telles sauvegardes risquent de rendre cette technique encore moins pratique que la restauration pure et simple de toute la base de données.

Autre possibilité quand on utilise SQL Server 6.5 : restaurer la table à  partir d’une sauvegarde de base de données complète. Cette solution semble idéale : on possède probablement des sauvegardes de base de données complètes, et donc les opérations de sauvegarde ne demandent aucun temps, espace ou ressources administratives supplémentaires. Mais, cette solution présente un grave inconvénient : les données d’une table dans un fichier de sauvegarde de la base de données ne seront pas forcément cohérentes d’un point de vue transactionnel, et donc, si l’on restaure simplement les données provenant d’une seule table, elles risquent d’être incohérentes et de refléter une transaction en cours. Supposons, par exemple, que pendant qu’une opération de base de données se déroule, on émette la transaction suivante dans une version bien plus grande de la base de données Pubs :

UPDATE titres
SET prix = prix * 0.80

Cette instruction a pour but de mettre à  jour le prix de chaque titre dans la table titres avec une diminution de prix de 20 %. L’opération de sauvegarde dans SQL Server 6.5 tente de sauvegarder chaque page dans l’ordre des numéros de pages, mais les pages d’une table ne sont pas forcément dans un ordre particulier. Supposons que la table titres occupe les pages 100 à  200 et les pages 800 à  1.000 dans la base de données. L’opération de sauvegarde pourrait fort bien écrire les pages 100 à  200 sur l’unité de sauvegarde avant que l’instruction UPDATE ne démarre. Et donc, ces pages garderaient les prix originaux. Ensuite, quand la file de sauvegarde écrit les pages 201 à  799, SQL Server met à  jour toute la table conformé-ment à  l’instruction ci-dessus. Donc, au moment où la file de sauvegarde écrit les pages 800 à  1.000, ces pages contiennent les nouvelles valeurs de données mises à  jour. De ce fait, la table titres dans la sauvegarde complète est maintenant incohérente sur le plan des transactions. Si quelqu’un effectue une opération LOAD TABLE pour la table titres, certaines lignes contiendront les valeurs de prix originales et d’autres contiendront les valeurs mises à  jour. Par conséquent, SQL Server 6.5 ne peut pas garantir que les transactions sont atomiques -c’est- à -dire que soit toutes les modifications se produisent, soit aucune d’elles ne se produit.

Cependant, si personne n’effectue une opération LOAD TABLE, les données de table incohérentes ne posent pas de problème, parce que la sauve-garde de base de données complète contient aussi une partie du journal des transactions. Si l’on restaure toute la base de données (plutôt qu’une table), SQL Server effectuera le même processus de reprise qu’il le fait chaque fois qu’il démarre. Pendant la reprise, SQL Server compare les transactions dans le journal avec les données dans la base de données. Il détectera que certaines pages dans la table titres ne sont pas à  jour et il répercutera en avant les modifications sur les lignes des pages 100 à  200. Quand le processus de reprise sera terminé et que la base de données sera entièrement restaurée, la table titres sera cohérente sur le plan transactionnel et toutes les lignes refléteront les valeurs modifiées par l’instruction UPDATE. En raison de ces lacunes dans la possibilité qu’a SQL Server 6.5 de sauvegarder et de restaurer une seule table, SQL Server 2000 et 7.0 n’ont pas cette possibilité. Dans ces releases, Micro-soft donne le moyen de sauvegarder et de restaurer des fichiers et de groupes de fichiers.

Tech Stories

DEVOPS REX 2026 : deux jours pour confronter les pratiques DevOps aux réalités du terrain

Comment déployer une démarche DevOps efficace, sécuriser ses processus de développement et maîtriser les coûts de ses infrastructures ? Les 9 et 10 décembre 2026, DEVOPS REX réunit les professionnels…

Lire l'article : DEVOPS REX 2026 : deux jours pour confronter les pratiques DevOps aux réalités du terrain

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

Karen Delanay

Rédigé par Karen Delanay

Karen Delanay est un professionnel IT et rédacteur sur iTPro.fr : Découvrez ses articles informatique

Tous ses articles →

Bases de données modernes

À lire également...

  • BYOD - Les atouts cachés du Bring Your Own Model pour les entreprises - iTPro.fr
    Bases de données modernes

    Les atouts cachés du Bring Your Own Model pour les entreprises

    Par

    Sabine Terrey
    25 octobre 2024
    4 minutes
  • Change Data Capture pour les entreprises qui réussisent
    Bases de données modernes

    Le Change Data Capture est l’avenir des entreprises qui réussissent

    Par

    Sabine Terrey
    22 mars 2024
    4 minutes
  • comment_Migrer_vos_bases_de_donnees_dans_le_cloud
    Bases de données modernes Cloud & Infrastructure

    Migration des bases de données dans le cloud : mode d’emploi

    Par

    Sabine Terrey
    9 janvier 2023
    4 minutes
  • Bases de données modernes Cloud & Infrastructure

    Pourquoi migrer ses bases de données dans le Cloud 

    Par

    Sabine Terrey
    12 décembre 2022
    6 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}