SQL Server to BigQuery

Copy your Microsoft SQL Server tables into BigQuery and keep them current with incremental syncs on a cursor column, plus a nightly full sync where rows get deleted. Weld connects directly or through an SSH tunnel, and lets you drop or hash columns before anything lands.

4.8 on G2
Microsoft SQL ServerSource
WeldWeld
Google BigQueryWarehouse

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
Google BigQueryDestinationGoogle BigQueryReady
mssql dataset
  • 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 BigQuery

Google offers a SQL Server transfer, free while it is in Preview, and Datastream for log-based CDC. BigQuery federated queries do not cover SQL Server. The deciding questions are support level, deletes and whether SQL Server is one source among many.

B

BigQuery Data Transfer Service

Best for
Trying SQL Server data in BigQuery at no transfer cost
Effort
Low to medium: a transfer config, plus a network attachment if the database has no public IP
Freshness
Hourly, daily or custom schedules, or on demand
Good to know
In Preview, so offered as is with limited support, and free while in Preview. Incremental transfers need a TIMESTAMP watermark column and cannot sync deletes.
D

Datastream

Best for
Log-based CDC from SQL Server into BigQuery
Effort
Medium: change tables or transaction log setup, plus a stream
Freshness
Continuous, merged into BigQuery on a staleness setting you choose
Good to know
Reads change tables or the transaction log. Express and Web editions are not supported, and Azure SQL Database needs tier S3 or above. Priced per GiB processed.

Weld

Best for
SQL Server alongside your other sources in one pipeline
Effort
Low: connect, pick tables, choose a sync mode per table
Freshness
Incremental and full syncs on your schedule
Good to know
Merge syncs need a primary key and a cursor such as updated_at; append syncs need only a cursor. A full sync at midnight removes deleted rows. Columns can be removed or hashed.
How it works

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

Weld · Data warehouse
Google BigQueryData warehouseGoogle BigQueryConnected
Data locationChosen when you connect
CredentialsService account or key, stored encrypted
Data

What lands in Google BigQuery
From Microsoft SQL Server to Google BigQuery.

Weld does not impose a schema on a database source: what lands in BigQuery is the tables you select, with the columns you keep.

  • Your selected tables

    One BigQuery table per SQL Server table you pick, under the destination name you set. Removed columns are left out and hashed columns arrive hashed.

  • _weld_synced

    A timestamp Weld adds to every row with the time it was last synced. Use it to check freshness without touching your own columns.

Example query

How fresh is each replicated table?
In Google BigQuery SQL.

Runs in BigQuery against a dataset named mssql. Replace orders and customers with your own tables; _weld_synced is the column Weld adds to every row.

Google BigQuery · query
1select2  'orders' as table_name,3  count(*) as row_count,4  max(_weld_synced) as last_synced_at,5  timestamp_diff(current_timestamp(), max(_weld_synced), minute) as minutes_since_sync6from mssql.orders7union all8select9  'customers',10  count(*),11  max(_weld_synced),12  timestamp_diff(current_timestamp(), max(_weld_synced), minute)13from mssql.customers14order by minutes_since_sync desc
Weld MCP server

Ask your agent.
It queries Google BigQuery 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 Google BigQuery.

Claude CodeOpus 5
>

Which Microsoft SQL Server tables do we have in Google BigQuery, 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 Google BigQuery
>Ask about your Microsoft SQL Server data
Under the hood

Things to know.
Before you sync Microsoft SQL Server.

Tables start on full syncs
Weld's SQL Server connector runs full syncs by default. Switch large tables to incremental to cut sync time and load on the server: merge needs a primary key and a cursor timestamp, ideally updated_at.
Append mode skips updates
Append syncs suit tables without an updated_at column, but they only add new rows at the end of the table, so changes to existing rows are not picked up.
Incremental syncs do not see deletes
Neither merge nor append captures deleted rows. Set tables with frequent deletes to a full sync at midnight, which removes them from BigQuery.
CDC for SQL Server is not live yet
Weld's SQL Server CDC is listed as coming soon. Until then, syncs are scheduled incremental or full syncs, so plan freshness and delete handling around that.
FAQ

Common questions.
About Microsoft SQL Server to Google BigQuery.

Start syncing Microsoft SQL Server to Google BigQuery.

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

Microsoft SQL ServerSource
WeldWeld
Google BigQueryWarehouse