> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Fabric

> Connect Microsoft Fabric to Paradime to run dbt™ against your Fabric warehouse from the Code IDE, schedule Bolt jobs, and use Agent sessions.

[Microsoft Fabric](https://www.microsoft.com/microsoft-fabric) is a unified analytics platform that combines data warehousing and analytics services. Connect it to Paradime to develop dbt™ from the Code IDE, deploy production jobs with Bolt, and run dbt™ models and queries during Agent background sessions.

<Warning>
  **IP restrictions**

  Make sure to allow traffic from one of the Paradime IPs in your firewall depending on the data location selected.

  See also: [Paradime IP addresses](/developers/ip-restrictions).
</Warning>

<Note>
  **Available in:** Code IDE, Bolt, and Agent environments.
</Note>

## Authentication methods

Microsoft Fabric uses Microsoft Entra ID (formerly Azure AD) as its primary authentication system. Set `authentication` to one of these values:

* `ActiveDirectoryPassword` - Microsoft Entra ID username and password
* `ServicePrincipal` - Service principal authentication

## Add a connection

1. Click **Settings** in the top menu bar of the Paradime interface to access **Workspace Settings**.
2. In the left sidebar, click **Environments**.
3. Click **Add New** next to the section for the environment you are configuring:
   * **Code IDE** for the Code IDE connection
   * **Bolt** for the Bolt connection
   * **Agent** for the Agent connection
4. Select **Microsoft Fabric**.
5. In the **Profile Configuration** field, add the parameters for your authentication method (see [Profile configuration](#profile-configuration) below). Reference the [Profile fields reference](#profile-fields-reference) for additional context and configurations.
6. Provide a dbt™ **Profile Name** (this should match the profile name set in your `dbt_project.yml`).
7. In the **Target** field, enter the target for the environment you are configuring: `dev` for Code IDE, `prod` for Bolt, or `dinoai` for the Agent.
8. The **Schema** field is pre-configured, but you can change it to specify the schema where dbt™ will build objects.
9. The **Threads** value is pre-configured to 1, but you can adjust this to specify how many parallel operations your dbt™ project can run.

## Profile configuration

Add the following parameters based on your authentication method.

<Tabs>
  <Tab title="Microsoft Entra ID username and password">
    ```yaml theme={"system"}
    driver: 'ODBC Driver 18 for SQL Server'    # ODBC driver name
    server: fabric.analytics.com               # Server hostname
    port: 1433                                 # Default port
    database: analytics_db                     # Database name
    schema: reporting                          # Schema name
    authentication: ActiveDirectoryPassword    # Password authentication
    user: user@company.com                     # User email
    password: your_password                    # User password
    ```
  </Tab>

  <Tab title="Service principal">
    ```yaml theme={"system"}
    driver: 'ODBC Driver 18 for SQL Server'    # ODBC Driver for SQL Server
    server: fabric.analytics.com               # Server hostname or IP address
    port: 1433                                 # Server port number
    database: analytics_db                     # Database name
    schema: reporting                          # Schema name
    authentication: ServicePrincipal           # Authentication method
    tenant_id: your_tenant_id                  # Microsoft Entra tenant ID
    client_id: your_client_id                  # Application (client) ID
    client_secret: your_client_secret          # Client secret value
    ```
  </Tab>
</Tabs>

<Info>
  After adding the configuration, ensure it's properly formatted using a YAML formatter like [YAML Formatter](https://jsonformatter.org/yaml-formatter).
</Info>

## Schema authorization

When creating schemas in Microsoft Fabric, you can control who owns them:

* Schema ownership is defined using the [AUTHORIZATION Argument](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-schema-transact-sql?view=sql-server-ver16#arguments). The syntax follows this pattern:

  ```sql theme={"system"}
  CREATE SCHEMA [schema_name] AUTHORIZATION [schema_authorization]
  ```

* Useful for managing permissions in Microsoft Entra ID environments.

* Recommended when working with group-based permissions.

## Profile fields reference

| Field                 | Description                                          | Example                         | Default                         | Required |
| --------------------- | ---------------------------------------------------- | ------------------------------- | ------------------------------- | -------- |
| driver                | ODBC driver                                          | `ODBC Driver 18 for SQL Server` | `ODBC Driver 18 for SQL Server` | ✅        |
| host                  | SQL analytics endpoint                               | `localhost`                     | None                            | ❌        |
| port                  | Server port number                                   | `1433`                          | `1433`                          | ✅        |
| database              | Database name                                        | `analytics_db`                  | None                            | ✅        |
| schema                | Schema name. Configured in the UI Schema field.      | `dbo`                           | `dbo`                           | ✅        |
| authentication        | Authentication method                                | `ServicePrincipal`              | `sql`                           | ✅        |
| retries               | Number of connection retry attempts                  | `1`                             | `1`                             | ❌        |
| encrypt               | Enable connection encryption                         | `true`                          | `true`                          | ❌        |
| trust\_cert           | Trust server certificate                             | `false`                         | `false`                         | ❌        |
| login\_timeout        | Connection timeout in seconds                        | `0`                             | `0`                             | ❌        |
| query\_timeout        | Query timeout in seconds                             | `0`                             | `0`                             | ❌        |
| schema\_authorization | Schema owner principal                               | `db_owner`                      | None                            | ❌        |
| UID                   | Username for authentication (when required)          | `fabric_user`                   | None                            | ❌        |
| PWD                   | Password for authentication (when required)          | `your_password`                 | None                            | ❌        |
| tenant\_id            | Microsoft Entra ID tenant ID (for service principal) | `your_tenant_id`                | None                            | ❌        |
| client\_id            | Microsoft Entra service principal client ID          | `your_client_id`                | None                            | ❌        |
| client\_secret        | Microsoft Entra service principal client secret      | `your_client_secret`            | None                            | ❌        |

## Related

<CardGroup cols={2}>
  <Card title="Optional connection attributes" href="/guides/data-warehouse-essentials/optional-connection-attributes" icon="gear" horizontal>
    Set additional `profiles.yml` attributes for this connection.
  </Card>
</CardGroup>


## Related topics

- [Microsoft Fabric Tools](/products/dino-ai/tools-and-features/warehouse-tool/microsoft-fabric-tools.md)
- [Bolt environment](/products/settings/connections/scheduler-environment/index.md)
- [Agent environment](/products/settings/connections/dinoai-background-agent-environment/index.md)
- [Code IDE environment](/products/settings/connections/development-environment/index.md)
- [DinoAI Tools](/products/dino-ai/tools-and-features/index.md)
