Implementieren von DDL-Triggern

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Dieses Thema enthält Informationen, die Ihnen beim Erstellen von DDL-Triggern, Ändern von DDL-Triggern sowie Deaktivieren oder Löschen von DDL-Triggern helfen sollen.

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

Wichtig

Die Fähigkeit, Resultsets aus Triggern zurückzugeben, wird in einer zukünftigen Version von SQL Serverentfernt. Durch Trigger, die Resultsets zurückgeben, kann es in Anwendungen, die hierfür nicht konzipiert wurden, zu unerwartetem Verhalten kommen. Vermeiden Sie deshalb bei Neuentwicklungen, Resultsets aus Triggern zurückzugeben, und planen Sie die Änderung von Anwendungen, in denen dies derzeit verwendet wird. Damit Trigger in SQL Server keine Ergebnismengen zurückgeben können, setzen Sie die Option Ergebnisse von Triggern verbieten auf 1. In einer zukünftigen Version von SQL Server wird die Standardeinstellung für die Option 1 sein.

Ändern von DDL-Triggern

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

Wenn Sie den Namen eines Objekts ändern, auf das ein DDL-Trigger verweist, müssen Sie den Trigger so ändern, dass sein Text den neuen Namen widerspiegelt. Bevor Sie ein Objekt umbenennen, sollten Sie daher erst die Abhängigkeiten des Objekts anzeigen, um feststellen zu können, ob Trigger von der beabsichtigten Änderung betroffen sind.

Sie können einen Trigger auch ändern, um seine Definition zu verschlüsseln.

So ändern Sie einen Trigger

So zeigen Sie die Abhängigkeiten eines Triggers an

Deaktivieren und Löschen von DDL-Triggern

Wenn ein DDL-Trigger nicht mehr benötigt wird, kann er deaktiviert oder gelöscht werden.

Durch das Deaktivieren eines DDL-Triggers wird er nicht gelöscht. Der Trigger ist weiterhin als Objekt in der aktuellen Datenbank vorhanden. Der Trigger wird jedoch nicht ausgelöst, wenn die Transact-SQL-Anweisungen, für die er programmiert wurde, ausgeführt werden. Deaktivierte DDL-Trigger können erneut aktiviert werden. Wenn ein DDL-Trigger aktiviert wird, wird er so ausgelöst wie nach seiner ursprünglichen Erstellung. DDL-Trigger werden beim Erstellen standardmäßig aktiviert.

Wenn ein DDL-Trigger gelöscht wird, wird er aus der aktuellen Datenbank gelöscht. Objekte oder Daten, für die der DDL-Trigger den Bereich besitzt, sind hiervon nicht betroffen.

So deaktivieren Sie einen DDL-Trigger

So aktivieren Sie einen DDL-Trigger

So löschen Sie einen DDL-Trigger