Come ripristinare i dati della tabella eliminata?

Ho eliminato accidentalmente un tavolo come posso fare il rollback. Si prega di suggerire che.

  • Che cos'è un'istanza di SQL Server?
  • Spostare il database SQL Server con zero tempi di inattività
  • Windows Server 2008 o 2003 per SQL Server 2005
  • Combinazione di cluster di failover e mirroring del database
  • Shrink il file di dati di SQL Server, ma non tutti in una volta?
  • SQL Server Patching una configuration dello specchio
  • Conversione di Filemaker in SQL o in un altro sistema di database
  • Come migrare da MySQL a SQL Server 2008
  • Come dimensionare le size dei server SQL (RAM, CPU e altri)
  • Impostazioni di collazione di SQL Server per System Center Service Manager 2012
  • CIDR Range per tutto tranne RFC1918
  • Query MySQL, 2 server simili, differenza di 2 minuti nei tempi di esecuzione
  • 7 Solutions collect form web for “Come ripristinare i dati della tabella eliminata?”

    Ottenerlo dai backup!

    Se non hai un buon backup, puoi dare uno strumento di terze parti come ApexSQL Log a try. Non so quali sono le limitazioni sulla versione di prova gratuita, ma potrebbe valere la pena.

    Se si dispone di backup, si segue la procedura descritta in Come recuperare una tabella o le righe specifiche da backup di database o backup di log delle transactions in SQL Server :

    • Eseguire il backup del registro delle transactions correnti
      Eseguire il backup del registro delle transactions corrente con l'opzione NO_TRUNCATE.

    • Ripristinare un backup di database parziale o completo
      SQL Server 2000 o SQL Server 2005 Se la strategia di backup include backup di filegroup, è ansible eseguire un ripristino parziale del database in una posizione diversa e ripristinare solo la parte del database che contiene la tabella che si desidera recuperare. Vedere i seguenti riferimenti per ulteriori informazioni su come ripristinare un database in un diverso nome e località: Come ripristinare i file in una nuova posizione (Transact-SQL)

    • Ripristinare i backup del registro delle transactions utilizzando l'opzione STOPAT
      Ripristinare i backup del log delle transactions al ripristino parziale o completo del database e arrestarsi prima del punto in cui la tabella o le righe sono state eliminate. Utilizzare l'opzione STOPAT del command RESTORE LOG per arrestare il ripristino del registro delle transactions e ripristinare il database prima dell'eliminazione della tabella. Vedere Come ripristinare in un punto nel tempo

    • Recupera i dati
      Dopo aver ripristinato il database, è ansible copiare la tabella o le righe nel database originale utilizzando INSERT, Bcp (Utilità di copia di massa o SELECT INTO). …

    • DBCC CHECKTABLE
      Esegui il DBCC CHECKTABLE Transact-SQL sulla nuova tabella per verificare l'integrità dei dati.

    Ho omesso i dettagli, puoi seguire il link all'articolo della KB per una copertura completa dell'argomento.

    Come ha detto Joe Stefanelli, gli strumenti ApexSQL possono aiutare. Ci sono in realtà due strumenti – se l'integer tavolo è stato abbandonato – ApexSQL Recover. Se vengono cancellati solo i record di tabella, sia ApexSQL Log che ApexSQL Recover possono aiutare.

    La limitazione di entrambi gli strumenti durante la prova è che recuperano solo 1 su 10 transactions. La buona notizia è che il registro ApexSQL mostra tutti i record della griglia anche in prova, in modo da poter vedere i record che possono essere recuperati. La limitazione è che non è ansible creare lo script di annullamento per tutti fino alla licenza dello strumento

    Gli strumenti possono riportre i dati anche se non si dispone di un backup completo o differenziato del database durante la lettura del file di dati (MDF) (ApexSQL Recover) e del registro delle transactions (LDF e trn – on-line, distaccato, backup – ApexSQL Log)

    4 tecniche per il recupero di tabelle perse a causa dell'operazione DROP Table

    Disclaimer: Lavoro per ApexSQL come assistente di supporto

    Alcune persone hanno menzionato strumenti di terze parti. L'unico che ho personalmente avuto fortuna per la riproduzione del registro di transazione è Toad by Quest . Non è molto economico, ma se è importnte è un risparmio di vita. Abbiamo avuto alcune applicazioni web scritte male che sono state attaccate dalle iniezioni SQL e hanno rovinato alcuni DB vecchi. L'attacco non era veramente un problema, ma volevamo vedere quale codice avevano eseguito e quindi riuscire a leggere il T-LOG era incredibilmente comodo.

    Abbiamo backup, ho già fatto con quello già. E 'comunque ansible lavorare con il registro del database per eliminare la recente rollback. – Simhadri

    Potrebbe essere necessario esplorare le strategie di replay di log di transazione .

    Un altro metodo utile per il recupero dei dati delle tabelle eliminate in SQL Server è quello di utilizzare la function fn_dblog ().

    use mydatabase go SELECT [Current LSN], [Transaction ID], Operation, Context, AllocUnitName FROM fn_dblog(NULL, NULL) WHERE Operation = 'LOP_DELETE_ROWS' 

    tuttavia il metodo di recupero dei dati utilizzando la function fn_dblog () è troppo lungo, ma può essere utile per la visualizzazione dei record eliminati di una tabella.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.