benchdogGet the tools
ToolsSQL Schema Compare
SQL Server and Azure SQL

Benchdog SQL Schema Compare

See what changed in the schema and deploy it safely.

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

Compare the structure of two SQL Server or Azure SQL databases, see each object side by side, and write a deploy script or deploy to the target in one transaction.

Every difference, grouped by kind

See at a glance how two databases have drifted. Only what differs is listed, grouped by kind with counts and tagged amber, green or red. Comparing reads only the structure, never table data, and changes nothing.

Every difference, grouped by kind, with a tick to deploy it.

Both scripts, side by side

Understand each change without reading two scripts by eye. Pick an object to see what differs in plain words, such as a column only in the source, and its script on each side with the changed lines marked green and red.

The source and target scripts side by side, with what changed in plain words.

Deploy in one transaction

Deploy with a safety net. Deploy reads both databases again, says what will change and what to read first, then changes the target in one transaction, so it all happens or none of it does. On SQL Server it can take a copy-only backup first.

It asks first, offers a backup, and runs in one transaction.

A deploy script to review

Review every change before it runs, or pass the script on. Show or save a T-SQL deploy script for what is ticked, with its warnings at the top, to run in SSMS, sqlcmd or Azure Data Studio. It runs in one transaction, so a failure changes nothing.

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

Changes in place, not rebuilds

Change the target without rebuilding it. Changed code uses ALTER, so it keeps its permissions, and tables change with ALTER TABLE. The warnings name foreign keys and code that must be dropped and added back, and anything it cannot change.

Warnings name what is dropped and added back, and what is left.

Decide what counts as different

Cut the noise so real changes stand out. Options tick what does not count as a difference, such as comments in code, upper and lower case, or permissions. Your choices are saved with the comparison, and Defaults puts them back.

Choose what counts as a difference.

Pick exactly what deploys

Deploy only what you are ready to ship. What differs and what is only in the source start ticked, and what is only in the target starts clear, because deploying it drops it. Each kind's tick selects or clears all of it.

Target only objects start clear, so nothing is dropped unless you choose it.

Projects for every release

Run the same check on every release. A .schemacompare.json project file keeps the source, target, options and name patterns, to run again from VS Code, the desktop app or the CLI, where --fail-on-difference returns exit code 3 for CI pipelines. It never holds a password.

One project file for VS Code, the desktop app and CI.