Array
(
)

Dúvida: ROLLBACK (SQL SERVER)

Twitter/@caiouechi
   - 14 nov 2012

Bom dia Galera!
Há alguns dias atrás (aproximadamente 3) eu dei um delete em algumas linhas de uma tabela...
eu gostaria de saber se existe alguma maneira de dar um ROLLBACK e recuperar essas linhas

Alex Lekao
   - 14 nov 2012

Ola Caio, bom dia!!!

Nao tenho certeza absoluta a respeito, pq sou novato em SQL, mas acredito que vc tera que verificar nos arquivos de log do SQL.

E no caso do RollBack so funcionaria se vc tivesse aberto uma transaction e se o SQL estivesse configurado para algo do tipo.

Normalmente durante os processos de update e tal... o que vc acaba de fazer vai para uma tabela temporaria ou algo do tipo chamado inserted, deleted, e tem triguer tbm para esse tipo de coisa... mas como disse... como sou novato no assunto nao tenho certeza absoluta.

da uma olhada neste link http://projetoseti.com.br/sistemas-de-informacao/banco-de-dados/triggers-e-procedures-em-sql-server-nivel-basico/ que o cara da umas explicadas a respeito de triguer, procedure e algo sobre este ponto que vc esta questionando.

Espero ter ajudado.

Abraco.

Alex - Lekao

Cristiano Santos
   - 19 nov 2012

Caio, antes de mais nada, confirme se o seu banco de dados está com a opção Recovery Model Full ou Bulk Logged. Desta forma, você poderá fazer um restore de um determinado tempo. Se estiver como SIMPLE, fica dífícil.
Outro detalhe, você tem um Backup diferencial da sua base para esses dias?

Abraços.

João Antonio
|
MVP
Pontos: 120
    10 abr 2014

Boa tarde Caio

Por segurança antes de rodar um delete, update ou insert pode usar essa opções.

BEGIN TRAN - antes de rodar algum comando

SELECT * FROM TAA -- ANALISA SE FICOU DE ACORDO

COMMIT TRAN -SE FICOU DE ACORDO FINALIZA

ROLLBACK TRAN - SE NÃO FICOU DE ACORDO VOLTA AS ALTERAÇÕES.

ATT
João Antonio