Ako premazávať veľké množstvo záznamov (príloh) v agende Odoslané e-maily
Veľký počet odoslaných e-mailov s prílohami v agende Odoslané e-maily môže mať za následok zväčšenie veľkosti databázy v ráde GB a tým spomaľovať dobu trvania zálohovania. Pri veľkej veľkosti príloh je preto vhodné zvážiť premazanie historických e-mailov alebo vynulovanie veľkosti príloh.
Do systému ABRA Gen bola doplnená možnosť vykonania odstránenia e-mailov alebo vynulovania veľkosti príloh za zvolené obmedzenie (stáří dokladov, e-mailový účet, rad dokladu, používateľ, ktorý zápis vytvoril, a obsah predmetu e-mailu) pomocou naplánovanej úlohy automatizačného servera.
Pred konfiguráciou naplánovanej úlohy typu “Premazanie záznamov z agendy Odoslané e-maily“ je ale najprv vhodné overiť, či je odstránenie záznamov odoslaných e-mailov vhodné riešiť a ktoré e-maily zaberajú v databáze viac miesta.
1. Zistenie veľkosti príloh v agende Odoslané e-maily
Na zistenie celkovej veľkosti príloh v agende Odoslané e-maily a zistenie, pre ktoré e-mailové účty a rady dokladov je najväčšia veľkosť príloh, vznikla nová funkcia, ktorá sa spúšťa z agendy Firemné údaje, záložka Technické nástroje - Analýza veľkosti príloh v agende Odoslané e-maily.
Výsledok zistenia sa otvorí vo webovom prehliadači formou vizualizácie a tabuliek a obsahuje nasledujúce informácie:
-
celková veľkosť príloh
-
celková veľkosť príloh podľa roku dátumu dokladu
-
celková veľkosť príloh podľa e-mailového účtu
-
celková veľkosť príloh podľa radu dokladu
-
celkový počet záznamov podľa jednotlivých rokov a e-mailových účtov TOP 10
-
prípadne celková veľkosť príloh podľa vybranej dĺžky prefixu predmetu e-mailu
Všetky údaje sú zobrazené formou vizualizácie aj tabuľkou so zistenými počtami, viď obrázok.
Všetky údaje sú zobrazené formou vizualizácie aj tabuľkou so zistenou veľkosťou príloh v bajtoch.
2. Naplánovaná úloha typu “Premazanie záznamov z agendy Odoslané e-maily”
Spustenie premazávania odporúčame nastaviť na neprodukčný čas, zvyčajne v nočných hodinách. Pre prípad mazania veľkého množstva záznamov, ktorých mazanie by mohlo trvať až niekoľko hodín, je v úlohe obsiahnutá možnosť stanoviť maximálnu dobu jej trvania.
Úlohu teda nastavíme napr. na spustenie raz denne do 2:00 s maximálnou dobou odmazávania na 180 min.
Premazávanie by nemalo byť nastavené tak, aby kolidovalo s inou náročnou akciou, napr. so zálohovaním alebo uzávierkami.
Nastavíme, či sa majú mazať doklady alebo iba vynulovať veľkosť príloh e-mailov (oba varianty sa týkajú iba záznamov odoslaných e-mailov, nie dátových správ), ako staré záznamy sa majú mazať a pre aké e-mailové účty a rady dokladov, prípadne od akých používateľov alebo s akým obsahom predmetov e-mailov.
Týmto máme úlohu nastavenú a systém nám bude pravidelne spúšťať premazávanie starých e-mailov alebo príloh.
Odstránenie záznamov na žiadnej z databázových platforiem nevedie k okamžitému zodpovedajúcemu zníženiu veľkosti databázy. Dôvodom je vznik fragmentácie dátových stránok odmazávaním len niektorých záznamov. Predstaviť si celý problém fragmentácie pri odoberaní záznamov z tabuliek si možno zjednodušene vysvetliť na príklade odoberania kariet pacientov z fyzickej kartotéky, keď aj napriek čiastočnému vyprázdneniu kariet pacientov zo zásuvky s pacientmi začínajúcimi na písmeno A nemožno túto zásuvku celú zrušiť, kým v nej zostávajú ešte nejaké záznamy.
V databáze Firebird dôjde k čiastočnému zmenšeniu veľkosti databázy. Ak sa vyprázdni celá databázová stránka, tak sa môže trochu zmenšiť veľkosť celej databázy, ale toto zmenšenie je minimálne a tiež nezodpovedá uvoľnenému miestu podľa odstránených záznamov.
V databáze MSSQL dôjde kvôli vzniknutej väčšej fragmentácii indexov dokonca k zväčšeniu veľkosti databázy. Treba s týmto nečakaným efektom počítať a pripraviť zodpovedajúce nové voľné miesto.
Na vznik väčšej fragmentácie je potrebné upozorniť správcu databázy a dohodnúť, aby nedochádzalo k súbehu akcie údržby databázy (údržby indexov viď. Odporúčanie pre MSSQL MSSQL/Microsoft SQL Server).
3. Dosiahnutie zmenšenia zálohy databázy po odstránení záznamov
Finálne dosiahnutie zmenšenia veľkosti zálohy databázy dosiahneme vykonaním údržby databázy.
V databáze Firebird je tento proces zaistený vykonaním zálohy a následnej obnovy zo zálohy.
Napríklad znížením počtu stránok po obnove o 253080, čo zodpovedá zmenšeniu databázy o 3,8 GB (253080 * 16kB / 1024 / 1024 = GB), pred obnovou Data pages: 1378536, average fill: 68%, po obnove Data pages: 1125456, average fill: 84%.
V databáze MSSQL dosiahneme obdobné spustením akcie údržby indexov viď. Údržba databázy - Odporúčanie pre MSSQL MSSQL/Microsoft SQL Server
Pre databázový server MSSQL platí:
Ak doteraz nebolo riešené spúšťanie údržby indexov, treba počítať s ďalším nárastom veľkosti databázy, a to o veľkosť jednej najväčšej tabuľky (údržba typu REBUILD potrebuje voľné miesto, aby znovu zostavila celú tabuľku). Vzniknuté zväčšenie databázy neodporúčame redukovať pomocou funkcie Shrink, pretože môže viesť k zníženiu výkonu vďaka opätovnej fragmentácii a tiež je dobré mať rezervované miesto na prípadné opakované vykonanie akcie REBUILD najväčšej tabuľky databázy.
Treba počítať s tým, že akciu typu REBUILD nemožno spustiť v režime ONLINE na STANDARD edícii SQL servera. Spustenie tejto akcie je opäť nutné naplánovať na mimoprodukčný čas, pretože môže blokovať fungovanie systému až na niekoľko hodín.
V prípade, že sa chystáte odstrániť veľké množstvo záznamov, je lepšie akciu premazávania nastaviť na kratšiu dobu behu a potom priebežne vykonávať údržbu pomocou reorganizácie indexov. Tým možno dosiahnuť nepretržitú prevádzku počas údržby.
