SQL Server to Snowflake

Load Microsoft SQL Server tables into Snowflake and keep them current for reporting. Snowflake now has its own Openflow connectors for SQL Server; Weld syncs the tables you choose incrementally and lands them next to your other sources.

4.8 on G2
Microsoft SQL ServerSource
WeldWeld
SnowflakeWarehouse

Checked against Weld and vendor docs on

Weld · New sync
Microsoft SQL ServerSourceMicrosoft SQL ServerConnected
Tables to sync

Your own tables, picked when you set up the sync.

  • Extract
  • Load
  • Keep in sync
SnowflakeDestinationSnowflakeReady
mssql schema
  • mssql.Synced
  • mssql.Syncing
  • mssql.Synced
  • mssql.Synced

Trusted by data and AI teams

  • Flatpay
  • Holafly
  • eComplete
  • Dishoom
  • Danish Endurance
  • Female Invest
  • Son of a Tailor
  • Onomondo
  • Medik8
  • Pas Normal Studios
Options

Three ways to get SQL Server data into Snowflake

Snowflake's Openflow connectors for SQL Server are generally available and replicate changes continuously, which suits teams already running Openflow. Weld suits a warehouse fed from many sources with one tool and schedule.

O

Openflow Connector for SQL Server

Best for
Current-state replication on any SQL Server edition
Effort
Medium: Change Tracking on source, an Openflow runtime
Freshness
Polls Change Tracking for net changes
Good to know
Generally available. Replicates only tables with a primary key, soft-deletes rows with _SNOWFLAKE_DELETED, and keeps journal tables indefinitely, so storage grows unless you clean them up.
O

Openflow Connector for SQL Server (CDC)

Best for
Audit trails that need every change
Effort
Medium to high: SQL Server Agent, a capture instance per table
Freshness
Every change, in commit order
Good to know
Not available on Express or Web editions. The capture job uses source CPU and I/O, and the transaction log cannot be truncated past the capture position.

Weld

Best for
SQL Server next to SaaS sources in one warehouse
Effort
Low: connect both, pick tables, choose a sync mode
Freshness
Incremental syncs on your schedule
Good to know
Merge or append incremental syncs, and full syncs at midnight to clear deleted rows. CDC for SQL Server is listed as coming soon in Weld's docs.
How it works

How to sync Microsoft SQL Server to Snowflake with Weld.
In the app, with the API or an agent.

Weld · Data warehouse
SnowflakeData warehouseSnowflakeConnected
Data locationChosen when you connect
CredentialsService account or key, stored encrypted
Data

What lands in Snowflake
From Microsoft SQL Server to Snowflake.

SQL Server has no fixed schema for Weld to publish, so what lands in Snowflake is your own tables, one per table you select, plus a column Weld adds to every row.

  • Your selected tables

    Each lands with its columns, minus any you removed and with any you chose to hash, in the schema you name for the sync.

  • _weld_synced

    The time Weld synced each row. Use it to check freshness and to drive incremental models.

  • Tables on full sync

    Loaded through an internal stage with a single COPY INTO, so a failed full sync leaves the existing table untouched.

Example query

How many rows reached a table each day this week?
In Snowflake SQL.

Runs in Snowflake, assuming you named the destination schema mssql and left upper-case names off, so names are quoted as the source produced them. Replace orders with one of your tables.

Snowflake · query
1select2  date_trunc('day', "_weld_synced") as synced_day,3  count(*) as rows_synced4from "mssql"."orders"5where "_weld_synced" >= dateadd(day, -7, current_timestamp())6group by 17order by 1 desc
Weld MCP server

Ask your agent.
It queries Snowflake for you.

Connect Claude, Cursor, ChatGPT or your own agent to Weld over MCP. It reads the Microsoft SQL Server context, finds the tables it needs and runs the query in Snowflake.

Claude CodeOpus 5
>

Which Microsoft SQL Server tables do we have in Snowflake, and which is the largest?

Looking up what Weld has synced from Microsoft SQL Server.

●weld·search_available_references
⎿raw.mssql.*
tables, columns and freshness
●weld·get_reference_schema
⎿columns, types and nullability
●weld·run_query
⎿select count(*) from {{raw.mssql.…}}
submitted
●weld·get_query_status
⎿DONE
●weld·get_query_result
⎿rows returned
✓Answered from Microsoft SQL Server data in Snowflake
>Ask about your Microsoft SQL Server data
Under the hood

Things to know.
Before you sync Microsoft SQL Server.

Quoted names are case-sensitive in Snowflake
Weld quotes every name it writes, so a table that lands as "orders" must be queried quoted. Turn on Create tables and columns in upper case to query without quotes. The setting is fixed when a sync is created.
Move to key-pair authentication
Snowflake is discontinuing password-only single-factor logins after August 2026. Weld supports key-pair authentication; use an encrypted private key where your policy allows.
Incremental syncs need a key and a cursor
The SQL Server connector runs full syncs by default. Merge mode needs a primary key and a cursor such as updated_at; append mode does not capture updates to existing rows.
Deletes need a full sync
Merge and append do not capture rows deleted in SQL Server. Schedule a full sync at midnight on tables where deletes matter. Weld's SQL Server CDC, which would stream them, is listed as coming soon.
FAQ

Common questions.
About Microsoft SQL Server to Snowflake.

Start syncing Microsoft SQL Server to Snowflake.

Set up your Microsoft SQL Server data pipeline in minutes. No credit card required. Free for 14 days.

Microsoft SQL ServerSource
WeldWeld
SnowflakeWarehouse