Connect SQL Server, Snowflake, Databricks, and Analysis Services
Set up source authentication, attach connections and Analysis Services models, and define queries in the report-owned model.
Connect SQL Server, Snowflake, Databricks, or an Azure Analysis Services model to query your own data from Unity. A connection stores the source configuration. A report attaches that connection, and a semantic model describes the entities and fields available for analysis.
For file-based analysis, use CSV imports. For FRED, World Bank, or US Census data, use public-data connections.
Connect a database
- Open a report and click Get Data in the ribbon. It opens Data with New connection ready; you can also reach it from Add data → Add a source → New connection.
- Choose SQL Server, Snowflake, or Databricks.
- Enter the source location and the authentication details required by the selected method.
- Save the connection. Unity saves it, lists the source's tables and attaches it to the report, then opens a new query for it. If the tables can't be listed (a wrong password, an unreachable server), nothing is saved: correct the settings and save again.
- In From tables, select one or more tables and click Add queries (or the button showing the selected count). Unity adds one query per table, without relationships. Use SQL query instead to write source SQL and Save query to publish it.
- Review the saved queries and fields in Data, then start your analysis against the report model.
In Unity's cloud service, connections reach sources on the internet, as the Power BI service does: a server, workspace, account or sign-in endpoint whose address is private (a private network, localhost, link-local or cloud metadata address) is refused with "Unity's servers can't reach private network addresses ()." This is checked each time Unity connects, and Unity doesn't follow a source's redirects. A server or workspace address must be a plain host name or IP address, a Snowflake account must be on snowflakecomputing.com, a Databricks workspace on azuredatabricks.net, cloud.databricks.com or gcp.databricks.com, and SQL Server is reached over TCP (not a named pipe or shared memory).
Creating the connection and adding its queries are separate steps. A source that connects successfully still needs saved queries before visuals or the assistant can read from it.
Connect an Analysis Services model
An Azure Analysis Services tabular model (a "cube") joins your report as one live source. Unity does not copy it: its own measures, relationships, roles and row-level security answer every visual and question, so totals, distinct counts and time calculations match Power BI over the same model.
- Click Get Data (or Add data → Add a source → New connection) and choose Analysis Services.
- Enter the server address (
asazure://<region>.asazure.windows.net/<server>), the model name and your organization's Microsoft Entra tenant ID. You can pasteserver;modelto fill both. - Choose Microsoft sign-in so each person uses their own account (MFA and company single sign-on apply), or a service principal provided by your administrator. Sign in when asked.
- Click connect. Unity discovers the model and adds it to the report. Data shows its measures with their formats and definitions, its columns by table, and its hierarchies.
- Ask the assistant for visuals or analysis, or relate the model to other sources in Relationships to filter across them.
In SQL, group by the model's columns and read measures with MEASURE(name):
SELECT Region, MEASURE(Revenue) AS revenue FROM sales_model GROUP BY Region
Analysis Services calculates each measure for every group, so a subtotal is never a sum of smaller groups. Use Refresh fields after the model gains new measures or columns. Each reader needs a role in the model; with Microsoft sign-in, row-level security applies to every reader of a shared report.
Connection settings
| Source | Location and scope | Authentication choices in Unity |
|---|---|---|
| SQL Server | Server and database | Microsoft browser sign-in (including company SSO/MFA), SQL Server credentials, and supported Microsoft Entra service identities. |
| Snowflake | Account identifier, database, warehouse, schema, and optional role | Browser sign-in, username/password, key pair, or OAuth client credentials. |
| Databricks | Workspace host, SQL warehouse HTTP path, catalog, and schema | Microsoft or Databricks browser sign-in, Microsoft Entra service principal with secret or certificate, or a supplied Entra user access token. |
| Analysis Services | Server address, model, and tenant ID | Microsoft browser sign-in (each reader's own roles), service principal with secret or certificate, or an Entra user name and password. |
The form changes with the selected authentication method. For example, a Snowflake key-pair connection needs the user and private key; a Databricks service-principal connection needs the tenant and client details. Use the exact warehouse and catalog identifiers provided by your data administrator.
Authentication settings must also be enabled by the source. Selecting an option in Unity does not configure database permissions, network rules, identity-provider consent, or warehouse availability.
Understand connections and report models
| State | Meaning |
|---|---|
| Available connection | A saved connection your account can use. It is not necessarily attached to this report. |
| Attached connection | A source associated with this report and available through its authorized workflows. |
| Focused source | The connection selected while editing a source query; it does not restrict analytical report queries. |
| Report model | This report's saved entities, definitions, and relationships across attached sources. |
| Saved visual or dataset connection | A source/compatibility reference; the query's model entities determine which sources it reads. |
Each report owns one model. Editing its queries, relationships, or definitions does not change the models of other reports using the same connection. Credential and source-discovery changes remain connection-level operations.
Inspect the connections attached to this report. Use the sales connection
for a revenue trend and the support connection for a ticket-volume chart.
Create separate visuals and identify the source of each.
Report SQL can join named entities from different connections, imported files, and API outputs. Unity performs the remaining calculation in its engine. Relationships still need valid model fields. See Query processing.
Model the source
In Data, click New query. New database queries open on From tables; select tables to add separate queries, or switch to SQL query. Source queries use physical objects and the source's native dialect. Visuals and HTML datasets store visual queries over the model; report SQL in chat uses named report entities and DuckDB SQL. Open Relationships and a query's Definitions to define links and reusable calculations.
From tables automatically checks the database for current tables and columns when it opens or you change connections. Your last loaded list stays visible while it checks. Use Refresh tables if the database changes while the picker is open; you can keep using the same connection.
Refresh keeps your table selections and flags selected tables that disappeared or gained different columns. If discovery fails, the list is marked as outdated and Retry is available. Adding queries waits for a successful check. Refreshing this list does not change your saved queries or relationships.
Saving an edited query also preserves its unchanged relationships after a table refresh. You can remove an unrelated output column without updating those relationships; columns used by a relationship must remain in the query output.
Before changing a report definition, inspect the visuals, datasets, filters, and queries in that report that use it. See Semantic models.
Manage a connection
The data connection lists provide controls to rename connections, attach available ones, remove report attachments, and open the model. Removing a report attachment and deleting the saved connection are different operations.
Connection ownership is separate from report ownership. A report collaborator can use an attached source through authorized report operations without receiving its stored credential. An organization member does not automatically gain access to all connections.
Unity protects connections that are still attached to company reports from deletion. Transfer report responsibility and resolve source dependencies before removing an account or connection.
Connections an AI agent creates
An AI agent working through Unity's tools (SaveConnection) can create a connection, attach it to a report, remove it from a report, rename it, and delete it. It sets only where to connect and how, and never sees or sends a user name, client ID, password, key, or client secret. When the source needs them, the agent gives you a link to the connection's credentials page (/connections/<id>/credentials), which asks for the sign-in identity (the user name, or the client ID of a service principal or OAuth client) together with the secret, as Power BI's credentials dialog does. The page shows, before you type anything, where they will be sent: the server and port, the Snowflake account and token endpoint, the Databricks host and HTTP path, the Analysis Services server, or the API provider. Check them, type the user name or client ID and the secret, and select Save (the secret is labelled Password for a SQL login, Client secret for a service principal); Unity saves the secret encrypted, tests the connection and shows the result under the button. If the source then needs your own sign-in (Snowflake or Databricks OAuth), sign in on the same page and test again. Only the connection's owner can open the page; anyone else gets "not found". If you are signed out, Unity asks you to sign in and then returns you to the page.
An agent cannot change an existing connection's server, account, sign-in method, or other settings, and an API key may only rename a connection. Change settings yourself in Unity, or let the agent create a new connection and remove the old one. Browser sign-in identities are kept per host: a connection to a different host asks you to sign in again instead of reusing an existing sign-in.
Public page links and your sources
You don't need to allow anything on a connection for public page links. A page, HTML or native, with a public link runs its saved queries as the report Admin or Owner who created the link, and the link can read the report's sources. A source that signs in each viewer with their own account can't be read by a public link; the part of the page that uses it shows as unavailable. See Share reports with people and teams.
Reconnect your account
Browser connections renew access in the background. If your organization requires a new sign-in, Unity shows Sign-in required with a Reconnect action. You can also check your account in Sources or Connections. Reconnecting keeps your saved connection, queries, relationships and unsaved query edits in place. Waiting data previews and report reads resume after sign-in. Continue a chat request yourself after reconnecting; Unity does not replay chat turns or saves.
Each reader reconnects their own browser identity. Managed connections use credentials or a server identity configured by the connection owner. Application setup, source permissions and network problems need the appropriate owner or administrator; repeatedly signing in will not resolve those problems.
Troubleshoot setup
| Problem | Check |
|---|---|
| Authentication fails | The selected method, account identifiers, credentials, token lifetime, and source-side permissions. |
| Server cannot be reached | Network access from the Unity backend, firewall rules, host, port, and warehouse state. |
| No useful fields appear | Add tables or save a source query in the report model. |
| A query cannot resolve an entity | Use exact model identifiers and the right connection. |
| Existing charts still query the old source | Inspect the visual's query, the SQL Unity generates from it, and its model entity's source binding. |
See Live data for refresh behavior and Data and AI for the data path.
Questions about your environment? Contact us.