Comment faire pour annuler une opération de suppression dans SQL Server 2005?
Notre Test DB est soudainement lignes manquantes. Nous voulons le retour.
Est-il un moyen de passer au crible tout ce qui est arrivé à la base de données d'aujourd'hui? Chaque instruction SQL? Je présume que ce genre de choses est dans le journal des transactions, mais ne suis pas sûr de savoir comment l'afficher.
Est-il un moyen d'annuler les opérations de suppression?
BTW: Oui, nous avons une sauvegarde, mais préfère trouver la cause de la suppression de...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec certains de Porte Rouges'outils, mais il en coûte. Jetez un oeil à SQL Journal de Sauvetage.
Sinon, je serais tenté de faire une restauration.
[réponse tardive mais je l'espère utile]
Il y a un moyen de récupérer supprimé des lignes à l'aide du journal des transactions, mais seulement si vous utilisez les outils 3ème partie et seulement de votre base de données est en mode de récupération complète.
Dell (anciennement Quête) a Toad pour SQL Server et ApexSQL a ApexSQL Log et ApexSQL Recover qu'pouvez également lire les t-journaux et de récupérer les données. Malheureusement Journal de Sauvetage de la Porte Rouge ne peut que lire les journaux sur SQL Server 2000.
Il est aussi un moyen de lire t-journal des sans-papiers à l'aide de la commande dbcc de commande du journal. Voir plus de détails ici.
Considérant que vous avez déjà sauvegardes de base de données, vous pouvez restaurer ces dans la base de données distincte et ensuite utiliser un des nombreux la comparaison des données des outils qui existent sur le marché pour insérer des données manquantes dans la base de données de production. Bien sûr, cela ne peut récupérer des données à supprimer avant de créer une copie de sauvegarde.
Vous avez besoin d'un outil tiers pour ce faire. L'outil doit être en mesure d'aller dans les journaux de transactions et afficher les entrées du journal de sorte que vous pouvez voir ce qui s'est passé. Je n'ai pas utilisé l'un de ces outils, mais j'essaierais de Porte Rouge du Journal SQL de Sauvetage pour les débutants. Essayez-le:
http://www.red-gate.com/products/SQL_Log_Rescue/index.htm
Je donnerais ChronicDB un essai qui a une version gratuite plutôt que de payer pour la Red Gate
http://chronicdb.com/blogs/undelete_from_whoops
Vous pouvez annuler une transaction en utilisant
Rollback
commande dans SQL Server. Mais, vous devez savoir que la transaction peut être rolledback si la transaction a été effectuée au sein deBegin
transaction.