Idera SQL Change Manager
As shown, there are many object types. You can select whole object types to include in or exclude from the comparison, and you can also set a filter to constrain the list of object types to be included. These filters are “Exclusion Filters”. If you are a developer, this may take some getting used to as you may be more familiar with inclusion filters which allow you to specify patterns that objects need to match, instead of patterns that are not to be matched.
Next you determine how the comparison should be done. The above selection is the default, which is fairly complete right out of the box. You can extend the comparison to include comments and even the ordinal position of a column in a given table.
Finally, the wizard gives you the opportunity to store your selections and settings as a synchronization plan which you can keep for future ad-hoc executions or schedule to run at regular intervals. Note, that by just storing the plan, you haven’t yet created a schedule for it. If you want it to run at regular intervals you need to edit the plan and add the schedule. By default, the “Run comparison now…” checkbox is checked, which means that a click on the “Finish” immediately starts the comparison process. On busy production servers you may want to uncheck that box, store the plan, and run the comparison during off-peak hours or during scheduled maintenance windows.
I’ve decided to leave the “Run comparison now…” checkbox checked, and therefore Idera SQL change manager goes to work after I’ve clicked on the “Finish” button. Depending on your environment and the selections and settings in the plan this comparison process might take a while to complete. However even with the test scripts above I’ve found the tool to be very fast.
Once the comparison process has finished, the above synchronization dialog comes up. The comparison has found 47 objects to be equal and one object that exists only in my dev database.