2010-06-06 13 views

Répondre

4

Non Si vous engage la transaction, la seule façon de restaurer la table originale est en obtenant à partir de votre dernière sauvegarde.

+0

J'ai entendu qu'il y a quelque chose dans le SQL Server, je suppose qu'il s'appelle le journal des transactions, qui contient toutes les transactions que j'ai faites, mais je ne suis pas sûr à ce sujet !! – sikas

+0

@sikas - Savez-vous quel est le modèle de récupération de votre base de données? –

+0

non je ne sais pas, comment puis-je le savoir? – sikas

1

si vous avez seulement une sauvegarde puis la restauration que dans une autre base de données et il suffit de déplacer la table sur (ainsi pas d'autres tables seront affectées). Si vous avez également des sauvegardes du journal des transactions, vous pouvez également faire un point dans le temps de restauration

+0

HOw puis-je trouver ces sauvegardes du journal des transactions? – sikas

+0

demandez à votre DBA ou a configuré cette base de données et la stratégie de sauvegarde – SQLMenace

+0

bien, je suis celui qui a installé le serveur SQL, je l'ai installé sur mon PC personnel pas une entreprise, mais je ne sais pas où trouver ou où sont ces journaux stockés! – sikas

1

J'ai entendu dire qu'il ya des outils qui pourraient être en mesure d'annuler certaines actions dans certaines circonstances. Voici un link à un article intéressant sur la façon de minimiser la perte de données dans ces circonstances et il comprend des liens vers certains outils.

Vous voudrez peut-être poser cette question à ServerFault ainsi que certains pourraient sysadmins mieux connaître.

-1

Vérifiez ce lien. Il montre comment restaurer les valeurs en utilisant journal des transactions

https://www.experts-exchange.com/articles/28199/How-to-recover-deleted-rows-in-SQL-Server.html

L'article montre comment nous pouvons récupérer les données supprimées si cela se produit accidentellement. Nous pouvons récupérer les lignes supprimées si nous connaissons l'heure à laquelle les données sont supprimées. Nous pouvons atteindre cet objectif en utilisant LSN (Log Sequence Numbers). Il montre un exemple de restauration des lignes supprimées en vérifiant le journal des transactions avec des valeurs LSN. Pour les mises à jour, utilisez "LOP_MODIFY_ROW".

Après suppression de lignes vérifiez le journal à l'aide de la requête suivante

Select [Current LSN] LSN], [Transaction ID], Operation, Context, AllocUnitName 
FROM 
fn_dblog(NULL, NULL) 
WHERE Operation = 'LOP_DELETE_ROWS' 

Basé sur le transactionID et le nombre de lignes affectées, filtrer le jeu de résultats. Utilisez ensuite RESTORE DATABASE pour restaurer les valeurs du journal.

NOTE: Il est préférable de faire cette restauration dès que vous vous rendez compte de la modification/suppression accidentelle. Plus les opérations se déroulant dans une base de données sont nombreuses, plus il est probable que les valeurs du journal des transactions soient écrasées.