How do we know that a ROW was modified in the CATALOG Table

  • Team:

    I need to find out who is modifying reports in the report server ?

    if I were to make a backup copy of the CAtalog table can I use that and find what rows got

    modified ?

    What I mean is did any of the contents really get changed ( PATH, CONTENT, NAME , DESCRIPTION )

  • You have a few options.

    1. Restore a backup and compare data in the table

    2. Put an update trigger on the Catalog table to log changes to another table either in the ReportServer database or another database. The issue with this is that an upgrade may wipe out the trigger.

    3. Setup a server-side trace that filters on the ReportServer database that logs all the T-SQL against it and load that into a table. You could get creative with the filtering so that you only filter update statements against the Catalog table

    4. Keep all your report definitions in Source control. Then you can pull down what's on the report server and compare it ot the current version in Source Control.

    Really #4 is probably the best way to deal with it. Report Definitions are Code and should be in source control.

  • Team:

    1. I have a SSIS job that backs up the CATALOG table daily ( at 10 PM ).

    What I like to do is before I update the backup table I'd like to compare with yesterdays records and

    make a report of what got changed.

    So then what I am really looking for is some SQL code that will help me compare the values in certain fields.

    Now,I can certainly take care of some of the common fields.

    Ahh! But I need help with the "CONTENTS" field. This is a varbinary field I believe.

Viewing 3 posts - 1 through 2 (of 2 total)

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