Ein Auslöser ist eine gespeicherte Prozedur, die ausgeführt wird, wenn auf dem Server ein spezifisches Aktion/ein bestimmtes Ereignis auftritt. Verschiedene Arten von Triggern können mit bestimmten Aktionen in Verbindung gebracht werden.
In diesem Beitrag können Sie zeigen, wie Sie einen vorhandenen Auslöser in SQL Server deaktivieren können. Wenn Sie einen Auslöser deaktivieren. Dies ist sehr nützlich bei der Fehlerbehebung oder Durchführung von Wartungsvorgängen auf dem Server.
Erstellen eines Testauslösers
Bevor wir diskutieren, wie ein vorhandener Auslöser auf dem SQL -Server deaktiviert werden kann, beginnen wir zunächst einen einfachen Auslöser für Abbildungszwecke.
Erstellen Sie zunächst eine Datenbank:
Datenbank fallen lassen, wenn vorhanden local_db;
Datenbank erstellen local_db;
Verwenden Sie local_db;
Definieren Sie als nächstes eine Tabelle wie gezeigt:
Erstellen von Tabellendatenbanken (
ID int nicht Null -Identität (1,1) Primärschlüssel,
server_name varchar (50),
server_address varchar (255) nicht null,
compression_method varchar (100) Standard 'Keine',
size_on_disk float nicht null,
size_compressed Float,
Total_records int nicht null,
init_date Datum
);
Erstellen Sie als Nächst.
Erstellen Sie Trigger Nostatus
Auf Datenbanken
Nach dem Einfügen löschen
ALS
START
NoCount einstellen;
ENDE;
SQL Server Deaktivieren Sie Trigger -Abfrage
Glücklicherweise bietet SQL Server eine native Methode zur Deaktivierung eines Auslösers, wie in der folgenden Syntax gezeigt:
Deaktivieren Sie Trigger [schema_name . ] Trigger_name [,… n] | ALLE
Auf Object_Name | Datenbank | Alle Server [; ]
Abfragestarme
Die Abfrage akzeptiert die folgenden Parameter:
Abhängig von der Konfiguration des Zielbenutzers und der Server erfordert die Deaktivierungsauslöserabfrage eine Änderungserlaubnis in der Tabelle oder Ansicht.
Beispiel - Deaktivieren eines DML -Triggers auf einer Tabelle
Das folgende Beispiel zeigt, wie der Trigger -Nostatus in der Datenbankentabelle deaktiviert wird.
Deaktivieren Sie Triggerdatenbanken.Nostatus auf
Datenbanken;
Ausführen der obigen Anweisung sollte den Auslöser mit dem angegebenen Namen deaktivieren. Dies stellt sicher, dass der Auslöser nicht auf Einfügen oder Löschen von Aktionen abgefeuert wird.
Beispiel 2 - Deaktivieren Sie den Trigger mit SSMS
Sie können einen Auslöser auch über das SQL Server Management Studio deaktivieren. Öffnen Sie den Objektforscher. Suchen Sie die Zieldatenbank -> Zieltabelle - Auslöser.
Klicken Sie mit der rechten Maustaste und wählen Sie Deaktivieren.
Sobald Sie erfolgreich sind, sollten Sie ein Erfolgsdialogfeld zum Erfolg sehen.
Beispiel 3 - SQL Server deaktivieren alle Auslöser auf einer Tabelle/Ansicht
Sie können auch alle Auslöser in einer bestimmten Tabelle oder Ansicht unter Verwendung des im folgenden Snippet angegebenen Befehls deaktivieren:
Deaktivieren Sie alle auf
local_db.Datenbanken;
Die obige Abfrage deaktiviert alle Auslöser in der Datenbankentabelle.
Beispiel 4 - SQL Server deaktivieren alle Trigger in einer Datenbank
Angenommen, Sie möchten einen datenbankweiten Abzug deaktivieren. Sie können eine Abfrage wie unten angegeben ausführen:
Deaktivieren Sie alle auf
Datenbank;
Beendigung
In diesem Beitrag haben wir darüber diskutiert, wie die Befehle zur Deaktivierung von Deaktivierungen in SQL Server verwendet werden, um Auslöser auf verschiedenen Objektebenen zu deaktivieren.
Danke fürs Lesen!!