Points de sauvegarde SQL

Il arrive à tous de faire des bêtises ou des fautes de frappes sur une requêtes SQL et cela peut avoir des conséquences. Cet article a pour but d'expliquer comment faire des points de sauvegardes de sa table pour pouvoir y revenir en cas de problème et ne pas tout perdre comme cela vient de m'arriver.

On commence par commencer une transaction :

BEGIN;

Puis on fait un point de sauvegarde commce ceci :

SAVEPOINT foo;

Maintenant vous pouvez vous amusez à "détruire" votre table avec des UPDATE par exemple.

Pour revenir au point de sauvegarde :

ROLLBACK TO SAVEPOINT foo;

On termine la transaction si tout est ok :

COMMIT;

Les informations concernant cet article peuvent être trouvé ici.

Posted in Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | printer friendly version | 9968 lectures

Posté par yjacolin le 16 Mars, 2007 - 10:28.

djay | 17 Mars, 2007 - 13:47

Salut Yves,
je me permets d'attirer ton attention sur le fait que ce ne sont pas des points de reprise pour une table mais des points de reprise pour une transaction.

Tu noteras au passage que je préfère la notion de points de reprise à celle de point de sauvegarde, simplement parce qu'un point de sauvegarde permet à une transaction, lors d'un rejet, de reprendre son cour à partir de ce point de reprise.

En effet dans les SGBD relationnels, la notion de point de reprise à été proposée dans la norme SQL, afin de garantir que l'ensemble des opérations effectuées avant le point de reprise soient effectives (du point de vue de la transaction), tandis que celle comprises entre le point de reprise défini et l'abandon seront annulées.

Pour conclure je dirais que, comme vous l'avez deviné, cela est très très utile lors de transactions de longue durée, pour permettre à la transaction de ne pas rejouer toute les opérations qu'elle contient mais uniquement celle qui suivent le point de reprise.

ps: je me suis permis de supprimer ce message de la section Linux, étant donné que cela n'a à mes yeux rien à voir avec le système d'exploitation sous-jacent.
--
Gérald Fenoy

yjacolin | 21 Mars, 2007 - 10:42

Merci Gérald,

J'ai été abusé par le terme anglais :-$

Y.

djay | 23 Mars, 2007 - 11:11

J'ai repensé à cela à l'instant et finalement le terme de point de sauvegarde me convient aussi dans le sens où l'ensemble des opérations efectuées avant ce point sont en quelque sorte sauvegardées, on pourrait être plus précis en disant que c'est l'état dans lequel se trouve la base qui est sauvegardé.

À mon avis, on doit donc pouvoir dire point de sauvegarde et point de reprise.

Accéder aux archives

« Mai 2024  
Lun Mar Mer Jeu Ven Sam Dim
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Ouverture de session

Qui est en ligne

Il y a actuellement 1 utilisateur et 28 invités en ligne.
Locations of visitors to this page
Drupal Top Sites - Ultimate Drupal Exposure