Udostępnij za pośrednictwem


Implementing DDL Triggers

W tym temacie przedstawiono informacje ułatwiające tworzenie wyzwalaczy DDL, modyfikowanie wyzwalacze DDL i wyłączyć lub usunąć wyzwalacze DDL.

Tworzenie wyzwalaczy DDL

Wyzwalacze DDL są tworzone za pomocą Transact-SQL Instrukcja CREATE TRIGGER wyzwalaczy DDL.

Aby utworzyć wyzwalacz DLL

Aby usunąć wyzwalacz DLL

Important noteImportant Note:

Możliwość zwrócić zestaw wyników z wyzwalacze zostaną usunięte w przyszłej wersja programu SQL Server. Wyzwalacze, które zwracają zestawów wyników może spowodować nieoczekiwane zachowanie w aplikacjach, które nie są przeznaczone do pracy z nimi.Uniknąć przesłać zestaw wyników z wyzwalaczy w nowej pracy rozwoju i zaplanować do modyfikowania aplikacji, które aktualnie to zrobić.Aby uniemożliwić zwrócenie wyników wyzwalacze ustawia się w SQL Server 2008, ustaw Nie zezwalaj na wyniki z wyzwalaczami Option to 1.Domyślnym ustawieniem tej opcji będzie 1 w przyszłej wersja programu SQL Server.

Uwaga

Serwer o zakresie wyzwalacze DDL są wyświetlane w SQL Server Management Studio Object Explorer w Wyzwalacze folder. Ten folder znajduje się w obszarze Obiekty serwera folder. Baza danych o zakresie wyzwalacze DDL są wyświetlane w Wyzwalacze bazy danych folder. Ten folder znajduje się w obszarze Programowania folder z odpowiednią bazę danych.

Modyfikowanie kodu DDL wyzwalaczy

Jeśli trzeba zmodyfikować definicję wyzwalacz DLL, można albo usunąć i ponownie utworzyć wyzwalacz lub ponownego zdefiniowania istniejących wyzwalaczy w jednym kroku.

Jeśli zmienisz nazwę obiektu, który jest wywoływany przez wyzwalacz DLL, należy zmodyfikować wyzwalacz, tak aby jego tekst odzwierciedla nową nazwę.Dlatego przed zmianą nazwy obiektu, należy wyświetlić zależności obiektów, aby ustalić, czy proponowane zmiany dotyczą wszystkich wyzwalaczy.

Wyzwalacz może również zostać zmieniony na szyfrowanie jego definicję.

Aby zmodyfikować wyzwalacza

Aby wyświetlić zależności wyzwalacza

Wyłączanie i upuszczając DDL wyzwalaczy

Gdy wyzwalacz DLL nie jest potrzebna, można go wyłączyć lub go usunąć.

Wyłączanie wyzwalacz DLL nie spadnie go.Wyzwalacz jest nadal istnieje jako obiekt w bieżącej bazie danych.Jednak wyzwalacz nie będzie wyzwalana przy Transact-SQL instrukcje, w którym został zaprogramowany są uruchamiane. Może być reenabled wyzwalaczy DDL, które są wyłączone.Włączenie języka DDL wyzwalacza powoduje, że jego uruchomienie w taki sam sposób, czy wyzwalacz, gdy został pierwotnie utworzony.Podczas tworzenia wyzwalaczy DDL, są one włączone domyślnie.

Usunięcie wyzwalacz DLL zostanie usunięte z bieżącej bazy danych.Wszystkie obiekty i dane, na których jest objęty zakresem wyzwalacz DLL nie są zagrożone.

Aby wyłączyć wyzwalacz DLL

Aby włączyć wyzwalacz DLL

Aby usunąć wyzwalacz DLL