An Azure service that is used to provision Windows and Linux virtual machines.
Hi @Anonymous
Since all 80 SQL Servers are hosted on private Azure VMs across different subnets/VNets within the same subscription, the recommended Microsoft-supported approach is to use a centralized secure connectivity model instead of exposing SQL Servers directly to Power BI.
- The recommended architecture is to deploy a centralized On-premises Data Gateway cluster on dedicated Windows VMs inside a secure Hub/Management VNet in Azure. This gateway acts as the secure bridge between Power BI Service and the private SQL Servers using outbound-only communication, without requiring public exposure of the SQL Servers.
- Configure a Hub-and-Spoke network topology where the Hub VNet hosts the gateway cluster and the Spoke VNets contain the SQL Server VMs. Connectivity between VNets should be established using VNet peering or VPN/ExpressRoute depending on the existing network design. NSGs/firewall rules should allow SQL access only from the gateway subnet to the SQL Servers over private IPs.
- For security and compliance, SQL Servers should remain private-only with no public inbound access to TCP 1433. Use dedicated read-only SQL accounts (or domain-integrated authentication where applicable) for metadata/configuration collection, enable SQL auditing, and securely manage credentials through gateway configuration and Azure Key Vault wherever possible.
- Since the requirement is primarily to collect static SQL configuration/environment details, the preferred enterprise design is to use a centralized collection layer instead of allowing Power BI to directly query all 80 SQL Servers continuously. A scheduled collection process using Azure Automation, PowerShell, Azure Functions, SQL Agent jobs, or Data Factory can gather the required metadata and store it in a central repository such as Azure SQL Database, Log Analytics, Data Lake, or Synapse.
- Power BI should ideally connect only to this centralized repository rather than maintaining 80 independent live connections. This approach significantly improves scalability, reduces gateway complexity, simplifies credential management, minimizes refresh failures, and provides better long-term operational governance.
- For high availability and scalability, deploy at least 2 gateway nodes in cluster mode and monitor gateway performance regularly. Additional nodes can be added later if refresh workloads increase.
- Additionally, if centralized governance and inventory visibility are required, Azure Arc-enabled SQL Server and Azure Monitor/Log Analytics can also be integrated to provide broader compliance, monitoring, and operational insights.
Reference documentation: