|
![]() | Trasovßnφ a logovßnφ Φinnosti serveru | ![]() | 602SQL server | ╚ekßnφ na uvoln∞nφ zdroj∙ | ![]() |
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.
ReplikaΦnφ systΘmovΘ triggery (_on_replpacket_sent a _on_replpacket_received) se volajφ jen v p°φpad∞, ₧e je to explicitn∞ povoleno p°i nastavovßnφ parametr∙ replikacφ.
Pokud systΘmovß procedura volß proceduru ulo₧enou v n∞kterΘ aplikaci, musφ jejφ jmΘno prefixovat jmΘnem tΘto aplikace.
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∞.
PROCEDURE _on_replpacket_sent (IN ServerID BINARY(12), IN ServerName CHAR(31),
IN PacketType INT, IN PacketNO INT, IN ErrNO SMALLINT, IN ErrText CHAR(128));
Procedura se zavolß p°i odeslßnφ replikaΦnφho paketu, podrobnosti viz Prost°edky pro klientskou reakci na chyby replikacφ.
PROCEDURE _on_replpacket_received (IN ServerID BINARY(12), IN ServerName CHAR(31),
IN PacketType INT, IN PacketNO INT, IN ErrNO SMALLINT, IN ErrText CHAR(128),
IN HdrRec INT, IN HdrID TIMESTAMP);
Procedura se zavolß p°i p°φjmu replikaΦnφho paketu, podrobnosti viz Prost°edky pro klientskou reakci na chyby replikacφ.
BezpeΦnost
Procedury _on_server_start, _on_server_stop, _on_backup , _on_replpacket_send a _on_replpacket_received se provßd∞jφ s prßvy provoznφho sprßvce databßze. 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.
Tyto procedury m∙₧e vytvo°it nebo modifikovat u₧ivatel obsazen² do role Author
v aplikaci _sysext
. Inicißln∞ je do tΘto role obsazena skupina provoznφch sprßvc∙ CONFIG_ADMIN.
Vypnutφ spouÜt∞nφ procedur
SpouÜt∞nφ procedur systΘmov²mi udßlostmi lze vypnout p°i startu serveru pomocφ parametrup°φkazovΘ °ßdky /Q
. Toto vypnutφ se vyu₧ije v p°φpad∞, pokud se poda°ilo vytvo°it proceduru, kterß zp∙sobuje pßd serveru.
![]() | Trasovßnφ a logovßnφ Φinnosti serveru | ![]() | 602SQL server | ╚ekßnφ na uvoln∞nφ zdroj∙ | ![]() |