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
Version imprimable
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:RESTORE DATABASE <maBASE> FROM DISK = 'path_backup.bak' WITH NORECOVERY;
++Code:
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 ? ...
@++ ;)
toutes les 10 minutes, cad pour un client on aura 40 document, et on a un presque 200 client donc : 200 * 40
Bonjour,
Dans ce cas je vous conseillerai peut-être ceci :
- une sauvegarde complète par jour,
- une sauvegarde différentielle toutes les heures,
- une sauvegarde du fichier du journal des transactions toutes les 10 minutes.
Faites un plan de maintenance pour cela.
En cas de problème :
- réalisez une sauvegarde du fichier du journal des transactions (1)
- restaurez le dernier backup complet
- restaurez le dernier backup différentiel
- restaurez tous les backups du fichier du journal des transactions qui ont suivi le dernier backup différentiel
- restaurez le backup du fichier du journal des transactions réalisé en (1) avec l'option WITH STOPAT heureQuelquesSecondesAvantProbleme
@++ ;)
mais ca necessiste une personne dédié uniquement a ce travail.
La planification du plan de maintenance nécessite une étude préalable (Cf le post d'Elsuket). Une fois celui-ci en place, les sauvegardes sont automatiques. Aucune ressource supplémentaire n'est nécessaire.
++
Tout dépend comment on voit la chose.
L'administration des bases de données est effectivement un métier à part entière.
Certaines taches peuvent être automatisées, d'autres pas.
De la à savoir si vous avez effectivement un fte à engager ou à louer à une société de service, cela dépend de votre environnement et des projets que vous planifiez.
Une option peut être de demander un audit de votre environnement et sur base des différentes recommandations, faire un choix, soit d'embaucher si il y a un réel besoin d'un FTE ou former s'il y a des ressources sur le terrain, soit faire appel à un expert externe, en one time, périodiquement ou pour une période de temps définie... ou pas.