Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base 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:
Para excluir ou desabilitar um gatilho DML, usando:
SQL Server Management Studio (Estúdio de Gestão do Servidor SQL)
Antes de começar
Recomendações
Quando um gatilho é excluído, ele é descartado do banco de dados atual. A tabela e os dados em que se baseia não são afetados. A exclusão de uma tabela exclui automaticamente todos os gatilhos na tabela.
Um gatilho é ativado por padrão quando é criado.
Desativar um gatilho não o elimina. O gatilho ainda existe como um objeto no banco de dados atual. No entanto, o gatilho não será acionado quando qualquer instrução INSERT, UPDATE ou DELETE para a qual foi configurado for executada. Os gatilhos desativados podem ser reativados. Ativar um gatilho não o recria. O gatilho é acionado da mesma maneira que quando foi criado originalmente.
Segurança
Permissões
Para excluir um gatilho DML é necessária a 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 permissão ALTER na tabela ou exibição na qual o gatilho foi criado.
Usando o SQL Server Management Studio
Para eliminar um trigger DML
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda o banco de dados desejado, expanda Tabelase, em seguida, expanda a tabela que contém o gatilho que você deseja excluir.
Expanda Acionadores, clique com o botão direito do rato no acionador para eliminar e, em seguida, clique em Eliminar.
Na caixa de diálogo Excluir Objeto, verifique o gatilho a ser excluído e clique em OK.
Para desativar e ativar um gatilho DML
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda o banco de dados desejado, expanda Tabelase, em seguida, expanda a tabela que contém o gatilho que você deseja desabilitar.
Expanda Acionadores, clique com o botão direito do rato no acionador para desativar e, em seguida, clique em Desativar.
Para ativar o gatilho, clique em Ativar.
Usando Transact-SQL
Para eliminar um trigger DML
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
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 desativar e ativar um gatilho DML
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
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
Ver também
ALTER GATILHO (Transact-SQL)
CRIAR GATILHO (Transact-SQL)
GATILHO DE QUEDA (Transact-SQL)
ATIVAR TRIGGER (Transact-SQL)
DESATIVAR ACIONADOR (Transact-SQL)
EVENTDATA (Transact-SQL)
Obter Informações Sobre os Triggers 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)