Hai eseguito inavvertitamente (o ti sei trovato in altre situazioni che hanno comportato una perdita di dati) un’istruzione DELETE, TRUNCATE o DROP su un database ed hai perduto delle righe valide.
Come si possono riottenere i dati?!?!
Scenari:
a) Facile:
- Nessun cambio è avvenuto dopo l’istruzione DELETE, TRUNCATE o DROP è tu hai un backup completo
>> Ripristina il backup completo precedente
b) Difficile:
- Hai un backup completo, ma …
- Alcune modifiche sono state fatte dopo l’esecuzione del DELETE, TRUNCATE o DROP, oppure
- Non puoi portare il database offline
>> Usa il backup completo per esportare i dati ed importarli nel database di produzione
c) Impossibile?
- Non hai un backup completo che contenga i dati persi
- Non puoi portare il database offline
- Alcune transazioni sono state fatte sul database dopo che i dati sono stati persi
>> Usa ApexSQL Recover
Come ApexSQL Recover ci può aiutare
Il transaction log tiene le informazioni sulle transazioni che sono state fatte sul tuo database; ApexSQL Recover è uno strumento che può scavare nel transaction log e recuperare i dati cancellati, eliminati o persi.
- Lancia ApexSQL Recover
- Seleziona un’opzione di recupero basata sull’istruzione eseguita, per esempio Recupera I dati persi per un’operazione di DELETE.
Se non sai quale istruzione ha causato la perdita di dati, usa tutte le opzioni, una dietro l’altra
Se la perdita di dati è stata causata da una o più differenti istruzioni, usa le opzioni adeguate, una dietro l’altra
-
Se hai il backup del transaction log o i log offline delle transazioni creati nel momento in cui i dati si sono persi, clicca Add transaction logs per aggiungerli. Nel caso in cui ci siano state molte transazioni sul database dopo che i dati sono stati persi, le informazioni sulla perdita di dati potrebbero non esistere più nel transaction log. Aggiungendo queste ulteriori fonti, fornirai le informazioni necessarie sulle transazioni che hanno rimosso i dati dal tuo database. Usa l’opzione Help me decide option se non sei certo di quali fonti dati addizionali possono essere usate.
Questa possibilità è disponibile soltanto per le opzioni DELETE e DROP TABLE options.
Se non sono disponibili ulteriori fonti dati, seleziona No additional transaction logs are available e vai al punto #7
-
Aggiungi una sequenza di backup dei transaction logs che termina con il transaction log attivo e/o i transaction logs offline usando il bottone Add
-
Seleziona il momento in cui i dati sono stati persi. Questo restringerà il risultato soltanto ai record che vuoi recuperare. Non sei interessato a reinserire i dati che hai cancellato deliberatamente
Se non sei certo di quando è successo, seleziona Date and time are unknown
-
Seleziona le tabelle dalle quali i dati sono stati perduti. Controlla la struttura del database per verificare se le tabelle da recuperare hanno qualche relazione. Accertati che tutte le tabelle che dipendono dalle tabelle ripristinate siano a loro volta selezionate, per evitare problemi con le dipendenze nel reinserimento dei dati.
-
Seleziona Save recovery script to file per creare uno script T-SQL che inserirà tutti i record recuperati. Puoi anche rivedere e modificare lo script prima di eseguirlo
Dopo che lo script di annullamento è stato eseguito, i dati persi sono inseriti nella tabella.
Perciò ricorda che, anche se hai erroneamente cancellato dati da tabelle, troncato o eliminato una tabella, c’è una opportunità di recuperare i dati persi utilizzando ApexSQL Recover
July 25, 2017