Is there a way to view Stored Procedure, Trigger andFunction Usage in SQL Server?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • marcsirois@gmail.com

    Is there a way to view Stored Procedure, Trigger andFunction Usage in SQL Server?

    I am maintaining an application where most of the business rules are in
    Triggers, Stored Procedures and User Defined Functions. When a bug
    arises, it can get very tedious to debug. Today for example, I wanted
    to modify a function that was being called by a trigger. The problem
    is that I don't want to change the function, for fear that it is being
    called by one of the other SP's or triggers in the database (there are
    hundreds of them)

    Essentially, I need a tool that allows me to view where functions and
    sp's are being referenced from. At the very least, I'd like to perform
    a "full text search" in the database objects, so that let's say I have
    a function named "fn_doSomething ", I can search the schema for this
    string and get all the places where it appears.

    As you can see, I'm in the dark here. I've never worked on a system
    where all business rules are at the database level. If you know of a
    tool that does what I describe above, or anything else that would
    facilitate my life, please let me know!

    Thanks for your help,

    Marc

  • abc

    #2
    Re: Is there a way to view Stored Procedure, Trigger andFunctionUsag e in SQL Server?

    Not sure about 2005 but in 2000 use syscomments

    SELECT *
    FROM syscomments
    WHERE TEXT LIKE '%<your function name>%'

    Now add sysobjects to get the name of the stored procedure where your
    function is called. If you are using QA instead of that awful thing in
    2005, create a stored procedure in the master database add a shortcut
    key sequence in QA, highlight the function name, press the shortcut and
    all instances will magically appear.

    Adrian



    marcsirois@gmai l.com wrote:
    I am maintaining an application where most of the business rules are in
    Triggers, Stored Procedures and User Defined Functions. When a bug
    arises, it can get very tedious to debug. Today for example, I wanted
    to modify a function that was being called by a trigger. The problem
    is that I don't want to change the function, for fear that it is being
    called by one of the other SP's or triggers in the database (there are
    hundreds of them)
    >
    Essentially, I need a tool that allows me to view where functions and
    sp's are being referenced from. At the very least, I'd like to perform
    a "full text search" in the database objects, so that let's say I have
    a function named "fn_doSomething ", I can search the schema for this
    string and get all the places where it appears.
    >
    As you can see, I'm in the dark here. I've never worked on a system
    where all business rules are at the database level. If you know of a
    tool that does what I describe above, or anything else that would
    facilitate my life, please let me know!
    >
    Thanks for your help,
    >
    Marc
    >

    Comment

    • marcsirois

      #3
      Re: Is there a way to view Stored Procedure, Trigger andFunction Usage in SQL Server?

      Thanks Adrian,

      Thanks for the reply. This is indeed helpful.


      abc wrote:
      Not sure about 2005 but in 2000 use syscomments
      >
      SELECT *
      FROM syscomments
      WHERE TEXT LIKE '%<your function name>%'
      >
      Now add sysobjects to get the name of the stored procedure where your
      function is called. If you are using QA instead of that awful thing in
      2005, create a stored procedure in the master database add a shortcut
      key sequence in QA, highlight the function name, press the shortcut and
      all instances will magically appear.
      >
      Adrian
      >
      >
      >
      marcsirois@gmai l.com wrote:
      I am maintaining an application where most of the business rules are in
      Triggers, Stored Procedures and User Defined Functions. When a bug
      arises, it can get very tedious to debug. Today for example, I wanted
      to modify a function that was being called by a trigger. The problem
      is that I don't want to change the function, for fear that it is being
      called by one of the other SP's or triggers in the database (there are
      hundreds of them)

      Essentially, I need a tool that allows me to view where functions and
      sp's are being referenced from. At the very least, I'd like to perform
      a "full text search" in the database objects, so that let's say I have
      a function named "fn_doSomething ", I can search the schema for this
      string and get all the places where it appears.

      As you can see, I'm in the dark here. I've never worked on a system
      where all business rules are at the database level. If you know of a
      tool that does what I describe above, or anything else that would
      facilitate my life, please let me know!

      Thanks for your help,

      Marc

      Comment

      • Ed Murphy

        #4
        Re: Is there a way to view Stored Procedure, Trigger andFunctionUsag e in SQL Server?

        abc wrote:
        SELECT *
        FROM syscomments
        WHERE TEXT LIKE '%<your function name>%'
        Doesn't this miss instances where <your function nameis split
        across two chunks of text?

        Comment

        • marcsirois

          #5
          Re: Is there a way to view Stored Procedure, Trigger andFunction Usage in SQL Server?

          You're right, Ed. For instance, if <function nameis referenced from
          8 different places in a stored procedure, it will only return 1 result.

          That's why I was asking about some sort of 3rd party tool that would
          allow you to seasrch for a string, return all the instances where it's
          found, and let you navigate across the results. Ideally, you'd click
          on a stored procedue for example, and the tool would return all areas
          where this stored procedure is called, and vice versa.

          I'm sure something like this exists, it's just a matter of finding it.
          Unfortunately, my google skill are failing me.

          But for now, the "select from syscomments" solution will do.

          Thanks,

          Marc


          Ed Murphy wrote:
          abc wrote:
          >
          SELECT *
          FROM syscomments
          WHERE TEXT LIKE '%<your function name>%'
          >
          Doesn't this miss instances where <your function nameis split
          across two chunks of text?

          Comment

          • xAvailx

            #6
            Re: Is there a way to view Stored Procedure, Trigger andFunction Usage in SQL Server?

            > The problem is that I don't want to change the function, for fear that it is being called by one of the other SP's or triggers in the database (there are hundreds of them) <<

            It is considered good practice to have your database objects scripted
            and in source code control. If that is the case, then you can use any
            text editor to search and manipulate the sps, triggers, udfs, etc...

            If that is not the case (I would still recommend scripting), I found
            this post with a util stored proc that you may find useful (don't know
            if it works or not...)



            HTH


            marcsirois@gmai l.com wrote:
            I am maintaining an application where most of the business rules are in
            Triggers, Stored Procedures and User Defined Functions. When a bug
            arises, it can get very tedious to debug. Today for example, I wanted
            to modify a function that was being called by a trigger. The problem
            is that I don't want to change the function, for fear that it is being
            called by one of the other SP's or triggers in the database (there are
            hundreds of them)
            >
            Essentially, I need a tool that allows me to view where functions and
            sp's are being referenced from. At the very least, I'd like to perform
            a "full text search" in the database objects, so that let's say I have
            a function named "fn_doSomething ", I can search the schema for this
            string and get all the places where it appears.
            >
            As you can see, I'm in the dark here. I've never worked on a system
            where all business rules are at the database level. If you know of a
            tool that does what I describe above, or anything else that would
            facilitate my life, please let me know!
            >
            Thanks for your help,
            >
            Marc

            Comment

            Working...