begin process at 2012 05 27 05:11:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Débutant(s)

 > 

Rollback SQL Server


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Rollback SQL Server

mercredi 8 septembre 2010 à 09:55:51 | Rollback SQL Server

poueted

Bonjour,

Ce matin, j'ai été un peu trop vite, et j'ai delete certaines données dans une base sql server 2k8.

Parait-il qu'un ROLLBACK peut recréer les données que j'ai effacé.

Mais d'autre utilisateurs bossent sur la base depuis ce matin, du coup je me demande si ce qu'ils ont fait ne sera(i?) pas effacé.

En gros, le rollback concerne-t-il uniquement les requetes de la connexion en cours ?

Merci pour votre aide..
mercredi 8 septembre 2010 à 10:22:52 | Re : Rollback SQL Server

casy

Membre Club
Le rollback ne concerne que les requêtes dans la transaction en cours.

Si malheureusement tu n'as pas mis tes requêtes dans une transaction, tu ne pourra pas faire de rollback. Il doit être fait avant la fermeture de la transaction
En l'absence de transaction, une transaction est automatiquement créée pour chaque requete exécutée mais celle-ci est automatiquement fermée soit par un commit si tout va bien, soit par un rollback, s'il y a une erreur, mais dans les 2 cas toujours avant de rendre la main à l'utilisateur.

Le seul moyen de revenir en arrière serait de restaurer une sauvegarde de la base à la date de hier soir (ou de ce matin avant ton intervention). Bien entendu tout ce qui a été fait depuis serait perdu

Sinon, il ne te reste plus qu'à ressaisir les données effacées

---- Sevyc64 (alias Casy) ----

# LE PARTAGE EST NOTRE FORCE #
mercredi 8 septembre 2010 à 10:48:37 | Re : Rollback SQL Server

poueted

Salut, merci pour ta réponse.

En effet, j'ai trop espéré d'un sgbd M$ a 6000 ¤ : D

je vais essayer de restaurer via une sauvegarde d'hier dans une nouvelle bdd, de récup les données et de les recréer à la main.

Merci pour ton explication !
mercredi 8 septembre 2010 à 10:57:20 | Re : Rollback SQL Server

casy

Membre Club

En effet, j'ai trop espéré d'un sgbd M$ a 6000 ¤


Quand tu fais une connerie sur la route et que tu cartonne ta voiture, quelque soit son prix tu n'espère pas non plus qu'elle ait une fonction pour revenir en arrière

---- Sevyc64 (alias Casy) ----

# LE PARTAGE EST NOTRE FORCE #
mercredi 8 septembre 2010 à 11:05:11 | Re : Rollback SQL Server

poueted

Certes, mais quand tu met des sous dans une tuture, t'espère qu'elle ai des airbag ou autre pour réduire les dégats. On parle de programmation là, quand on a la prétention de faire un produit de qualité.... Après je me trompe peut-être, mais au final, un bon mysql et on économise 6k pour un produit de même qualité.
mercredi 8 septembre 2010 à 11:10:51 | Re : Rollback SQL Server

casy

Membre Club
Oui, peut-être mais même avec MySQL si tu fait la même manip, tu aura le même résultat.

Le problème dans le cas présent ne vient pas du produit mais de celui qui l'a utilisé.

Le produit n'a fait qu'exécuter les instructions qui, pour lui, étaient correctes, sinon tu aurais eu une erreur. Le produit, quel qui soit, ne peut pas savoir que, Toi, tu ne devais pas effacer ces données là.


---- Sevyc64 (alias Casy) ----

# LE PARTAGE EST NOTRE FORCE #
mercredi 8 septembre 2010 à 11:13:10 | Re : Rollback SQL Server

poueted

Me semble avoir vu qu'Oracle le faisait non ? Par un système d'écriture de données dans une espace en boucle, effaçant "réellement" certaines données qu'au bout d'un certain temps ?
mercredi 8 septembre 2010 à 11:27:14 | Re : Rollback SQL Server

casy

Membre Club
Je ne me prononcerais pas sur Oracle que je ne connais pas, mais la plupart des SGBD performants fonctionnent de la sorte. Les modifications de la base ne sont pas écrites directement sur la base elle même, elles sont stockées dans un tampon, pour SQLServer, on appelle ça "Journal". Les modifications étant réellement inscrite dans la base lorsque les conditions le permettent. Ça peut-être quelques secondes, minutes, ou plusieurs heures après.

Cela n'empêche, que, même si les modifications ne sont pas faites directement sur la base, elles sont considérées comme faite par le moteur du SGBD, car pour ce moteur, la base de données, c'est la base physique + les journaux.

