SQL Server Desative o gatilho

SQL Server Desative o gatilho

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:

    1. schema_name - isso define o nome do esquema no qual o gatilho reside. O parâmetro shcema_name não é suportado para gatilhos de linguagem de definição de dados ou gatilhos de logon.
    2. trigger_name - o nome do gatilho que você deseja desativar.
    3. Todos - este parâmetro permite que todos os gatilhos definidos na cláusula ON sejam desativados de uma só vez.
    4. Object_name - o nome da tabela ou visualização na qual o gatilho reside.
    5. Banco de dados - Especifica o escopo do gatilho DDL.

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!!