Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Sie einen DML-Trigger in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL löschen oder deaktivieren.
In diesem Themenbereich
Bevor Sie beginnen:
So löschen oder deaktivieren Sie einen DML-Trigger, indem Sie Folgendes verwenden:
Bevor Sie beginnen
Empfehlungen
Wenn ein Trigger gelöscht wird, wird er aus der aktuellen Datenbank gelöscht. Die Tabelle und die Daten, auf denen sie basieren, sind nicht betroffen. Durch das Löschen einer Tabelle werden automatisch alle Auslöser in der Tabelle gelöscht.
Ein Trigger ist standardmäßig aktiviert, wenn er erstellt wird.
Das Deaktivieren eines Triggers löscht ihn nicht. Der Auslöser ist weiterhin als Objekt in der aktuellen Datenbank vorhanden. Der Trigger wird jedoch nicht ausgelöst, wenn eine INSERT-, UPDATE- oder DELETE-Anweisung, für die sie programmiert wurde, ausgeführt wird. Trigger, die deaktiviert sind, können erneut aktiviert werden. Durch aktivieren eines Triggers wird er nicht erneut erstellt. Der Trigger wird auf die gleiche Weise ausgelöst wie bei der ursprünglichen Erstellung.
Sicherheit
Erlaubnisse
Zum Löschen eines DML-Triggers ist die ALTER-Berechtigung für die Tabelle oder Ansicht erforderlich, für die der Trigger definiert ist.
Um einen DML-Trigger zu deaktivieren oder zu aktivieren, muss ein Benutzer mindestens über die ALTER-Berechtigung für die Tabelle oder Ansicht verfügen, für die der Trigger erstellt wurde.
Verwendung von SQL Server Management Studio
So löschen Sie einen DML-Trigger
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der Datenbank-Engine her, und erweitern Sie dann diese Instanz.
Erweitern Sie die gewünschte Datenbank, erweitern Sie Tabellen, und erweitern Sie dann die Tabelle, die den Trigger enthält, den Sie löschen möchten.
Erweitern Sie Trigger, klicken Sie mit der rechten Maustaste auf den zu löschenden Trigger, und klicken Sie dann auf "Löschen".
Überprüfen Sie im Dialogfeld "Objekt löschen" den zu löschenden Trigger, und klicken Sie dann auf "OK".
So deaktivieren und aktivieren Sie einen DML-Trigger
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der Datenbank-Engine her, und erweitern Sie dann diese Instanz.
Erweitern Sie die gewünschte Datenbank, erweitern Sie Tabellen, und erweitern Sie dann die Tabelle, die den Trigger enthält, den Sie deaktivieren möchten.
Erweitern Sie Trigger, klicken Sie mit der rechten Maustaste auf den Trigger, um den Zu deaktivieren, und klicken Sie dann auf "Deaktivieren".
Um den Trigger zu aktivieren, klicken Sie auf "Aktivieren".
Verwenden von Transact-SQL
So löschen Sie einen DML-Trigger
Verbinden Sie sich mit der Datenbank-Engine.
Klicken Sie auf der Standardleiste auf Neue Abfrage.
Kopieren Sie die folgenden Beispiele, und fügen Sie sie in das Abfragefenster ein. Führen Sie die CREATE TRIGGER-Anweisung aus, um den
Sales.bonus_reminderTrigger zu erstellen. Führen Sie zum Löschen des Triggers die DROP TRIGGER-Anweisung aus.
--Create the trigger.
USE AdventureWorks2012;
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 AdventureWorks2012;
GO
IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
So deaktivieren und aktivieren Sie einen DML-Trigger
Verbinden Sie sich mit der Datenbank-Engine.
Klicken Sie auf der Standardleiste auf Neue Abfrage.
Kopieren Sie die folgenden Beispiele, und fügen Sie sie in das Abfragefenster ein. Führen Sie die CREATE TRIGGER-Anweisung aus, um den
Sales.bonus_reminderTrigger zu erstellen. Um den Trigger zu deaktivieren und zu aktivieren, führen Sie die DISABLE TRIGGER - bzw. ENABLE TRIGGER-Anweisungen aus.
--Create the trigger.
USE AdventureWorks2012;
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 AdventureWorks2012;
GO
DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
--Enable the trigger.
USE AdventureWorks2012;
GO
ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
Siehe auch
ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
TRIGGER AKTIVIEREN (Transact-SQL)
TRIGGER DEAKTIVIEREN (Transact-SQL)
EVENTDATA (Transact-SQL)
Abrufen von Informationen zu DML-Triggern
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modules (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)