Azure SQL schema diff — free to use

Azure SQL Schema Diff.
Generate migrations.
Zero setup.

Paste two Azure SQL Database schema scripts. Spot every table, column, index, and constraint change instantly. Get ready-to-run ALTER TABLE scripts for Azure SQL — all in your browser.

No account required. No data leaves your device.

Built for Azure SQL workflows

SchemaLens understands Azure SQL-specific syntax that generic diff tools miss.

☁️

IDENTITY & Sequences

Correctly detects IDENTITY(1,1) columns, seed changes, and increment modifications across Azure SQL schema versions.

📦

Bracket-Quoted Identifiers

Handles bracket-quoted identifiers ([table name]) exactly like Azure SQL does, preserving spaces and reserved words.

🔑

Constraints & Indexes

Primary keys, unique constraints, foreign keys, CHECK constraints, and CLUSTERED/NONCLUSTERED indexes — all compared semantically.

📝

Named Default Constraints

Generates DF_table_column convention names for default constraints, saving you from manual lookup.

NVARCHAR & Unicode

Preserves NVARCHAR, NCHAR, and NTEXT types with length specifications so your Azure SQL migrations stay exact.

🔒

Privacy First

Your schema never leaves the browser. Compare production Azure SQL schemas safely without uploading to any third-party server.

How it works

1

Export your schemas

Use Azure Data Studio, SSMS, or sqlpackage to extract the database schema from both Azure SQL databases.

2

Paste into SchemaLens

Copy the SQL into the two editor panes. Dialect is automatically set to SQL Server (Azure SQL compatible).

3

Review the diff

See added tables, dropped columns, type changes, and constraint modifications highlighted in color.

4

Copy the migration

Export ALTER TABLE scripts, save as Markdown, PDF, or raw SQL. Run in staging, then production.

Azure SQL migration examples

SchemaLens generates production-ready ALTER TABLE scripts for every change it detects.

Column type change

ALTER TABLE [users]
  ALTER COLUMN [bio] NVARCHAR(500);

Add a new column

ALTER TABLE [orders]
  ADD [shipped_at] DATETIME;

Add a foreign key

ALTER TABLE [comments]
  ADD CONSTRAINT [fk_comments_post]
  FOREIGN KEY ([post_id]) REFERENCES [posts]([id]);

Set a default value

ALTER TABLE [tasks]
  ADD CONSTRAINT [DF_tasks_status]
  DEFAULT 'pending' FOR [status];

Related guides

Ready to diff your Azure SQL schemas?

Join thousands of developers who use SchemaLens to catch schema changes before they hit production.

Start Comparing Free

Free for up to 10 tables. Pro starts at $12/mo.