dbForge Schema Compare Review
Schema comparison is simply a process aimed at comparing two database structures to find any differences and make these structures identical - synchronize. In real life, database changes are often followed by hours-long comparison and synchronization. Whether we do it manually or with a good tool, we are a bit anxious or even terrified as synchronization of complicated schema structures with dependencies between and inside database objects still require knowledge and skills.
Even being a virtuoso you may end with a corrupted database and should start from the beginning.
This review is devoted to a schema synchronization tool, dbForge Schema Compare for SQL Server by Devart, that claims having the power to make safe synchronization.
Installation
Installation is easy, just double-click the “.exe file” and follow the prompts, that’s all. De-installation is error-free and complete.
Comparing databases
A good start is half the job done. dbForge Schema Compare meets you with a start page where high-usage tools are displayed. The users can start their common tasks in one click without searching a required command in the menu. For example, they can recompare any of recent comparison projects, create a new snapshot or a SQL document, and quickly access Devart resources if any questions occur.
Both comparison and synchronization are done in easy-to-follow wizards that not only explain what and why should be done, but offer multiple options to customize the result.
Multiple data sources
Any comparison process starts with selecting Source and Target databases. Besides a database, you can select the following data source types:
Snapshot
Backup
Version control - a snapshot revision put under a version control. TFS and SVN are supported.
I decided to compare 2 copies of AdwentureWorks database on SQL Server 2008 and 2005. On the schema comparison wizard it was a snap to create two connections with required databases and to move further.
As I needed to ignore indexes and indexes names when comparing, it was good to find a solid pack of options on the Options wizard page to set comparison rules. So it took only selecting corresponding options and do partial object comparison.
You can compare database structures with default options or save selected comparison settings as your default ones.
Schemas with the same structure but different names are mapped automatically, but you can select the required pair of schemas and map them manually on the Schema Mapping wizard page.
One more thing, to speed up comparison or for any other purposes, you can exclude some object types from comparison. In my case, I decided to exclude user defined types, so I unselected the corresponding check box.
Command line mode
Another essential option is that you can automate schema comparison and synchronization using the command line mode. Moreover, dbForge Schema Compare can generate a file where all your settings are converted into command line arguments. You can only type the path to the generated file in Command Prompt and come back to check the result.
Analyzing database differences
When dbForge Schema Compare has compared database structures, their differences are shown in the comparison window. You get at least 6 things essential for quick analysis of schema differences and correct synchronization:
Different statuses (Only in Source, Different, Equal, Inconsistent, etc) are automatically set for each compared objects.
An operation to apply after synchronization is automatically set for each compared object in the Operation field. Based on your needs you can change it and select the required one from the drop-down list in the field.
You can group compared objects either by object type or by operation.
You can filter database objects by status (e.g., to view Only in Source and Different objects) or by action (e.g., to view Excluded or Included ones.)
You can view DDL of any selected Source and Target schema objects in the two SQL editors just under the grid with comparison results. Differences are marked with three colors: light green, red, and blue. Even a single different character is highlighted to save my time and effort.
You can save and publish schema differences in clear and professionally looking reports. It simplifies keeping records of schema changes.
Synchronizing databases
By default, dbForge Schema Compare includes all the compared objects into synchronization. You can exclude unnecessary ones by unselecting check boxes next to them. Moreover, it is easy to exlude/indude groups of objects.
Schema Synchronization wizard gives the high level of synchronization control. It features as many options as the Schema Comparison wizard does.
To get the required synchronization result, dbForge Schema Compare offers you the following:
Different outputs of the synchronization script. You can open it in the internal editor to check before execution, save to a file for further editing and execution, or execute directly against the Target database. Note, the last option is available only if you have a database in the Target. Personally, I selected the direct execution.
Synchronization options. To be on the safe side, you can backup the Target database before synchronization (and so did I) and set required synchronization rules, for example, to execute the synchronization script as a single transaction.
Automated tracking of object dependencies. On the Dependencies wizard page you can see the grid with the objects that have not been explicitly selected for the synchronization, but which are used by objects, selected for the synchronization. dbForge Schema Compare lists the objects you need to include into synchronization to avoid errors while executing the synchronization script. dbForge Schema Compare found one object in my case.
Action plan and warnings. You can review the synchronization actions, which will be in the synchronization script and possible warnings generated by dbForge Schema Compare that can affect the synchronization. Sometimes you have to change synchronization settings (or even a synchronization script) to solve them. I only get one warning and two notifications.
Conclusions
Clear GUI of wizards with worthy options to customize both comparison and synchronization make comparison predictable and simple. Quick grasp of the differences, provided by grouping, filtering, and script preview capabilities, increase your insight and guarantee correct synchronization. Besides, automatic tracking of object dependencies removes the last obstacles on the road to correct synchronization.
Product information
Web site: dbForge Schema Compare for SQL Server
Editions: Standard and Professional
License price: Standard - $149.95, Professional - $229.95
Benefits:
30-day fully functional product trial
30-day money-back guaranty policy
free 1-year subscription1 for updates and technical support