Microsoft SQL Server logo

Relational engine

Connect Microsoft SQL Server to Excel, Sheets and AI

Enterprise relational database. Connect from a Network Agent that can reach the instance — on-prem, Amazon RDS, Azure SQL, or anywhere SQL Server listens.

1connection
0inbound ports
read-onlyenforced

One connection, every surface

Where your SQL Server data can go

Connect SQL Server once and the same read-only connection feeds all of these — no second setup, no second copy of the data. 9 of 11 have a step-by-step guide.

Guide

SQL Server to Excel

Microsoft Excel · Excel add-in

Pull live SQL Server results straight into a worksheet and refresh them on demand — desktop Excel, Excel Online, Microsoft 365.

Read the guide
Guide

SQL Server to Google Sheets

Sheets add-on

Run a saved SQL Server query from the sidebar and drop the rows into the sheet. Shared collaborators can refresh it themselves.

Read the guide
Guide

SQL Server MCP server

Claude, Cursor and MCP clients

Give an AI assistant read-only access to SQL Server with the schema it needs to write correct SQL — no credentials in the chat.

Read the guide
Guide

SQL Server REST API

HTTP endpoint

Publish a SQL Server query as an authenticated JSON endpoint any application can call, with an OpenAPI 3.1 spec and ready-made Postman, Insomnia and Hoppscotch collections. No database port is opened.

Read the guide
Guide

SQL Server to Airtable

Automation platform

Sync SQL Server rows into an Airtable base on a schedule, or fetch them inside an Airtable automation script.

Read the guide
Guide

SQL Server to Baserow

Automation platform

Feed a Baserow table from SQL Server over the REST endpoint — self-hosted or Baserow cloud.

Read the guide
Guide

SQL Server to SeaTable

Automation platform

Keep a SeaTable base current with SQL Server data without exporting a file or exposing the database.

Read the guide
Guide

SQL Server to Smartsheet

Automation platform

Push SQL Server results into a Smartsheet grid so plans and reports read from the source system, not last week's export.

Read the guide
Guide

SQL Server to Anvil

Anvil Works · App platform

Back an Anvil Python app with SQL Server through the REST endpoint instead of embedding database credentials in the app.

Read the guide
Supported

SQL Server to Power BI

Power Query M

Paste the generated Power Query M into the Power BI Advanced Editor and the report reads live SQL Server results over HTTPS — no ODBC driver, no database port opened.

How Power BI works no SQL Server walkthrough written yet
Supported

SQL Server alerts and reports

Slack · Discord · Email · Webhook

Put a SQL Server query on a schedule and have the rows delivered to Slack, Discord, email or a signed webhook — or hold the message until a row count, threshold or percentage change crosses the line you set.

How alerts and reports work no SQL Server walkthrough written yet

How it works

5 steps, no inbound firewall change

01

Install the Network Agent on a machine that can already reach the instance — a jump box, an app server, anything on the right side of the firewall.

02

Point it at the server: a hostname, an IP, or SERVER\INSTANCE for a named instance. Port 1433 is assumed unless you moved it.

03

Give it a SQL login with SELECT on what you want read. The agent has no use for more than that, and the connection test tells you what the server accepted.

04

The agent reads your tables, columns, types and keys so the Query Builder and Nova know the shape before anyone writes a line of T-SQL.

05

Save a query and read it from Microsoft Excel, Google Sheets, Power BI, MCP or REST — or join it to your other connections in one statement.

Feature deep-dive

What SQL Server gives you

Deployed the way SQL Server actually is

Real instances are rarely the tidy default. The connection details cover the arrangements people genuinely have rather than the one in the documentation.

  • Named instances go in the server box as SERVER\SQLEXPRESS or SERVER\PROD. There is no separate field to hunt for and no port to supply unless you moved it.
  • Port 1433 is assumed and left out of the connection string entirely; anything else is used as given, so an instance on 1435 needs nothing special.
  • One connection addresses one database, and several databases on the same instance are simply several connections — each with its own login and its own permissions if that is how your shop works.
  • Encryption is yours to set, along with whether to trust a self-signed certificate.
  • Authentication is SQL Server authentication — a login and a password. Windows and Microsoft Entra authentication are not supported, and if your instance is set to Windows-only the connection test says so instead of failing obscurely.

