Odpověď je ANO , můžete získat to zpět, ale není to snadné. Všechny databáze protokolují každý změna v něm provedena. Musíte:
- Vypněte server (nebo jej alespoň přepněte do režimu pouze pro čtení)
- Proveďte úplnou zálohu serveru
- Získejte kopii všech souborů protokolu db, které se vracejí do doby před nehodou
- Obnovte zálohu na jiný server
- Pomocí nástrojů pro správu db procházejte soubory protokolu, dokud nehodu „nezrušíte“
- Zkontrolujte obnovený kód v uloženém procesu a zakódujte jej zpět do aktuální verze
A co je nejdůležitější:ZÍSKEJTE SVŮJ ULOŽENÝ KÓD POSTUPU POD KONTROLOU ZDROJŮ
Mnoho lidí tento koncept nepochopí:Můžete pouze provádět změny do databáze; nemůžete vrátit zpět uloženou verzi proc, jako můžete s kódem aplikace nahrazením souborů jejich předchozími verzemi. Chcete-li se vrátit zpět, musíte udělat více změny, které vypustí/definují váš uložený proces.
Poznámka pro hnidopichy:Výrazem „roll back“ nemyslím „roll back“ transakce. Myslím tím, že jste provedli změny a rozhodli jste se, až bude server zálohovat, že změna není dobrá.