Freigeben über


Implementieren von DDL-Triggern

Dieses Thema enthält Informationen, mit denen Sie DDL-Trigger erstellen, DDL-Trigger ändern und DDL-Trigger deaktivieren oder ablegen können.

Erstellen von DDL-Triggern

DDL-Trigger werden mithilfe der Transact-SQL CREATE TRIGGER-Anweisung für DDL-Trigger erstellt.

So erstellen Sie einen DDL-Trigger

Von Bedeutung

Die Fähigkeit, Resultsets aus Triggern zurückzugeben, wird in einer zukünftigen Version von SQL Serverentfernt. Trigger, die Resultsets zurückgeben, können unerwartetes Verhalten in Anwendungen verursachen, die nicht für die Arbeit mit ihnen konzipiert sind. Vermeiden Sie deshalb bei Neuentwicklungen, Resultsets aus Triggern zurückzugeben, und planen Sie die Änderung von Anwendungen, in denen dies derzeit verwendet wird. Um zu verhindern, dass Trigger Resultsets in SQL Server zurückgeben, legen Sie die Option 'Ergebnisse von Triggern nicht zulassen' auf 1 fest. Die Standardeinstellung dieser Option ist 1 in einer zukünftigen Version von SQL Server.

Ändern von DDL-Triggern

Wenn Sie die Definition eines DDL-Triggers ändern müssen, können Sie den Trigger entweder ablegen und neu erstellen oder den vorhandenen Trigger in einem einzigen Schritt neu definieren.

Wenn Sie den Namen eines Objekts ändern, auf das von einem DDL-Trigger verwiesen wird, müssen Sie den Auslöser so ändern, dass dessen Text den neuen Namen wiedergibt. Zeigen Sie daher vor dem Umbenennen eines Objekts zuerst die Abhängigkeiten des Objekts an, um zu bestimmen, ob alle Trigger von der vorgeschlagenen Änderung betroffen sind.

Ein Trigger kann auch geändert werden, um seine Definition zu verschlüsseln.

So ändern Sie einen Trigger

So zeigen Sie die Abhängigkeiten eines Triggers an

Deaktivieren und Entfernen von DDL-Triggern

Wenn ein DDL-Trigger nicht mehr benötigt wird, können Sie ihn deaktivieren oder löschen.

Das Deaktivieren eines DDL-Triggers entfernt diesen nicht. Der Auslöser ist weiterhin als Objekt in der aktuellen Datenbank vorhanden. Der Trigger wird jedoch nicht ausgelöst, wenn irgendeine Transact-SQL Anweisung ausgeführt wird, auf der er programmiert wurde. DDL-Trigger, die deaktiviert sind, können erneut aktiviert werden. Das Aktivieren eines DDL-Triggers bewirkt, dass er auf die gleiche Weise ausgelöst wird wie der Trigger, als er ursprünglich erstellt wurde. Wenn DDL-Trigger erstellt werden, sind sie standardmäßig aktiviert.

Wenn ein DDL-Trigger gelöscht wird, wird er aus der aktuellen Datenbank gelöscht. Objekte oder Daten, auf die der DDL-Trigger angewendet wird, sind nicht betroffen.

So deaktivieren Sie einen DDL-Trigger

So aktivieren Sie einen DDL-Trigger

So löschen Sie einen DDL-Trigger