The bottom line
Connecting Microsoft Fabric to an on-premise SQL Server fails for a small, predictable set of reasons: no on-premises data gateway (or an unhealthy one), a firewall or port blocking the gateway from reaching SQL Server, an authentication mismatch (the gateway service account cannot log into SQL), or a driver or SQL configuration issue. The cloud service is rarely the problem. Diagnose in that order — gateway first, then network, then auth, then driver — and most errors resolve without touching Fabric at all.
In This Article
It Is Usually Not Fabric
When a connection from Microsoft Fabric to an on-premise SQL Server fails, the error often points vaguely at Fabric, and the temptation is to look there. That is almost always the wrong place. Fabric is a cloud service; your SQL Server is behind your firewall. The failure is nearly always in the bridge between them, not in the cloud.
That bridge, and the handful of things that go wrong along it, are the same across almost every engagement: the on-premises data gateway, the network path, the authentication, and the SQL configuration. Knowing that turns a frustrating "Fabric cannot connect" ticket into a short, ordered checklist.
The single most useful reframe is this: the cloud reaching your on-prem database is a network-and-identity problem wearing a Fabric error message. Solve it as one.
The cloud reaching your on-prem database is a network-and-identity problem wearing a Fabric error message. Fabric is rarely the fault — the bridge between it and your firewalled SQL Server is.
Cause 1 — the On-Premises Data Gateway
The first and most common cause is the on-premises data gateway. Fabric cannot reach a SQL Server behind your firewall directly; it needs a gateway — a piece of software installed on a machine inside your network that relays queries securely between the cloud service and the on-prem source. If there is no gateway, or the gateway is offline, or the data source is not configured on it, the connection cannot happen at all.
So the first checks are: is a gateway installed and showing as online in the Fabric admin experience; is this specific SQL Server registered as a data source on that gateway with valid credentials; and is the gateway machine itself running and able to reach both the internet and the SQL Server. A gateway that shows offline, or a source that was never added to it, accounts for a large share of "cannot connect" errors.
A related trap is a gateway installed on a machine that gets shut down or loses network — the gateway is a piece of always-on infrastructure, and treating it as such (a stable host, monitored) prevents the intermittent failures that come from an unreliable gateway box.
Cause 2 — Firewall and Ports
If the gateway is healthy but the connection still fails, the next layer is the network path from the gateway to the SQL Server. The gateway has to be able to reach SQL Server on its port — by default TCP 1433, but often changed — and a firewall rule between the gateway machine and the database server can silently block it.
The tells here are timeouts rather than authentication errors: the connection hangs and fails rather than being rejected with a login message. That pattern points at the network, not the credentials. Check that the gateway machine can actually reach the SQL Server on the right port — a simple connectivity test from the gateway host to the database host on 1433 (or the configured port) settles it quickly.
Named instances add a wrinkle: they can use dynamic ports and require the SQL Server Browser service, so a named-instance connection that a default-instance connection would not have is worth checking separately. Much on-prem connection pain is a firewall or a port, not anything to do with Fabric.
Timeouts point at the network; login rejections point at auth. If the gateway is healthy but the connection hangs and fails, check the firewall and the SQL Server port from the gateway host — not the credentials.
Cause 3 — Authentication Mismatch
If the network path is open but the connection is rejected with a login error, the cause is authentication. The gateway connects to SQL Server using credentials you configure on the data source, and those credentials have to be valid for that SQL Server and have permission to read the data in question.
The common mismatches: the account is a Windows account that the gateway service cannot use in that context; the account is a SQL login that is disabled or has the wrong password stored on the gateway; or the account can log in but lacks permission on the specific database or tables, so the connection succeeds and the query fails. Windows (integrated) versus SQL authentication is a frequent source of confusion — the mode configured on the gateway data source has to match what the SQL Server actually accepts.
The diagnostic is to confirm the exact account the gateway uses can log into that SQL Server independently, with the same auth mode, and can read the target tables. If it cannot do that outside Fabric, it will not do it through Fabric.
Cause 4 — Driver and SQL Configuration
The last layer, once gateway, network and auth are confirmed, is the SQL Server's own configuration. SQL Server has to be configured to accept remote connections and, for the relevant protocol, to have TCP/IP enabled — a default or locked-down instance may not. An older SQL Server, or one with an unusual configuration, can also surface driver or protocol errors that look like connection failures.
These are less common than the first three causes, which is why they come last in the order, but they are real: a SQL Server that has never been set up to accept remote TCP connections will refuse the gateway regardless of how correct everything else is. Enabling TCP/IP in SQL Server Configuration Manager and confirming remote connections are allowed resolves this class.
Because these are the rarer causes, jumping to them first wastes time — but once the obvious layers are cleared, they are where the remaining stubborn errors live.
So What — the Diagnostic Order
When Fabric cannot connect to your on-premise SQL Server, work the bridge in order rather than blaming the cloud. One: is the on-premises data gateway installed, online, and does it have this SQL Server registered as a source. Two: can the gateway machine reach the SQL Server on its port, or is a firewall blocking it — timeouts mean network. Three: can the exact account the gateway uses log into SQL Server with the right auth mode and read the tables — login errors mean auth. Four: is SQL Server configured to accept remote TCP connections.
This order matches how often each cause actually occurs, so it finds most failures in the first two steps. And it keeps you out of Fabric's settings, where the problem almost never is.
Once the connection is solid, the strategic move for a Microsoft estate is usually to bring that SQL data into OneLake — via a gateway-backed pipeline, or by mirroring the database — so downstream reporting reads a governed copy in the lakehouse rather than querying the on-prem server live every time. But that is the next step; first, get the bridge working, in order.
Work the bridge in order: gateway, then network (timeouts), then auth (login errors), then SQL config. It matches how often each actually fails — and keeps you out of Fabric settings, where the problem almost never is.
If Fabric keeps failing to connect to your on-premise SQL Server and the tickets point vaguely at the cloud, the fix is almost always the gateway, the firewall or the auth. 30 minutes with Amit on your connection path — gateway health, network, credentials — and whether mirroring the database into OneLake would end the live-connection pain. No slides. No pitch deck. No obligation to proceed.
Free Assessment
Where does your operation sit on the data maturity curve?
8 questions. 3 minutes. You get a scored breakdown across data infrastructure, analytics readiness, and automation potential — with a specific next step for your industry.