What it does to your instance, precisely

Anyone who looks after a production SQL Server will want to know what a new reader costs them. The short answer is one connection at a time and nothing left behind.

  • Connection pooling is off, on purpose. No pool of idle sessions accumulates against your instance between queries, which is the opposite of what most reporting tools do.
  • Cancelling actually cancels. When a query is stopped, the cancel is sent to SQL Server so execution ends there — rather than the client walking away and leaving the server working on a result nobody will read.
  • Reachability is checked before a login is ever attempted, so a wrong hostname or a closed port fails as a network error instead of arriving as a failed login in your error log — which matters if you have lockout policies.
  • Timeouts are explicit: 30 seconds to connect by default, and 35 seconds for a query to start returning. Long results then stream for as long as they need to.

T-SQL types that survive the trip

Getting SQL Server data into a spreadsheet is where precision usually goes quietly missing. These are the cases that have been dealt with deliberately.

  • datetimeoffset keeps its instant, normalised to UTC, rather than being flattened to a local wall-clock time that means nothing to the next reader.
  • decimal and numeric keep their precision and scale. Beyond what a spreadsheet can hold, the value is handed over as exact text rather than silently rounded — wrong money is worse than inconvenient money.
  • money and smallmoney arrive as exact decimals, not floats.
  • rowversion and timestamp come across as the eight bytes they actually are, instead of being mistaken for a date, which is the single most common way these columns get misread.
  • uniqueidentifier becomes a lowercase GUID string, and sql_variant and hierarchyid become readable text rather than being dropped.
-- The awkward types, handled rather than approximated
SELECT   o.OrderId,
         o.PlacedAt,       -- datetimeoffset  -> UTC instant
         o.RowVersion,     -- rowversion      -> 8 bytes, not a date
         o.Amount,         -- money           -> exact decimal
         o.LedgerBalance   -- decimal(38,10)  -> lossless text
FROM     dbo.Orders AS o
WHERE    o.PlacedAt >= DATEADD(day, -30, SYSUTCDATETIME())
ORDER BY o.PlacedAt DESC;

Shared by every database connector

True of every database connector

  • Outbound only — the agent opens one encrypted connection out to Query Streams. No inbound port to forward, no VPN, no IP allowlist, nothing about your database exposed to the internet.
  • Credentials stay put — the database username and password live on the machine you installed the agent on. Query Streams never receives them and cannot reach your database on its own.
  • Read-only, enforced — one statement at a time, SELECT and friends only. A write is rejected on your own machine before it is ever sent to the server, rather than relying on a permission somebody remembered to set.
  • Deploy as many agents as you like — one per site, region or cloud. Every data source they can see arrives in a single dropdown, so nobody has to know which agent hosts what.

What you get once a query is saved

  • Share the capability, not the SQL — a colleague or an outside partner can run your query and change its filters without ever seeing the statement behind it.
  • Filters from either direction — declare them yourself as @variables, or let the connector spot the literal values already sitting in your WHERE clause and offer those as dropdowns.
  • Read it from anywhere — Microsoft Excel, Google Sheets, Power BI, the REST API, AI assistants over MCP, the Query Builder and Nova all read the same saved query.
  • Run several at once — five saved queries into five worksheet tabs, streamed concurrently, however large the results.
  • Join it to anything else you have connected — another database, a business API, or a folder of files, in one read-only statement.

Cross-source SQL

Join SQL Server to the rest of your data

One statement can span SQL Server and your other connections at once. Each source runs only the part it can, streams the result back, and the join happens centrally — the sources never talk to each other and nothing is copied anywhere.

3 connections · 3 agents

Microsoft SQL Server Relational engine
PostgreSQL Relational engine
Stripe Payments & billing

One statement

