Using Schema Compare

  • Note that is functionality is still Beta, so let me know if you experience any difficulties.

Choose Source and Target Databases

  • There are two ways to specify source and target databases:
    • The first is to click Database | Compare Schemas from the Toolbar.
    • The second is to right-click on a source database, and then Compare Schemas.
  • Select a Source Database on the left.
  • Select a Target Database on the right.
  • You can add a new database at any time by clicking on Add.
  • Hit Compare

CompareSchemas_1.jpg

View Compare results

  • Once the Schema Compare Engine has completed, the Compare Results Screen will show:
  • Click on any database object, and the details will show in the bottom pane:
    • Source (current) is the scripted object from the source database.
    • Target (Current) is the scripted object from the Target database.
    • Diff Script is the patch to apply for that specific object.
  • Click on Generate Script to generate a patch script from all objects.

CompareSchemas_2.jpg

Filter objects

  • Note that the checkboxes at the top of the screen will allow you to filter the objects displayed.
    • Equal objects ( this is by default OFF)
    • Add - objects to add.
    • Update - objects to modify
    • Drop - object to delete.
  • The screenshot below shows the results with all buttons enabled:

CompareSchemas_3.jpg

Last edited Sep 18, 2009 at 8:00 AM by rozentalsn, version 3

Comments

pegas Feb 13, 2010 at 3:36 AM 
Jarad,
why do you need an undo sctipt? Don't you backup the production database before appying the change script?

jarad_mayers Dec 31, 2009 at 7:01 PM 
Hi,
The Create Zip File is cumulative when I use the schema compare to create a patch for the delta differences.
Am I doing something wrong or this is the way it works? In other words, do I have to apply the patch manually
to target database to update it for delta differences and cannot use Create Zip File?

jarad_mayers Dec 30, 2009 at 7:44 PM 
Hi,
After applying an update script using schema compare to a target DB is there a way to undue it?
I am thinking about an App released in house using the target DB and there is major
problem with the release and need to rollback to the previous version. I also need to rollback the target DB.
Is there an easy way to rollback the DB or I have to manually write undue script for DB?

rozentalsn Sep 29, 2009 at 8:44 AM 
Hey yuewah.
If you script both databases to separate directories, then WinMerge will work out of the box, however, this will not create a diff script for you in the style of dbdiff ( i.e. create new objects, alter existing, drop objects) - hence the existing solution.

yuewah Sep 24, 2009 at 11:13 AM 
if it can show the diff between the script using external diff tools , e.g. WinMerge, would be fanatics!