[email protected]

How-to · Supabase

Migrate Microsoft SQL Server and Azure SQL to Supabase

Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual professional, legal or tax advice.

A move from SQL Server to PostgreSQL needs an explicit target model. WZ-IT provides a Supabase migration from €3,490 after reviewing the database, T-SQL and application.

A Microsoft SQL Server or Azure SQL to Supabase migration is a heterogeneous database move. Supabase uses PostgreSQL. Data can be transferred, but T-SQL, types, stored procedures, jobs and permissions need deliberate translation.

Success is therefore not defined by an import process reaching the end. Data, application behaviour and operating workflows must work correctly on PostgreSQL.

Identify the SQL Server source

Determine the actual starting point:

  • SQL Server on Windows or Linux
  • SQL Server in a virtual machine
  • Azure SQL Database
  • Azure SQL Managed Instance
  • SQL Server on AWS RDS
  • multiple databases with cross-database queries
  • Always On Availability Groups or replication

Edition and platform affect network access, export options, authentication and available features.

Assess schema and application

Area Capture
Version and edition SQL Server version, compatibility level and used features
Data model Databases, schemas, tables, keys and partitions
Data types uniqueidentifier, datetimeoffset, money, bit, XML and spatial types
T-SQL Procedures, functions, triggers, views and dynamic SQL
Jobs SQL Server Agent, SSIS, ETL and scheduled work
Identity SQL logins, Windows Auth, Entra ID, roles and grants
Application Drivers, ORM, raw T-SQL and reporting

Cross-database queries and linked servers require particular attention because one Supabase database does not reproduce the same server layout automatically.

Map data types deliberately

Example decisions include:

SQL Server Possible PostgreSQL target
IDENTITY Identity column or sequence
uniqueidentifier uuid
bit boolean
datetimeoffset timestamptz after timezone review
nvarchar text or varchar in UTF-8
money numeric with defined precision
rowversion Custom version or timestamp model
hierarchyid Adapted relational model or extension

Collations and case sensitivity can also change search, sort and uniqueness behaviour. Test them with real data.

T-SQL, procedures and jobs

Reassign T-SQL based on purpose:

  • database logic as SQL or PL/pgSQL
  • scheduled work through pg_cron or an external scheduler
  • integration logic as a worker or workflow
  • HTTP and application code as an Edge Function or service
  • reporting queries rewritten in PostgreSQL syntax

SQL Server Agent, SSIS packages and CLR code are not portable database objects. Each requires a target decision.

Transfer method

The official Supabase guide references a guided migration route and pgloader. For complex databases, controlled ETL may be easier to validate because transformations and errors can be recorded per table.

The rehearsal validates:

  • table and row counts
  • Unicode and special characters
  • decimal values and rounding
  • date, time and time zones
  • UUIDs, binary data and large objects
  • primary and foreign keys
  • identity values and sequences
  • views and replacements for routines

Adapt application and authentication

Changing the database driver is often not sufficient. Review:

  • T-SQL in repositories and reporting tools
  • ORM provider and migration history
  • transaction isolation, locks and error codes
  • pagination, full-text search and JSON handling
  • connection pooling and TLS
  • SQL logins, Windows Auth and Entra connections

Introducing Supabase Auth is a separate user migration. Database logins and end-user identities are different concerns.

Accept business behaviour, not only the schema

A technically successful transfer does not prove that the application behaves identically. Define a reproducible acceptance case for every business-critical function, including creates, updates, deletion behaviour, search, filters, exports, reports and concurrent access. Queries that rely on implicit type conversion, NULL handling, string comparison or database-specific ordering can return different results after the move.

Test failure and load paths as well. The application must handle an interrupted write, a unique constraint, a lock and exhausted connections predictably. The T-SQL-to-PostgreSQL move is ready only when both the data state and real user journeys have passed acceptance.

Plan cutover

The final switch may use a maintenance window or a separately designed delta process. Accept data, application, jobs and integrations in staging before release.

Use the Supabase migration checklist for the sequence. The PostgreSQL-to-Supabase guide covers the target database in more detail.

WZ-IT can operate the result as managed Supabase after cutover.

Sources

Rather have it operated?

You'd rather not run Supabase yourself? WZ-IT handles setup, operations and maintenance - privacy-focused from Germany.

Frequently Asked Questions

Answers to the most important questions

Companies worldwide trust WZ-IT

  • Stadtwerke Brühl
  • DGHO e.V.
  • ABCO Water Systems
  • Golem.de
  • EVADXB
  • nextGYM
  • AInergy
  • ml&s
  • Odiseo Solutions
  • Annota
  • ARGE
  • SweetConnect GmbH
  • Aphy AG
  • CORGOS
  • Rekorder
  • SolidProof
  • Yonju
  • Keymate
  • Paritel
  • Mr. Clipart
  • Millenium
  • Negosh
  • Führerscheinmacher
  • Boese VA
Read client reviews

Enquiry

Migrate, secure, or operate Supabase

We migrate Supabase projects and existing backends such as Firebase, Lovable, PostgreSQL, MySQL or Auth0, build the target environment, and can take over ongoing operations.

  • Straight with Timo and Robin - no sales team, no pitch
  • An honest take, including when we are not the right fit
  • Concrete next steps for infrastructure, software or AI

No risk: worst case, you leave with a clearer understanding of your project than before.

Timo and Robin, founders of WZ-IT

Migrate, secure, or operate Supabase

WZ-IT's advice on our Azure migration was technically sound and completely non-binding right from the intro call - we took away a great deal.
Jakob ÖschlbergerInno7 GmbH