A ma connaissance, en SQLServer, il n'est pas possible de défaire les instructions dans un journal.
Et j'imagine que cela doit être la même chose sous Oracle.

De toute façon, au mieux si c'était possible, tu perdrais tout ce qui a été fait après la manip que tu veux annuler.

---- Sevyc64 (alias Casy) ----

# LE PARTAGE EST NOTRE FORCE #
lundi 13 décembre 2010 à 20:41:48 | Re : Rollback SQL Server

nivsql

Déjà on ne parle pas du SGBD mais des outils qui y sont associés.
Les outils Oracle ne créent tout simplement pas de Transaction implicite, donc si tu oublie de passer un ordre COMMIT il ne se passe rien et les locks posé sur la table reste jusqu'a un commit ou un rollback, autant dire qu'il m'est arrivé souvent de killer des users (pour rollbacker leurs transaction) qui etaient parti déjeuné sans faire de commit ou de rollback et bloquaient tous leurs collegues.
Le parti pris de SQL Server est d'ouvrir une transaction implicite qu'il termine par un commit ou un rollback pour eviter ce genre de situation.

Dans les 2 cas, un utilisateur averti peut soit activer (cas d'Oracle) soit désactivé (cas SQL Server Management Studio) ce qu'on appel vulgairement l'autocommit.
Pour les Outils tournant autour de SQL SERVER un petit SET IMPLICITE_TRANSACTION OFF et c'est réglé, tu peux bloquer tes collegues ad vitam eternam via tes requetes update/delete tant que tu n'aura pas ecrit et executer un commit tran ou rollback tran.
lundi 13 décembre 2010 à 20:48:38 | Re : Rollback SQL Server

nivsql

Quand au cas MySQL ... ne confondons pas les legos Technics(Oracle/SQL Server/Postgres si on veux regarder dans le gratuit) et les Duplo(MySQL) merci... Je ne dirais rien de plus sur MySQL en dehors du fait que ce "truc" est une parfaite hérésie, totalement minable, créateur d'ignominie sans nom.

(Pour info j'ai pris violament en grippe MySql suite a cette discussion : http://www.sqlfr.com/forum/sujet-COMMENT-FAIRE-COUNT-SANS-GROUP-BY-INTERMINABLE_1348349.aspx . Quand un moteur se veut relationnel et SQL tolérer des syntaxe abéhrante est tout bonnement inadmissible.)


Cette discussion est classée dans : données, sql, server, rollback, matin


Répondre à ce message

Sujets en rapport avec ce message

liaison de données dans SQL Server [ par titoune76 ] Comment faire dans SQL Server pour créer une vue selectionnant plusieurs champs de plusieurs tables (jusque la pas de pb), ces tables se situant dans Lignes et colonnes [SQL-server] [ par paf le chien ] Bonjour à tous, je vous présente mon petit problème : J'ai des fichiers au formats CSV qui contiennent des données. Je veux stocker ces données dans Réplication SQL Server 2000 [ par white_mage ] Hello tout le monde.... J'ai un gros problème avec une réplication avec fusion sur SQL server 2k. J'espère que quelqu’un pourra m’aider…..J’ai une rép Duplication de données [ par erwan35 ] Bonjour à tous,Je vais mettre en place dans mon entreprise un logiciel dont les données proviendront d'une base de données SQL SERVER EXPRESS 2005.La Sql server utf-8 [ par dirthangel ] Salut a tous je travaille actuellement sur une application Perl , j'utilise comme base de données Sql server 2005 j'ai besoin d'y stocker des données Problème de connexion SQL SERVER 2005 / FREEBOX [ par marcofelipe ] Bonjour,Voila mon problème : J'ai créé une base de données sur SQL SERVER 2005 pour créer une application sur un serveur d'application et pourvoir l'u les sauvegarde de base de données [ par ghano81 ] bonjour jé créer  une base de données en sql server 2005,japplique sur ces tables des operations (ajout ,modification , suppression ) ce qui m'interes Lien entre SQL Server 2005 et MySQL [ par Edohan ] Voilà, je travaille actuellement sur une solution de workflow basée sur une Base de Données SQL Server 2005. J'ai en parallèle des Base de Données so Accès SQL Server - SSPI [ par cuttysark ] Bonjour,L'application est un ERP qui accède à la base de données ACCESS.Suite à une modification de code pour une utilisation possible de la base SQL Comment sauvegarer une base de données en SQL server 2005 Express [ par cybercop ] bonjour jé créer  une base de données en sql server 2005,alors je ne sais pas comment faire sauvegarder la base pour trransferer un autre PC avec la s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales