Come recuperare una riga eliminata dalla tabella di SQL Server 2005?
-
01-10-2019 - |
Domanda
Come recuperare una riga eliminata dalla tabella di SQL Server 2005?
Soluzione
Rollback della transazione (se hai iniziato uno).
Ripristinare un backup (se ne avete uno).
[modifica] Se hai i registri delle transazioni, si dovrebbe essere in grado di ripristinare il backup del database fino al punto più o meno poco prima della riga è stata eliminata (supponendo che si sa quando questo era).
Altri suggerimenti
Se si dispone di backup di database che sono cancellati i dati:
- Ripristino di backup nel database separato e recuperare i dati cancellati da lì
Se non ci sono i backup, ma il database è in modalità di recupero completo:
- Prova a leggere log delle transazioni utilizzando alcuni di terze parti log delle transazioni Lettore o utilizzando il comando DBCC LOG.
Si avrà bisogno di aiuto da strumenti di terze parti a causa del registro delle transazioni non è ben documentata. Questo perché di scopo non è quello di essere utilizzato per questo tipo di recupero. Tuttavia, se si può leggere che ci sono un sacco di dettagli utili lì che può essere utilizzato per recuperare i dati accidentalmente cancellati.
Ci sono due modi in cui possiamo tabella di recupero specifico:
- Il primo: Ripristinare fullback con nessun recupero dopo il ripristino opzione
no_truncate
per il backupt-log
con - Il secondo modo:. Utilizzando i trigger si può recupero cancellato le tabelle con tabella di controllo
Il ApexSQL Log può essere la soluzione per righe eliminate. Nel caso in cui l'operazione DELETE esiste (il database non stava usando il modello di recupero semplice) nei registri delle transazioni del database (online, backup), lo strumento in grado di creare uno script T-SQL undo per l'operazione.
Disclaimer: io lavoro come tecnico di supporto del prodotto a ApexSQL
Non dimenticare di impostare modello di recupero completo per un database, se è necessario il "ripristino a un punto nel tempo" opzione!