-- nothing copied, nothing merged, nothing scheduled
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
FROM     sql_prod.dbo.orders1     f
JOIN     pg_crm.public.customers2 c ON c.id = f.customer_id
JOIN     billing.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY invoiced DESC;

The three parts are connection, schema and table — and the connection name is whatever you called it. Illustrative columns; your tables will be your tables. Read-only applies to every piece: SELECT, WITH and EXPLAIN only, with a ceiling on how much any one source may hand over for a single query. How federated queries work

Connection details

What SQL Server needs

Default port
1433, and left out of the connection string when it is the default
Named instances
SERVER\INSTANCE in the server box — no separate field, no port unless you moved it
Driver
Microsoft.Data.SqlClient 6.0.1
Authentication
SQL Server authentication. Windows and Microsoft Entra authentication are not supported
Encryption
Encryption on or off, and trust-the-certificate on or off, both set in the wizard
Permissions
A login with SELECT on what you want read. Nothing beyond that is used
Pooling
Off, deliberately — no idle sessions left sitting against your instance
Timeouts
30 seconds to connect by default, 35 seconds for a query to begin returning
Cancellation
Sent through to SQL Server, so a stopped query stops on the server
Default schema
dbo, which is what a federated reference carries

Port 1433 is one of the most relentlessly scanned ports on the internet, which is why almost nobody is allowed to open it and why getting SQL Server data to a spreadsheet usually turns into a VPN, a jump box, or a nightly export that is stale by the time anyone opens it. None of that applies here. The agent sits inside the network and makes one connection outward, so there is no listener, no inbound rule and nothing new for anyone to find.

The details in the second section are there because a production DBA is the person who has to approve this, and the answers they want are specific. Pooling is off so nothing idles against the instance; cancelling reaches the server rather than orphaning the query; and reachability is tested before any login is attempted, so a typo in a hostname does not turn into failed-login noise in the error log or trip an account lockout.

For a cross-source query, SQL Server's default schema is dbo, so a connection you called sql_prod is written sql_prod.dbo.orders. That is how the system of record joins to the things around it — a Postgres application database, a folder of CSVs, or a billing API — in one read-only statement, with nothing copied and nothing scheduled.

Vendor documentation: www.microsoft.com

FAQ

Questions about Microsoft SQL Server

Which tools can read Microsoft SQL Server data through Query Streams?

All of them, from one connection: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, scheduled alerts and reports. Connect the database once and every surface reads the same read-only connection — there is no per-tool setup and no second copy of the data.

Do I have to open a firewall port to my Microsoft SQL Server database?

No. The Query Streams Network Agent runs inside your network and opens a single outbound encrypted connection. Nothing listens for inbound traffic, no VPN is required, and the database keeps its existing firewall rules.

Can Query Streams change data in Microsoft SQL Server?

No. The agent enforces read-only at the point of execution — one statement at a time, SELECT and friends only. Credentials stay on the agent and are never sent to Query Streams.

What does Query Streams need to connect to Microsoft SQL Server?

A reachable host, a role and its password — the agent carries the driver, so nothing is installed on the database. Default port: 1433, and left out of the connection string when it is the default. Named instances: SERVER\INSTANCE in the server box — no separate field, no port unless you moved it. Driver: Microsoft.Data.SqlClient 6.0.1. Authentication: SQL Server authentication. Windows and Microsoft Entra authentication are not supported.

Can I join Microsoft SQL Server to another database in the same query?

Yes — that is a federated query. One statement can reference Microsoft SQL Server and your other connections at once, written as connection.schema.table. Each source runs only the part it can and streams the result back; the join happens centrally, so the sources never connect to each other and nothing is copied or scheduled. Read-only applies to every piece — SELECT, WITH and EXPLAIN only — and there is a ceiling on how much any one source may hand over for a single query. Federated queries are a plan feature; the federated queries page carries the current source and size limits.

Put SQL Server where the work happens

Install the agent, point it at your database, and pick a destination.

Read-only Outbound only Credentials stay on the agent