For SQL Server, try the free options first: SSMS 22 has a generally available Schema Compare, and the VS Code MSSQL extension compares databases, .dacpac files and SQL projects. If you also need data compare or a command line in a pipeline, the established paid tools are Redgate SQL Compare and SQL Data Compare and dbForge Schema Compare and Data Compare. For PostgreSQL, pgAdmin Schema Diff is free. For several engines from one desktop client, look at DBeaver Enterprise or Ultimate, DataGrip (structure only), Navicat Premium Enterprise or DbGate Premium. In scripts and CI, Liquibase diff and Atlas schema diff have free tiers.
There are two different jobs under the name "database compare". Schema compare finds structural differences (tables, columns, indexes, constraints, views, routines) between two databases, or between a database and a set of scripts, a backup or a project, and generates the DDL to make the target match the source. Teams use it to check drift between environments, to build a deployment script, or to review what a release will change. Data compare finds row-level differences between tables with matching keys and generates INSERT, UPDATE and DELETE statements, which helps with reference data, test environments and recovering a few damaged rows.
Most tools do schema compare; fewer do data compare, and fewer still work across engines. The table below shows which tool does which. If you want to move schema changes forward in a controlled way rather than compare after the fact, see the migration tools in the best database tools for developers and Flyway vs Liquibase.
Quick picks
Generally available since SSMS 22.10.2 and free; compares databases, .dacpac files and SQL projects.
Dedicated tools that also compare backups, snapshots and script folders, with a command line in the Pro edition.
Built into pgAdmin; compares two databases or schemas and generates a synchronisation script.
Schema compare and table data comparison across many engines in the Enterprise and Ultimate editions; a simple structure compare is free.
atlas schema diff compares databases, schema files and migration directories; the free edition covers tables, indexes and constraints.
How we chose
Considered: Redgate SQL Compare and SQL Data Compare, dbForge Schema Compare and Data Compare, SSMS 22 Schema Compare, the VS Code MSSQL extension and SqlPackage, DBeaver (Community and PRO), DataGrip, pgAdmin Schema Diff, Navicat Premium, DbGate, DbVisualizer, Liquibase, Atlas and migra.
Inclusion criteria: the tool documents schema compare or data compare with a generated synchronisation script, is sold or maintained in October 2026, and documents which databases and editions the feature covers. migra is excluded because its repository says it is officially deprecated (last release September 2022). DbVisualizer is excluded because its Pro compare feature, as listed in the vendor's feature list, compares editor buffers and grid contents; we found no documented schema synchronisation script.
Order: not a ranking. Dedicated SQL Server compare tools first, then free Microsoft tools, then multi-database clients, then command-line tools.
At a glance
| Tool | Schema compare | Data compare | Price | Engines | Main trade-off |
|---|---|---|---|---|---|
| Redgate SQL Compare and SQL Data Compare | Yes | Yes (separate product) | Paid, per user per year | SQL Server, Azure SQL, Amazon RDS | SQL Server only; other engines are separate products |
| dbForge Schema Compare and Data Compare | Yes | Yes (separate product or bundle) | Paid, annual subscription | SQL Server, Azure SQL, Amazon RDS | Windows only |
| SSMS 22 Schema Compare | Yes | No | Free | SQL Server, Azure SQL | Windows only; no data compare |
| VS Code MSSQL Schema Compare and SqlPackage | Yes | No | Free | SQL Server, Azure SQL, Fabric SQL | No data compare |
| DBeaver | Simple compare free; full compare in Enterprise and Ultimate | Enterprise and Ultimate | Freemium | Many relational databases | Full compare is not in Community or Lite |
| DataGrip | Yes, with migration script | Not documented | Paid (free non-commercial) | Many relational databases | Structure only |
| pgAdmin Schema Diff | Yes | No | Free | PostgreSQL | Same major version only |
| Navicat Premium | Enterprise edition | Enterprise edition | Paid (free Lite without sync) | Many relational and NoSQL | Needs the top edition |
| DbGate | Premium | Premium | Freemium | MySQL, PostgreSQL, SQL Server, Oracle and more | Compare is not in Community |
| Liquibase diff | Yes | Data diff type listed | Free Community; paid Secure | 65+ databases | Some object types need Secure |
| Atlas schema diff | Yes | No | Free Community; paid Pro | Community: MySQL, MariaDB, PostgreSQL, SQLite | Views and routines need Pro |
Redgate SQL Compare and SQL Data Compare
Redgate says SQL Compare "finds the differences between databases, environments or backups down to individual lines of SQL, then generates a dependency-aware deployment script." It lists SQL Server 2008 to 2025, Azure SQL and SQL Server on Amazon RDS, and can compare live databases, snapshots, native and Redgate SQL Backup Pro backups, and folders of SQL scripts in source control. It comes in Standard and Pro editions; Pro adds backup and script folder support, command-line deployments and object restoration from backups.
SQL Data Compare is the companion product for table contents: it compares live databases, backups or scripts, generates T-SQL to synchronise them, and can restore missing or damaged rows without a full restore. Both are sold per user per year with a 14-day trial, and both are included in SQL Toolbelt Essentials. For other engines Redgate sells separate products, including Schema Compare for Oracle and MySQL and Redgate pgCompare for PostgreSQL. See the Redgate alternatives guide.
- SQL Server family only; other engines need separate Redgate products.
- Two products to buy for schema and data, unless you take the SQL Toolbelt Essentials bundle.
- The command line needs the Pro edition.
dbForge Schema Compare and Data Compare
Devart's dbForge Schema Compare for SQL Server compares live databases, native backups, snapshots and script folders and generates synchronisation scripts; dbForge Data Compare does the same for table data. Both work with SQL Server, Azure SQL Database and Amazon RDS for SQL Server, run standalone or inside SSMS, and include a command-line interface for automation.
As listed on Devart's product pages on 7 October 2026, each starts at USD 239.95 a year, and the dbForge Compare Bundle with both starts at USD 299.95 a year. Devart sells separate tool lines for MySQL, Oracle and PostgreSQL. The dbForge Studio IDE also includes compare features; see the dbForge review.
- Windows only; Devart documents macOS and Linux use only through CrossOver.
- The SQL Server editions do not cover other engines.
- Trial length is not stated on the compare product pages.
Read our dbForge Schema Compare and Data Compare review · Official site
SSMS 22 Schema Compare
Microsoft made Schema Compare generally available in SQL Server Management Studio 22.10.2, released on 28 September 2026, together with the Database DevOps workload for SQL database projects. It compares databases, .dacpac files and SQL projects, and SSMS can open saved .scmp comparisons. It is built on Microsoft's DacFx engine.
If you already have SSMS installed and need to check drift between two environments a few times a month, this may be all you need. See our SSMS review.
- No data compare.
- Windows only.
- Newly generally available, so expect fewer options than long-established commercial tools (editorial).
VS Code MSSQL Schema Compare and SqlPackage
The MSSQL extension for VS Code includes a Schema Compare that compares databases, .dacpac files and SQL projects, and can apply the changes or generate a script. With SQL database projects, the same engine works from the command line: build the project to a .dacpac, then let SqlPackage's publish action calculate and apply the difference against a target database.
This is the free route for Mac and Linux users who work with SQL Server, and for teams that want comparison in a pipeline without buying a tool. Microsoft documents SQL Server, Azure SQL Database, Azure SQL Managed Instance and SQL database in Microsoft Fabric as targets.
- No data compare.
- SQL Server and Azure SQL family only.
- Generated deployments need review for renames and data-preserving changes (editorial).
Read our VS Code MSSQL Schema Compare and SqlPackage review · Official site
DBeaver
DBeaver has two levels of comparison. Simple Structure Compare, available in Community, Enterprise and Ultimate, compares two databases, schemas or tables side by side and shows a lightweight report. The full Schema Compare, which DBeaver documents as available in the Enterprise and Ultimate editions only, uses Liquibase snapshots to read both sides and produces a DDL diff (or a changelog, JSON or YAML) that you can save, run against the target or schedule as a task. Table data comparison is also listed for Enterprise, Ultimate and Team on the editions page; Lite has neither.
As listed on dbeaver.com/edition on 7 October 2026, Enterprise costs USD 255 a year and Ultimate USD 510 a year. See DBeaver Community vs DBeaver PRO.
- Full schema compare and data compare are not in Community or Lite.
- Results depend on what Liquibase snapshots read for each engine (editorial).
- Java-based desktop application.
DataGrip
JetBrains documents comparing two objects of the same type, such as two schemas, two tables or two routines, which can be hosted on different servers. Select both in the Database Explorer and choose Compare Structure With; DataGrip generates a migration script that makes the target equal to the origin, which you can edit, execute or open in a query console. You can exclude individual changes.
DataGrip is free for non-commercial use and a subscription for commercial use. See DBeaver vs DataGrip.
- The documentation covers structure comparison only; no data compare is documented.
- Commercial use needs a paid subscription.
pgAdmin Schema Diff
pgAdmin 4's Schema Diff compares objects between two databases or two schemas, shows the source DDL, target DDL and the difference side by side, and generates a synchronisation script that opens in the Query Tool. pgAdmin 9.18 is under the PostgreSQL Licence and supports PostgreSQL 14 to 18.
migra, once a popular command-line alternative for PostgreSQL, is officially deprecated, so pgAdmin Schema Diff is the free GUI option to start with. See our pgAdmin review.
- The documentation says source and target servers must be the same major version.
- When comparing two schemas, dependencies are not resolved.
- No data compare.
DbGate
DbGate is a cross-platform database manager whose Community edition is GPL-3.0. Its pricing page lists schema comparison and deployment, and data compare, as Premium features. It covers MySQL, PostgreSQL, SQL Server, Oracle, SQLite, MariaDB, MongoDB, Redis, ClickHouse and others, and runs on the desktop or as a web application. Version 7.3.1 was released on 24 September 2026.
As listed on DbGate's pricing page on 7 October 2026, Premium costs USD 12 a month or USD 120 a year, and Team Premium USD 15 per user per month.
- Compare features are not in the free Community edition.
- A smaller vendor than Redgate, Devart or JetBrains (editorial).
Liquibase diff
Liquibase's diff command compares two databases "of the same or different types", and is typically used to detect drift or to check that all expected changes are in the changelog. diff-changelog writes the differences as a changelog you can apply. The documentation lists a data diff type among the comparison options.
Liquibase documents that some diff types, including check constraints, functions, stored procedures, triggers, packages and Snowflake-specific objects, require Liquibase Secure. Community 5.0 and later is licensed under FSL-1.1-ALv2. See Flyway vs Liquibase.
- Routines, triggers and check constraints need the paid edition.
- Command-line output only; no visual diff.
- FSL-1.1-ALv2 is not an OSI-approved open source licence.
Atlas
atlas schema diff "accepts two schema states: --from and --to, calculates the differences between them, and generates a plan of SQL statements". Each side can be a database URL, an HCL or SQL schema, or a migration directory, so you can compare a live database with the schema in your repository.
Atlas documents that the free Community edition "diffs only schemas, tables, and their associated indexes and constraints"; views, materialized views, functions, procedures, triggers and sequences need Atlas Pro. The Apache 2.0 Community Edition supports MySQL, MariaDB, PostgreSQL and SQLite.
- Views and routines need Pro.
- Schema only; no data compare.
- SQL Server and Oracle are not in the Apache 2.0 Community Edition.
How to choose
Start with the engine. On SQL Server, try SSMS 22 or the VS Code MSSQL extension; pay for Redgate or dbForge when you need data compare, backup and script-folder sources, or a command line that has done this job for years. On PostgreSQL, start with pgAdmin Schema Diff. Across several engines, use the compare feature of the client you already pay for (DBeaver Enterprise or Ultimate, DataGrip, Navicat Enterprise or DbGate Premium) before buying another tool.
Then decide whether comparison is the process or a safety net. If you deploy by comparing environments and running the generated script, invest in a dedicated tool and review every script. If you deploy with migrations, use liquibase diff or atlas schema diff in CI to detect drift, and see the best database tools for developers.
Frequently asked questions
What is the difference between schema compare and data compare?
Schema compare finds differences in structure (tables, columns, indexes, routines) and generates DDL. Data compare finds differences in the rows of tables with matching keys and generates INSERT, UPDATE and DELETE statements.
Is there a free schema compare tool for SQL Server?
Yes. SSMS 22 includes Schema Compare, generally available since version 22.10.2, and the VS Code MSSQL extension has its own Schema Compare. Neither compares data.
How do I compare two PostgreSQL databases for free?
Use pgAdmin's Schema Diff for structure; the source and target must be on the same PostgreSQL major version. Atlas Community and Liquibase Community can also diff schemas from the command line.
Does DBeaver Community have schema compare?
It has Simple Structure Compare, a side-by-side structural report. The full Schema Compare with a generated DDL diff, and table data comparison, are in the Enterprise and Ultimate editions.
Is migra still maintained?
No. Its repository says it is officially deprecated, and the last release was in September 2022.
Can DataGrip compare data?
JetBrains' schema comparison documentation covers structure only (schemas, tables and routines) and generates a migration script. It does not document a data compare feature.
Sources
- Redgate SQL Compare
- Redgate SQL Data Compare
- dbForge Schema Compare for SQL Server
- dbForge Data Compare for SQL Server
- SSMS 22 release notes
- Schema Compare in the MSSQL extension for VS Code
- What are SQL database projects? (Microsoft Learn)
- DBeaver documentation: Schema compare
- DBeaver documentation: Simple Structure Compare
- DBeaver editions
- DataGrip: schema comparison and migration
- pgAdmin 4 Schema Diff documentation
- Navicat Premium feature matrix
- DbGate pricing
- DbGate releases
- Liquibase diff command
- Atlas schema diff
- migra repository (deprecation notice)
Checked October 2026.
How we research these guides: our editorial method.