Compartilhar via


Excluir ou desabilitar gatilhos DML

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Este tópico descreve como excluir ou desabilitar um gatilho DML no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.

Neste tópico

Antes de começar

Recomendações

  • Quando um gatilho é excluído, ele é descartado do banco de dados atual. A tabela e os dados nos quais está baseada não são afetados. Excluir uma tabela exclui automaticamente todos os gatilhos da tabela.

  • Um gatilho é habilitado por padrão quando é criado.

  • Ao desabilitar um gatilho, você não o descarta. O gatilho ainda existe como um objeto no banco de dados atual. Porém, o gatilho não será acionado quando qualquer instrução INSERT, UPDATE ou DELETE, em que ele tenha sido programado, for executada. Os gatilhos desabilitados podem ser habilitados novamente. A habilitação de um disparador não recria o mesmo. O gatilho é acionado da mesma forma como foi criado.

Segurança

Permissões

A exclusão de um gatilho DML requer permissão ALTER na tabela ou exibição na qual o gatilho está definido.

Para desabilitar ou habilitar um gatilho DML, no mínimo, um usuário deve ter a permissão ALTER na tabela ou exibição na qual o gatilho foi criado.

Como usar o SQL Server Management Studio.

Para excluir um gatilho DML

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda-a.

  2. Expanda o banco de dados que você quer, expanda Tabelase expanda a tabela que contém o gatilho que você quer excluir.

  3. Expanda Gatilhos, clique com o botão direito do mouse no gatilho para excluí-lo e clique em Excluir.

  4. Na caixa de diálogo Excluir Objeto , verifique o gatilho a ser excluído e clique em OK.

Para desabilitar e habilitar um gatilho DML

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda-a.

  2. Expanda o banco de dados que você quer, expanda Tabelase expanda a tabela que contém o gatilho que você quer desabilitar.

  3. Expanda Gatilhos, clique com o botão direito do mouse no gatilho para desabilitá-lo e clique em Desabilitar.

  4. Para habilitar o gatilho, clique em Habilitar.

Usando o Transact-SQL

Para excluir um gatilho DML

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole os exemplos a seguir na janela de consulta. Execute a instrução CREATE TRIGGER para criar o gatilho Sales.bonus_reminder . Para excluir o gatilho, execute a instrução DROP TRIGGER .

--Create the trigger.  
USE AdventureWorks2022;  
GO  
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL  
    DROP TRIGGER Sales.bonus_reminder;  
GO  
CREATE TRIGGER Sales.bonus_reminder  
ON Sales.SalesPersonQuotaHistory  
WITH ENCRYPTION  
AFTER INSERT, UPDATE   
AS RAISERROR ('Notify Compensation', 16, 10);  
GO  
  
--Delete the trigger.  
USE AdventureWorks2022;  
GO  
IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL  
   DROP TRIGGER Sales.bonus_reminder;  
GO  
  

Para desabilitar e habilitar um gatilho DML

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole os exemplos a seguir na janela de consulta. Execute a instrução CREATE TRIGGER para criar o gatilho Sales.bonus_reminder . Para desabilitar e habilitar o gatilho, execute as instruções DISABLE TRIGGER e ENABLE TRIGGER , respectivamente.

--Create the trigger.  
USE AdventureWorks2022;  
GO  
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL  
    DROP TRIGGER Sales.bonus_reminder;  
GO  
CREATE TRIGGER Sales.bonus_reminder  
ON Sales.SalesPersonQuotaHistory  
WITH ENCRYPTION  
AFTER INSERT, UPDATE   
AS RAISERROR ('Notify Compensation', 16, 10);  
GO  
  
--Disable the trigger.  
USE AdventureWorks2022;  
GO  
DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;  
GO  
  
--Enable the trigger.  
USE AdventureWorks2022;  
GO  
ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;  
GO  

Confira também

ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
GATILHO DE SOLTA (Transact-SQL)
ATIVAR TRIGGER (Transact-SQL)
DESABILITAR GATILHO (Transact-SQL)
DADOS DE EVENTOS (Transact-SQL)
Obter informações sobre gatilhos DML
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_módulos (Transact-SQL)
sys.assembly_modules (Transact-SQL)
sys.server_triggers (Transact-SQL)
sys.server_trigger_events (Transact-SQL)
sys.server_sql_modules (Transact-SQL)
sys.server_assembly_modules (Transact-SQL)