2
respostas

[Dúvida] Drop Database e Transactions

Nesse aula foi ensinado como realizar a exclusão de um banco usando a linha de comando:

DROP DATABASE dbVendas

Gostaria de saber se esse comando pode ser executado dentro de uma transação, para que essa ação possa ser desfeita futuramente? Se sim, onde será armazenado o log dessa exclusão em caso de necessidade de um RollBack?

2 respostas

Oi, Vinicius! Tudo certo contigo?

Ao usarmos o comando BEGIN TRANSACTION, podemos colocar um DROP TABLE. E você também pode usar um ROLLBACK para reverter a exclusão da tabela. Para falar a verdade, é importante termos o comando da transação, pois pode nos poupar problemas futuros, já que você teria a versão inicial do seu banco de dados.

Para você reverter a situação, um log de exclusão não é necessário. Contudo, para ver o log de ações do SQL Server, você pode ir pelo seguinte caminho:

  • Ao ir pelo Pesquisador de Objetos, abra a pastinha chamada Gerenciamento.
  • Após isso, abra a Logs do SQL Server.

E ali você terá diversos logs para verificar as situações de sua escolha. Porém, é necessário lembrar que os logs automáticos não mostram somente os de exclusão, mas você pode criar uma auditoria para mostrar o que você quer em específico no SQL Server.

Vou deixar aqui esta resposta sobre como fazer uma auditoria - pois você pode organizar um log do seu modo de preferência. :)

Se outra dúvida surgir, estamos disponíveis!

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Não existe transaction para DROP DATABASE, o comando deleta os arquivos físicos.