SystΘmovΘ triggery jsou ulo₧enΘ procedury automaticky spouÜt∞nΘ serverem, pokud nastane urΦitß udßlost.
SystΘmovΘ triggery majφ p°edepsanß jmΘna a parametry. JmΘno triggeru urΦuje, p°i jakΘ udßlosti bude spuÜt∞n.
VÜechny tyto procedury musφ b²t umφst∞ny do aplikace _SYSEXT mezi procedury ulo₧enΘ na serveru (nikoli mezi triggery, tam pat°φ pouze triggery svßzanΘ s databßzov²mi tabulkami). P°i definovßnφ procedury fungujφcφ jako systΘmov² trigger je nutno dodr₧et p°edepsan² poΦet a typy parametr∙, jinak procedura nebude zavolßna.
P°ehled systΘmov²ch trigger∙
PROCEDURE _on_server_start()
Procedura bude zavolßna p°i spuÜt∞nφ SQL serveru. Procedura se zavolß v samostatnΘm vlßkn∞, tak₧e server nebude Φekat na jejφ dokonΦenφ, a bude schopen obsluhovat klienty za jejφho b∞hu.
PROCEDURE _on_server_stop()
Procedura bude zavolßna p°i ukonΦovßnφ SQL serveru. UkonΦenφ serveru se pozdr₧φ do doby, dokud tato procedura neskonΦφ.
PROCEDURE _on_login_change(IN old_logname CHAR(31), IN new_logname CHAR(31))
Procedura se zavolß, kdykoli se klient p°ihlaÜuje, odhlaÜuje nebo m∞nφ svΘ u₧ivatelskΘ jmΘno. ╚innost klienta se pozdr₧φ do dokonΦenφ tΘto procedury.
PROCEDURE _on_backup(IN pathname CHAR(254), IN success Boolean)
Procedura se zavolß, kdy₧ server vytvß°φ kopii svΘho databßzovΘho souboru. V parametru pathname dostane jmΘno souboru, do n∞ho₧ se kopie zapisuje, v parametr success je TRUE, pokud se kopii poda°ilo vytvo°it, FALSE p°i chyb∞.
Procedury _on_server_start, _on_server_stop a _on_backup se provßd∞jφ s administrßtorsk²mi prßvy. Procedura _on_server_start m∙₧e spustit samostatnß vlßkna, kterß budou provßd∞t r∙znΘ prßce pro aplikace b∞₧φcφ na serveru, procedura _on_server_stop m∙₧e ukonΦit Φinnost t∞chto vlßken. Procedura _on_backup m∙₧e nap°φklad p°i chyb∞ odeslat dopis sprßvci.
Pokud systΘmovß procedura volß proceduru ulo₧enou v n∞kterΘ aplikaci, musφ jejφ jmΘno prefixovat jmΘnem tΘto aplikace.
BezpeΦnost
Tyto procedury m∙₧e vytvo°it nebo modifikovat pouze sprßvce databßze.
Vypnutφ spouÜt∞nφ procedur
SpouÜt∞nφ procedur systΘmov²mi udßlostmi lze vypnout p°i startu serveru pomocφ parametru p°φkazovΘ °ßdky /q
. Toto vypnutφ se vyu₧ije v p°φpad∞, pokud se poda°ilo vytvo°it proceduru, kterß zp∙sobuje pßd serveru.