MssqlMerge is a diff and merge GUI tool for Microsoft SQL Server databases used to compare and sync both schema and data changes.
The application has tabbed UI, there are several types of tabs responsible for particular application features and scope of tasks. The starting point is a Home tab - it is used to open databases and show summary about database schema and programming objects changes: table definitions, views, stored procedures and so on. From here, users can drill-down details hidden by these summary numbers - compare lists of objects, definition of particular object or even line of code.
By opening a list of table definitions or views, data can be compared for a given table or view. Tables are compared by primary key, and for views the user can define a unique comparison key. In addition, the application provides the following tools to compare data:
- Batch data diff - used to compare data for multiple tables and views, providing summary of data changes for the whole database,
- Query result diff - compares arbitrary query results, it can be a SELECT statement or EXEC stored procedure call, the same query running on both databases or different queries running on the same or different databases. This tool also can be used to set up column mapping, configure key columns and ignore some columns if necessary.
Many tabs provide quick filters to show only new/changed/new+changed items (schema objects or table data rows), select required changed items and generate scripts to apply these changes to the other side database. This script can be executed immediately or saved for future use.
MssqlMerge is a Freemium application - basic features are exposed in the Free version which is available for commercial use.