none
Desfazer um Drop Table? RRS feed

Respostas

  • Oi,

    Se seu banco estiver com recovery model full então você pode fazer um backup do banco e fazer um recovery até um horário específico, antes do drop da tabela.

    Nunca experimentei algo tão drástico mas é possível que funcione sim, desde que o recovery model esteja full.

    Abs,


    Dennes
    ******* Evento : SQL Saturday - Rio - evento gratuito, inscreva-se já : http://www.sqlsaturday.com/127/eventhome.aspx


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    quarta-feira, 1 de fevereiro de 2012 14:17
  • Boa Tarde,

    Sem backup full você está em apuros já que by default não há nenhum recurso que possa ajudá-lo. Só será possível fazer isso se duas condições forem atendidas:

    - Seu banco não está em Recovery Model Simple
    - Você possui verba para adquirir uma ferramenta de leitura de log (Apex, Red Gate. Lumigent, etc)

    Se qualquer uma dessas condições não for atendidas não será possível recuperar os dados.
    Uma ferramenta dessas para sua situação sairá por volta de uns U$ 1.000,00. Se os dados forem muito importantes, U$ 1.000,00 é troco. Se U$ 1.000,00 for muito dinheiro é porque os dados não eram tão importantes.

    Caso esteja utilizando o SQL Server 2000, há ferramentas gratuitas (Log Rescue) 

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 30 de janeiro de 2012 14:32

Todas as Respostas

  • Boa Tarde,

    Sem backup full você está em apuros já que by default não há nenhum recurso que possa ajudá-lo. Só será possível fazer isso se duas condições forem atendidas:

    - Seu banco não está em Recovery Model Simple
    - Você possui verba para adquirir uma ferramenta de leitura de log (Apex, Red Gate. Lumigent, etc)

    Se qualquer uma dessas condições não for atendidas não será possível recuperar os dados.
    Uma ferramenta dessas para sua situação sairá por volta de uns U$ 1.000,00. Se os dados forem muito importantes, U$ 1.000,00 é troco. Se U$ 1.000,00 for muito dinheiro é porque os dados não eram tão importantes.

    Caso esteja utilizando o SQL Server 2000, há ferramentas gratuitas (Log Rescue) 

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 30 de janeiro de 2012 14:32
  • Oi,

    Se seu banco estiver com recovery model full então você pode fazer um backup do banco e fazer um recovery até um horário específico, antes do drop da tabela.

    Nunca experimentei algo tão drástico mas é possível que funcione sim, desde que o recovery model esteja full.

    Abs,


    Dennes
    ******* Evento : SQL Saturday - Rio - evento gratuito, inscreva-se já : http://www.sqlsaturday.com/127/eventhome.aspx


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    quarta-feira, 1 de fevereiro de 2012 14:17
  • Oi Dennes,

    Eu desconheço qualquer possibilidade de restaurar um banco em um ponto específico sem a presença de um backup full (ou um de FILEGROUP). Mesmo estratégias de Tail Log não poderão voltar o banco sem um backup full (ou de FILEGROUP). Considerando que o Fernando não possui nenhum backup, eu não visualizei uma forma de recuperar a base antes do DROP TABLE.

    Você poderia exemplificar o procedimento que você citou ? Talvez alguns scripts pra clarear...

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 1 de fevereiro de 2012 16:14
  • Oi,

    Sim, sem backup é impossível.

    O que sugeri foi que se o log estiver com recovery model full e ainda intacto desde o desastre, o backup full poderia ser feito agora e um restore para um point in time poderia reverter tarefas registradas no log.

    Mas nunca testei algo tão drástico, não me submeti a esse desastre...

    Acrescentando : De fato não deve funcionar. Apesar do log estar presente, a data e hora de inicio do backup determinarão o ponto do log a ser considerado para as etapas de redo/undo - impedindo um restore para point in time de uma data/hora anterior.

    Abs,

    Dennes
    ******* Evento : SQL Saturday - Rio - evento gratuito, inscreva-se já : http://www.sqlsaturday.com/127/eventhome.aspx


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Editado Dennes quarta-feira, 1 de fevereiro de 2012 16:55
    quarta-feira, 1 de fevereiro de 2012 16:34
  • fiz o backup full agora...

    porem na hora de restaurar, a opção "Point in time to restore" esta desabilitada.

    sexta-feira, 3 de fevereiro de 2012 14:08
  • Fernando,

     

    Voce só conseguira colocar um point in time, se houve backups de logs ou diferenciais (Não tenho certeza do diff...), apenas com o full, não sera possivel um restore in time...


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    sexta-feira, 3 de fevereiro de 2012 14:13
    Moderador