Um gatilho é um procedimento armazenado executado quando uma ação/evento específica ocorre no servidor. Vários tipos de gatilhos podem ser associados a ações específicas.
Esta postagem tem como objetivo mostrar como você pode desativar um gatilho existente no SQL Server. Desativar um gatilho pode permitir temporariamente que você execute uma ação sem um evento subsequente. Isso é muito útil ao solucionar problemas ou executar operações de manutenção no servidor.
Criando um gatilho de teste
Antes de discutir como desativar um gatilho existente no servidor SQL, vamos começar definindo um gatilho simples para fins de ilustração.
Comece criando um banco de dados:
soltar o banco de dados se existir local_db;
criar banco de dados local_db;
use local_db;
Em seguida, defina uma tabela como mostrado:
Crie bancos de dados de tabela (
Id int não identidade nula (1,1) Chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo,
init_date data
);
Em seguida, crie um gatilho para desativar o número de linhas afetadas quando ocorre uma ação de inserção ou exclusão.
Crie Nostatus de gatilho
Em bancos de dados
Após a inserção, exclua
COMO
COMEÇAR
Definir nocorre em;
FIM;
SQL Server desativando a consulta de gatilho
Felizmente, o SQL Server nos fornece um método nativo para desativar um gatilho, conforme mostrado na sintaxe abaixo:
Desativar o gatilho [schema_name . ] trigger_name [,… n] | TODOS
Em object_name | Banco de dados | Todos os servidores [; ]
Argumentos de consulta
A consulta aceita os seguintes parâmetros:
Dependendo da configuração do usuário e servidor de destino, a consulta de desativação do gatilho requer alteração de permissão na tabela ou visualização.
Exemplo - Desativando um gatilho DML em uma tabela
O exemplo a seguir demonstra como desativar o gatilho Nostatus na tabela de bancos de dados.
Desativar bancos de dados de gatilho.Nostatus on
bancos de dados;
Executar a declaração acima deve desativar o gatilho com o nome especificado. Isso garante que o gatilho não seja acionado por inserção ou excluir ações.
Exemplo 2 - Desative o gatilho usando SSMS
Você também pode desativar um gatilho usando o SQL Server Management Studio. Abra o explorador de objeto. Localize o banco de dados de destino -> Tabela de destino - gatilhos.
Clique com o botão direito e selecione Desativar.
Uma vez bem -sucedido, você deve ver uma caixa de diálogo de sucesso.
Exemplo 3 - SQL Server Desative todos os gatilhos em uma tabela/visualização
Você também pode desativar todos os gatilhos em uma determinada tabela ou visualização usando o comando fornecido no trecho abaixo:
Desative o gatilho tudo em
LOCAL_DB.bancos de dados;
A consulta acima desativará todos os gatilhos na tabela de bancos de dados.
Exemplo 4 - SQL Server Desative todos os gatilhos em um banco de dados
Suponha que você queira executar um gatilho em todo o banco de dados. Você pode executar uma consulta conforme fornecido abaixo:
Desative o gatilho tudo em
base de dados;
Terminação
Nesta postagem, discutimos como usar os comandos de desativar o Trigger no SQL Server para desativar gatilhos em vários níveis de objeto.
Obrigado pela leitura!!