Databricks can connect to network restricted sql server using serverless compute

Daniel Ferreira 0 Reputation points
2026-06-24T14:50:41.6066667+00:00

I have a databricks workspace that has both classic compute with a vnet and serverless compute that connects to a sql server database that has a private link to the classic compute vnet and has restricted access (ip allow list) for public IPs.

When using the classic compute dns resolves to the private IP and it works normaly.

What I don't understand is when I use serverless it resolves to the public IP and also works. My expectation would be that it would fail.

I can't figure out why this is working. If I try a failover server in a different region it fails as expected so can only speculate that something about the existing service connections is passing through to the serverless compute?

I have no Network Connection Configuration.

Azure Databricks
Azure Databricks

An Apache Spark-based analytics platform optimized for Azure.


2 answers

Sort by: Most helpful
  1. Manoj Kumar Boyini 18,595 Reputation points Microsoft External Staff Moderator
    2026-06-25T11:46:47.71+00:00

    Hello @Daniel Ferreira

    When no Network Connectivity Configuration (NCC) private endpoint is configured, serverless compute uses Databricks-managed networking and can connect to resources using NAT IPs and service endpoints rather than the VNet path.

    Azure Databricks also documents support for the AzureDatabricksServerless service tag through Azure Network Security Perimeter (NSP) configurations, and publishes outbound IP information for serverless compute for firewall allow-list scenarios.

    Given that the primary SQL Server accepts the connection while the geo-replica does not, Azure Databricks documentation does not describe any behavior where serverless compute inherits the private endpoint connectivity of classic compute. Therefore, the successful connection is being allowed through the networking controls applicable to the primary SQL Server.

    References:
    https://learn.microsoft.com/en-us/azure/databricks/resources/ip-domain-region#azure-serverless-outbound-ips
    https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-nsp-firewall

    Please let us know if you have any questions.

    Was this answer helpful?

    0 comments No comments

  2. Alex Burlachenko 23,575 Reputation points MVP Volunteer Moderator
    2026-06-25T08:55:36.12+00:00

    hi Daniel Ferreira, thx for sharing urs issue here at Q&A portal,

    serverless is reaching SQL over the public endpoint, and the SQL firewall is allowing that source somehow.

    Private Link from ur classic compute VNet won’t automatically apply to Databricks serverless. Serverless doesn’t sit in ur classic VNet unless u configure serverless network connectivity/NCC. So if DNS resolves to the public IP from serverless, that path is public, not private. If it still works, I’d check the SQL server firewall and networking settings. Common reason is Allow Azure services and resources to access this server being enabled. That can allow traffic from Azure services even when u didn’t explicitly add a public IP. Another possibility is a broad firewall rule/range that includes the serverless egress IPs.

    Quick way to prove it is checking SQL auditing / connection logs and see the client IP for the serverless session. Compare that IP against SQL firewall rules and any Azure service access setting.

    https://learn.microsoft.com/en-us/azure/azure-sql/database/firewall-configure

    https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-network-connectivity

    If u want serverless to use private access, set up Network Connectivity Configuration for serverless and route it thru private endpoints as supported. Without NCC, don’t assume private DNS/private link from classic compute applies to serverless.

    My guess is nothing magic is being passed from classic compute. Serverless is just allowed by SQL firewall/public Azure access. The failed region case prob means the failover server has diff firewall/private endpoint/DNS settings, so it behaves the way u expected.

    rgds,

    Alex

    &

    If my answer was helpful pls mark it and additional thx if u follow me at Q&A portal
    

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.