Compare system table

I would like to be able to compare the contents of system tables. I realize this can be risky, but it would be extremely helpful for migrating statistics from one database to another, or even just to compare statistics between existing databases.

Is it possible to compare system tables? Is this planned for a future release?

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hello,

    SQL Data Compare will automatically ignore the data in system tables, and there is no way to allow it to do so. We could consider implementing this, but I think it would cause some catastrophic problems if the system table data was synchronized 'accidentally'!
  • I agree there is risk. It would probably be best to only allow scripting of such changes, rather than allow them to be made using the "synchronize" button. Also, it should be an option that is turned off by default, forcing you to think about it before doing so.

    How will I know if this is a feature slated for a future release? Is there a public wish-list that users of this forum can review to see what's planned?
  • This would be useful for releasing SQL Server jobs to a production environment. Because job information is in system tables, we're back to saving scripts.
  • We don't have a list of features (public or otherwise) slated for a new release until shortly before the project begins. These new features are generally determined based on customer demand. The more suggestions we are sent, the more likely it is that we will decide to implement a feature.

    I'm sorry that I can't be any more specific at this stage.

    David Atkinson
    Product Manager
    Red Gate Software
    David Atkinson
    Product Manager
    Redgate Software
  • Hi
    Just a sugestion. Why not replicate the system tables into a temporary table, then you an compare them as normal tables. Crystal reports is able to look at system tables and export to a csv file. I used it to autogenerate a Data Dictionary. A little clunky I know but 4 steps to get a solution is better than no steps not to get any solution.
  • I use a little trick to do that.
    Create views on the system tables, and then include compare views feature.

    You should always be very careful on doing this, and sometimes it can still be a big pain, because SQL uses INT fields with IDENTITY set, and you cannot easily insert new records.

    I personally always use GUID's in all my databases, and I have no problem with synchronizations.
Sign In or Register to comment.