benchdogGet the tools
ToolsSQL Data Comparer
SQL Server and Azure SQL

Benchdog SQL Data Comparer

Find the rows that differ and sync them in one transaction.

VS Code, desktop and command line. Windows, Mac and Linux. One licence covers all three.

Compare the rows of two SQL Server or Azure SQL databases, see exactly what differs, and write a sync script or sync the target in one transaction.

Every table, row by row

See which tables differ and by how much: rows the same, different, only in the source and only in the target. Only the tables that differ are listed, with coloured tags, and comparing only ever reads.

Every table compared, and the rows that differ right there.

Values side by side

See exactly which values changed. Each column's source and target values sit side by side, with differences marked and a count per column. Tabs filter to rows that differ, sit on one side only or match, and pages of 100 rows keep big tables quick.

Each column's source and target values, with the differences marked.

Sync in one transaction

Bring the target in line, knowing it all happens or none of it does. Sync Target changes the ticked tables in one transaction. In the desktop app and the CLI you can also back up the target first and keep the exact script that ran.

It asks first, backs up if you want, and runs in one transaction.

Pick the rows that change

Sync only what you mean to. For each table, turn adding, updating or deleting rows on or off, and clear any row's tick to leave it as it is. The script and the sync follow your choices and count the rows they left alone.

Untick a row, or a whole kind of change, before you sync.

A script you can review

Review every change before it runs. Show or save a T-SQL sync script, laid out table by table, to run later in SSMS, sqlcmd or Azure Data Studio. It runs in one transaction, so a failure anywhere leaves the target as it was.

Show Sync Script opens it in a new, unsaved editor.

Keys and filters for any table

Compare tables the way your data works. Choose the columns that match rows for a table with no primary key, and add a SQL condition so only the rows you care about are compared and synced, on both sides.

No primary key? Choose the columns that identify a row.

Project files you can rerun

Set a comparison up once and repeat it anywhere. A .datacompare.json project file keeps the source, target, tables, keys and filters, to run again from VS Code, the desktop app or the command line. It never holds a password.

In VS Code, project files get IntelliSense, problems and a Compare link.

Clear about what it skips

Never wonder why a table was missed. Tables and columns that cannot be compared are listed with the reason, such as a computed column or a table with no key. Notes warn when masked columns could hide differences.

What is left out, and why, next to the table.