Implementera DDL-utlösare

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Det här avsnittet innehåller information som hjälper dig att skapa DDL-utlösare, ändra DDL-utlösare och inaktivera eller släppa DDL-utlösare.

Skapa DDL-utlösare

DDL-utlösare skapas med hjälp av instruktionen Transact-SQL CREATE TRIGGER för DDL-utlösare.

Skapa en DDL-utlösare

Viktigt!

Möjligheten att returnera resultatuppsättningar från utlösare tas bort i en framtida version av SQL Server. Utlösare som returnerar resultatuppsättningar kan orsaka oväntat beteende i program som inte är utformade för att fungera med dem. Undvik att returnera resultatuppsättningar från utlösare i nytt utvecklingsarbete och planera att ändra program som för närvarande gör detta. För att förhindra att utlösare returnerar resultatuppsättningar i SQL Server, ställ in alternativet tillåt inte resultat från utlösare till 1. Standardinställningen för det här alternativet är 1 i en framtida version av SQL Server.

Ändra DDL-utlösare

Om du måste ändra definitionen av en DDL-utlösare kan du antingen släppa och återskapa utlösaren eller omdefiniera den befintliga utlösaren i ett enda steg.

Om du ändrar namnet på ett objekt som refereras till av en DDL-utlösare måste du ändra utlösaren så att dess text återspeglar det nya namnet. Innan du byter namn på ett objekt ska du därför först visa objektets beroenden för att avgöra om några utlösare påverkas av den föreslagna ändringen.

En utlösare kan också ändras för att kryptera dess definition.

Ändra en utlösare

Visa beroenden för en utlösare

Inaktivera och släppa DDL-utlösare

När en DDL-utlösare inte längre behövs kan du inaktivera den eller ta bort den.

Om du inaktiverar en DDL-utlösare tas den inte bort. Utlösaren finns fortfarande som ett objekt i den aktuella databasen. Utlösaren utlöses dock inte när några Transact-SQL-instruktioner som den programmerades för körs. DDL-utlösare som är inaktiverade kan återanvändas. Om du aktiverar en DDL-utlösare utlöses den på samma sätt som utlösaren gjorde när den ursprungligen skapades. När DDL-utlösare skapas aktiveras de som standard.

När en DDL-utlösare tas bort tas den bort från den aktuella databasen. Objekt eller data som DDL-utlösaren är avsedd för påverkas inte.

Inaktivera en DDL-utlösare

Så här aktiverar du en DDL-utlösare

Ta bort en DDL-utlösare