triggers? oh no..

  • Just started a new DBA job..

    Looking at this 'new to me' core DB when I noticed a trigger on a table.

    So, I checked and there are 928 triggers in total for the instance.

    Is it just me or is 928 triggers crazy?

    This is not a big DB (about 50 gig) used for accounting.

    Thoughts?

  • It could be. How many tables? What are the triggers used for?

    50GB isn't big, but size of the DB is more than disk space.

    CEWII

  • The triggers vary they are all types - insert, update, delete

  • Third party software?

  • Umm yeah...it's an accounting product called 'UltiPro'.

    But I can make changes if need be.

    Guess I just never heard of sooooooo many triggers being on a DB before.

    They/we are having performance issues, so you know what I'm thinking.

  • As far as what I meant was what they were actually doing. some peope do DRI in triggers as opposed to the DB.

    Have they been doing re-indexes? Is there a lot of fragmentation? Can you narrow down the code that is performing poorly?

    CEWII

  • Accounting software with that many triggers I would guess many of them are for generating a trail in audit and history tables.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • I would not be surprised..

    I had a case where in relation to auditing of some accounting type software what level of auditing they wanted. Management said, "everything". We stopped the conversation right there and asked whether performance issues were acceptable (no!) and how long they wanted it stored (forever). It was at this point that we educated them on the facts of the world and they took a more balanced approach, they wanted auditing for a subset of things and they wanted the data kept for 10 years. This ended up being a fairly workable balance.

    CEWII

  • Many accounting packages force changes to LastModifiedOn and LastModifiedBy columns using triggers as well as using them for auditing. They will also sometimes have triggers that reject any changes other than inserts so that there's a trail of brreadcrumbs.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply