> ## 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

Microsoft Fabric is a unified analytics platform that combines data warehousing and analytics services. As a DinoAI agent environment in Paradime, Microsoft Fabric enables running dbt™ models and queries during DinoAI background agent 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](https://docs.paradime.io/app-help/developers/ip-restrictions).
</Warning>

#### 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

#### Setup Instructions

1. Click **Settings** in the top menu bar of the Paradime interface to access **Account Settings**
2. In the left sidebar, click **Connections**
3. Click **Add New** next to the **DinoAI Background Agent Environment** section
4. Select **Microsoft Fabric**
5. In the **Profile Configuration** field, add the following parameters based on your authentication method. Reference the Profile Fields Reference section below for additional context and configurations.

<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>

6. Provide a dbt™ **Profile Name** (this should match the profile name set in your `dbt_project.yml`).
7. In the **Target** field, enter **`dinoai`**. This is the target your dbt™ project will use during DinoAI background agent sessions.
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.

***

#### Example Profile Configuration

<Frame caption="Profile configuration example for 'Microsoft Entra ID username and Password'">
  <img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2F2NaZ1bExmkimY4FHR9UO%2Fimage.png?alt=media&token=0d4250d6-748c-41a5-9747-5ec3656430f5" alt="Profile configuration example for 'Microsoft Entra ID username and Password'" />
</Frame>

***

#### 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 the DinoAI agent service user           | `fabric_user`                   | None                            | ❌        |
| PWD                   | Password for the DinoAI agent service user           | `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 topics

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