Bonjour, sur mon serveur j'ai fait une requête update sans mentionner le where, je sais pas s'il y moyen d'annuler ce update ?
Merci
Bonjour, sur mon serveur j'ai fait une requête update sans mentionner le where, je sais pas s'il y moyen d'annuler ce update ?
Merci
Bonjour,
Si vous avez place votre UPDATE dans une transaction explicite, oui c'est possible en exécutant ROLLBACK maTransaction.
Si vous utilisez le mode de restauration complet, vous pouvez aussi faire une sauvegarde du journal des transactions et restaurer la base de données avec l'option STOPAT
@++![]()
oui j'ai fait une sauvegarde complet, pourriez vous m'expliquer comment ?
Bonjour,
Cela suppose également que vous faites une sauvegarde régulière de votre journal des transactions en sus de la sauvegarde complète dans votre stratégie de sauvegarde.
Ceci étant dit il vous faut appliquer votre sauvegarde complète en premier avec l'option NORECOVERY :
Vous devez ensuite selon votre stratégie de sauvegarde restaurer les sauvegardes du journal correspondants. Un exemple ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part RESTORE DATABASE <maBASE> FROM DISK = 'path_backup.bak' WITH NORECOVERY;
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -- Restauration 1ere sauvegarde du journal (option NORECOVERY) RESTORE LOG <maBase> FROM DISK = 'path_backup.trn' WITH NORECOVERY; GO -- REstauration 2eme sauvegarde du journal RESTORE LOG <maBase> FROM DISK = 'path_backup.trn' WITH STOPAT = 'date_avant_votre_probleme_update'; GO
Ok, pourriez vous me dire quelle est la bonne stratégie de sauvegarde sachant que notre BD s'alimente régulierement et la BD devient plus lourde ???
Qu'entendez-vous par régulièrement ?
Quelle quantité de données pouvez-vous vous permettre de perdre ? aucun ? 5 minutes ? une demi-journée ? ...
@++![]()
Partager