Back to Supabase

Migrate from MSSQL to Supabase

apps/docs/content/guides/platform/migrating-to-supabase/mssql.mdx

1.26.043.7 KB
Original Source

This guide aims to demonstrate the process of transferring your Microsoft SQL Server database to Supabase's Postgres database. Supabase is a powerful and open-source platform offering a wide range of backend features, including a Postgres database, authentication, instant APIs, edge functions, real-time subscriptions, and storage. Migrating your MSSQL database to Supabase's Postgres enables you to leverage Postgres's capabilities and access all the features you need for your project.

Retrieve your MSSQL database credentials

Before you begin the migration, you need to collect essential information about your MSSQL database. Follow these steps:

  1. Log in to your MSSQL database provider.
  2. Locate and note the following database details:
    • Hostname or IP address
    • Database name
    • Username
    • Password

Retrieve your Supabase host [#retrieve-supabase-host]

  1. If you're new to Supabase, create a project. Make a note of your password, you will need this later. If you forget it, you can reset it here.

  2. On your project dashboard, click Connect

  3. Under the Session pooler, click on the View parameters under the connect string. Note your Host ($SUPABASE_HOST).

Migrate the database

The fastest way to migrate your database is with the Supabase migration tool on Google Colab.

Alternatively, you can use pgloader, a flexible and powerful data migration tool that supports a wide range of source database engines, including MySQL and MS SQL, and migrates the data to a Postgres database. For databases using the Postgres engine, we recommend using the pg_dump and psql command line tools, which are included in a full Postgres installation.

<Tabs scrollable size="small" type="underlined" defaultActiveId="colab" queryGroup="migrate-method"

<TabPanel id="colab" label="Migrate using Colab">
  1. Select the Database Engine from the Source database in the dropdown.
  2. Set the environment variables (HOST, USER, SOURCE_DB,PASSWORD, SUPABASE_URL, and SUPABASE_PASSWORD) in the Colab notebook.
  3. Run the first two steps in the notebook in order. The first sets engine and installs the necessary files.
  4. Run the third step to start the migration. This will take a few minutes.
</TabPanel> <TabPanel id="MS SQL" label="Migrate from MSSQL">
  1. Install pgloader.

  2. Create a configuration file (e.g., config.load).

    For your destination, use your Supabase connection string with Use connection pooling enabled, and the mode set to Session. You can get the string from your Database Settings.

    sql
    LOAD DATABASE
        FROM mssql://USER:PASSWORD@HOST/SOURCE_DB
        INTO postgres://postgres.xxxx:password@xxxx.pooler.supabase.com:5432/postgres
    ALTER SCHEMA 'public' OWNER TO 'postgres';
    set wal_buffers = '64MB', max_wal_senders = 0, statement_timeout = 0, work_mem to '2GB';
    
  3. Run the migration with pgloader

    bash
    pgloader config.load
    
</TabPanel> </Tabs>

<$Partial path="migration_warnings.mdx" />

Enterprise

Contact us if you need more help migrating your project.