sql >> Databáze >  >> RDS >> Sqlserver

vrátit zpět změny uložené procedury

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:

  1. Vypněte server (nebo jej alespoň přepněte do režimu pouze pro čtení)
  2. Proveďte úplnou zálohu serveru
  3. Získejte kopii všech souborů protokolu db, které se vracejí do doby před nehodou
  4. Obnovte zálohu na jiný server
  5. Pomocí nástrojů pro správu db procházejte soubory protokolu, dokud nehodu „nezrušíte“
  6. 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á.



  1. Jak propojit databázi s Amazon VPC

  2. MySQL:součet každého dne

  3. Vytvořte škálovatelné schéma databáze pro ukládání golfových skóre

  4. Jak udělat klouzavý průměr pro rozsah dat v SQL?