SchemaHarbor - SQL Server Compare
Compare SQL Server schemas, inspect differences, and export SQL for supported additions directly from Visual Studio.
SchemaHarbor is a free extension for developers who work with multiple SQL Server databases. Compare a development database with a test environment, inspect schema differences between two databases, or prepare SQL for missing tables and columns without leaving your IDE.
The comparison direction is clear: make the target match the source. Choose the source schema you want to use as a reference, review the differences, and select supported additions to export.
Preview release: SchemaHarbor generates SQL for review and export. It does not execute generated scripts or automatically synchronize databases.
Features
Saved SQL Server connections
- Create, edit, duplicate, and delete connection profiles.
- Connect using Windows authentication or SQL Server authentication.
- Test connections and see connection status and elapsed time.
- Configure the server, database, encryption, certificate trust, and timeout settings.
- Label connections as Development, QA, or Production; production targets show a review reminder.
- Protect saved passwords with Windows CurrentUser DPAPI.
Schema comparison
Compare captured metadata for:
- Base tables and columns.
- Primary keys and unique constraints.
- Check constraints and foreign keys.
- Indexes.
The differences list identifies objects missing from the target, objects found only in the target, changed definitions, identical objects, and objects requiring further review.
Use Swap to exchange source and target. Expand Comparison options to ignore collation, identity-seed differences, or column order. Identical results are hidden by default and can be displayed using Show identical.
Inspect object definitions
Scroll through the differences and select an object to inspect it. Expand Object details and definitions to view its captured source and target definitions side by side, together with the reason a change can or cannot be exported.
Summaries name the types being counted, such as Only in target: 454 tables. These are schema-object counts, not database record counts. Columns and constraints on shared tables can appear as separate comparison entries.
Selected-addition SQL export
- Select individual supported additions or use Select additions.
- Generate SQL for supported missing tables and columns.
- Include supported keys, checks, indexes, foreign keys, and descriptions when creating a missing table.
- Enable Idempotent checks to validate existing objects when the script is run.
- Enable Transaction wrapper to group supported additions in a transaction.
- Preview the SQL, copy it to the clipboard, save a
.sql file, or open it in Visual Studio.
Review the generated SQL and apply it using your usual SQL tools. SchemaHarbor itself does not execute the script.
Getting started
- Install SchemaHarbor and restart Visual Studio if prompted.
- Open Tools > SchemaHarbor Connections.
- Create and save two connections to the databases you want to compare.
- Open Tools > SchemaHarbor Compare and refresh connections if needed.
- Choose Source as your reference database and Target as the database you want to bring closer to that schema.
- Click Compare and review the differences and object definitions.
- Select supported additions, open Script export, and click Generate selected.
- Review the SQL before copying, saving, or opening it for use with a separate database tool.
Understanding comparison results
| Result |
Meaning |
| Missing in target |
Present in the captured source schema and absent from the target. Supported additions can be selected for export. |
| Only in target |
Present in the captured target schema and absent from the source. Removal scripts are not generated. |
| Changed |
Present on both sides, with differences in the compared properties. Inspect the definitions to understand the change. |
| Identical |
The compared properties match under the selected options. |
| Needs review |
Metadata or unsupported features prevent a conclusive comparison for that entry. |
If no tables are captured from the source, check that you selected the intended database and that the connection has sufficient metadata permissions.
Requirements
- Visual Studio 2022 version 17.14 or later, or Visual Studio 2026, on Windows x64.
- Community, Professional, and Enterprise editions.
- .NET Framework 4.8.
- Access to SQL Server and permission to read database metadata. Database VIEW DEFINITION permission is needed for complete schema capture.
The metadata reader is designed for SQL Server 2014 and later. Compatibility with every SQL Server release has not been validated. ARM64 is not included in this package.
Current preview scope
Automatic export focuses on supported ordinary disk-based tables and columns. Unsupported table features, incomplete metadata, and changes requiring additional dependency planning can block export.
This release does not provide:
- Automatic database synchronization or script execution.
- ALTER scripts for changed objects or DROP scripts for removals.
- Standalone key, constraint, or index synchronization on existing tables.
- Comparison or export of views, stored procedures, functions, sequences, or user-defined types.
- Data comparison, data editing, or reports.
The Data editor and History tabs are hidden in this preview.
Local storage
Connection profiles and comparison records are stored locally. Saved passwords and retained comparison snapshots use Windows CurrentUser DPAPI protection and are tied to the current Windows account.
The local store remains at %LocalAppData%\SchemaLens\store.db to preserve profiles from the earlier SchemaLens preview. The extension now appears as SchemaHarbor in Visual Studio.
Pricing and feedback
SchemaHarbor is free.
For questions, suggestions, or issue reports, use the Marketplace Q&A section. Include your Visual Studio version, SQL Server version, and steps to reproduce the issue; omit passwords and connection secrets.
Publisher: Kushal Meharwade