SQL SERWER WIDZIE WSZYSTKIE wyzwalacze

SQL SERWER WIDZIE WSZYSTKIE wyzwalacze

Spust jest procedurą przechowywaną, która jest wykonywana, gdy na serwerze występuje określone działanie/zdarzenie. Różne rodzaje wyzwalaczy można powiązać z poszczególnymi działaniami.

Na przykład wyzwalacze DML można wykonać, gdy zdarzenie DML nastąpi na serwerze. Wyzwalacze to wyjątkowe funkcje, które pozwalają wdrożyć niestandardowe działania na podstawie działań na serwerze.

Ten szybki przewodnik ma na celu pokazanie wszystkich wyzwalaczy w instancji SQL Server. Znajomość wyzwalaczy na serwerach pozwala określić, które działanie jest podejmowane, gdy nastąpi dane zdarzenie.

Zanurzmy się!

Utwórz przykładowy spust

Przed omówieniem, jak wyświetlić wszystkie wyzwalacze na serwerze, zacznijmy od zdefiniowania prostego spustu do celów ilustracyjnych.

Zacznij od utworzenia bazy danych:

Zrzuć bazę danych, jeśli istnieje local_db;
Utwórz bazę danych local_db;
Użyj local_db;

Następnie zdefiniuj tabelę, jak pokazano następująco:

Utwórz bazy danych tabeli (
Id Int Not Null tożsamość (1,1) klucz podstawowy,
Server_name Varchar (50),
server_address varchar (255) nie null,
kompresja_method varchar (100) Domyślnie „Brak”,
size_on_disk float nie null,
size_Compressed Float,
total_records int not null,
data init_date
);

Następnie utwórz wyzwalacz, aby wyłączyć liczbę dotkniętych wierszy, gdy nastąpi wkładka lub usuń działanie.

Utwórz nostatus wyzwalacza
Na bazach danych
Po wstawieniu usuń
JAK
ZACZYNAĆ
Ustaw NoCount On;
KONIEC;

Lista serwerów SQL wszystkie wyzwalacze

Aby wyświetlić wszystkie wyzwalacze na serwerze SQL, możemy zapytać „SYS.Widok wyzwalania ”, który zawiera rekord dla każdego wyzwalacza na serwerze. Obiekt spustowy może być typu TR lub TA.

Widok zawiera kolumny, takie jak nazwa wyzwalacza, Object_ID, typu itp.

Poniższe zapytanie ilustruje, jak wyświetlić wszystkie wyzwalacze na serwerze za pomocą „SYS.Wyświetl widok wyzwala ”.

wybierać
Nazwa, obiekt_id, type_desc
z
Sys.Wyzwalacze t;

Zwraca to wyzwalacze na serwerze, jak pokazano następująco:

Nazwa | Object_id | type_desc |
--------+---------+-----------+
nostatus | 629577281 | sql_trigger |

W naszym przypadku mamy tylko jeden spust.

Wniosek

Za pośrednictwem tego krótkiego postu odkryłeś, jak wyświetlić wszystkie wyzwalacze na serwerze, pytając „SYS.Wyświetl widok wyzwala ”.