Aug 17 2011

#QuickTip 7 - [SQL Server] Desabilitando todas as triggers do banco de dados

Category: QuickTip | SQL ServerSuzuki @ 02:53

Olá pessoal,
Mais uma dica rápida sobre SQL Server.
Com certeza você ja deve ter precisado desabilitar alguma trigger por algum motivo e provavelmente deve ter pensado e desabilitar tudo para ajustar algo.
Neste contexto entra esta postagem.

Segundo a MSDN criar uma trigger, é um tipo especial de procedimento armazenado que executa automaticamente quando um usuário tenta a modificação de dados especificado na tabela especificada. Microsoft ® SQL Server ™ permite a criação de várias triggers para qualquer instrução INSERT, UPDATE, ou DELETE.

Mas como desabilitar todas as triggers da nossa base?
Para isso vamos usar a dica da postagem de outra postagem, utilizando a procedure SP_MSFOREACHTABLE.

Veja a postagem : #QuickTip 4 - [SQL Server] Como executar um select count em todas as tabelas de uma base de dados

Os dois comandos abaixo fazem isso:

  1. /*Desabilitar todas as triggers de todas a tabelas da base de dados*/   
  2. EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"  
  3. /*ou*/    
  4. EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'  

 

Ok, agora reabilitando todas as triggers novamente:

  1. /*Reabilitar todas as triggers de todas a tabelas da base de dados*/   
  2. EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"  
  3. /*ou*/    
  4. EXEC sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'  

Se você quiser saber mais a respeito de triggers: clique aqui.

Simplificando e desmitificando.

Até a próxima.

 

Se alguém me serve, siga-me, e onde eu estiver, ali estará também o meu servo. E, se alguém me servir, meu Pai o honrará. (João 12:26)

Share or Bookmark this post…

Tags: , , , , , ,

Kommentare

Voeg kommentaar By


(Sal you Gravatar ikone vertoon)

  Country flag

biuquote
  • Opmerkings
  • Voorskou
Loading