Opis Wyzwalacze DDL

Wyzwalacze DDL, podobnie jak regularne wyzwalaczy ognia procedur przechowywanych w odpowiedzi na zdarzenie.W odróżnieniu od jednak DML wyzwalaczy, one nie uruchamiaj w odpowiedzi na sprawozdaniu aktualizacji, WSTAWIANIA lub usuwania w tabela lub widoku.Natomiast ich ognia w odpowiedzi na różne zdarzenia Data Definition Language (DDL).Zdarzenia te odpowiadają przede wszystkim do Transact-SQL instrukcji, które start ze słowami kluczowymi CREATE, ALTER i UPUSZCZANIA.Niektóre procedury składowane w systemie, wykonujących operacje DDL like można również ognia Wyzwalacze DDL.

Ważna informacjaWażne:

Przetestuj swój Wyzwalacze DDL do określenia ich odpowiedzi na procedury składowane w systemie , są uruchamiane.Na przykład utworzyć typ instrukcja i sp_addtype zarówno procedura składowana zostanie zastosowana wyzwalacz DLL, utworzonego zdarzenie CREATE_TYPE..

Wyzwalacze DDL służą zadania administracyjne, takie jak inspekcji oraz regulowanie operacji bazy danych.

Użyj wyzwalaczy DDL, należy wykonać następujące czynności:

  • Chcesz uniemożliwić pewne zmiany schemat bazy danych.

  • Chcesz coś w bazie danych w odpowiedzi na zmiany schemat bazy danych.

  • Do rejestrowania zmian lub zdarzeń w schemat bazy danych.

Wyzwalacze DDL ognia dopiero po instrukcji DDL wyzwalacza, że ich są uruchamiane.Wyzwalacze DDL nie można używać jako zamiast wyzwalaczy.

Poniższy przykład pokazuje, jak wyzwalacz DLL można zapobiec dowolnej tabela w bazie danych, zmodyfikowany lub usunięty.

CREATE TRIGGER safety 
ON DATABASE 
FOR DROP_TABLE, ALTER_TABLE 
AS 
   PRINT 'You must disable Trigger "safety" to drop or alter tables!' 
   ROLLBACK ;

Wyzwalacze DDL można ognia w odpowiedzi na Transact-SQL zdarzenie przetwarzania bieżącej bazy danych lub bieżącego serwera.Zdarzenie zależy od zakres wyzwalacza.Aby uzyskać więcej informacji na temat zakres wyzwalacz DLL, zobacz Zaprojektowanie Wyzwalacze DDL.

Aby uzyskać przykład wyzwalacz DLL, która jest dostępna w AdventureWorks2008R2 przykładowej bazy danych w Eksploratorze obiektów w SQL Server Management Studio, otwórz folder bazy danych wyzwalacze, w folderze programowania AdventureWorks2008R2 bazy danych.Kliknij prawym przyciskiem myszy ddlDatabaseTriggerLog i wybierz Skrypt bazy danych wyzwalacz jako.Domyślnie wyzwalacz DLL ddlDatabaseTriggerLog jest wyłączona.