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
Base de Dados SQL do Azure
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 disparará quando qualquer INSERT, UPDATE, ou DELETE instrução em que foi programada 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 CREATE TRIGGER instrução para criar o
Sales.bonus_remindergatilho. Para eliminar o trigger, execute a DROP TRIGGER instrução.
--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 CREATE TRIGGER instrução para criar o
Sales.bonus_remindergatilho. Para desativar e ativar o trigger, execute as DISABLE TRIGGER instruções e ENABLE TRIGGER , respetivamente.
--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 TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DISABLE TRIGGER (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)