# Microsoft SQL Server

Microsoft SQL Server is a relational database management system developed by Microsoft. As a scheduler environment in Paradime, SQL Server enables deploying dbt™ in production with [Bolt](https://docs.paradime.io/app-help/documentation/bolt).

{% hint style="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).
{% endhint %}

### 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 **Bolt Schedules** section
4. Select "**SQL Server**"
5. In the **Profile Configuration** field, add at least these required parameters. For additional configuration options, see the [Profile Fields Reference](#profile-fields-reference) section.

```yaml
driver: 'ODBC Driver 18 for SQL Server'     # ODBC Driver 18 for SQL Server
server: sql.company.com                     # Hostname or IP address
port: 1433                                  # Default: 1433
database: analytics_db                      # Name of the database
user: sql_user                              # SQL Server username
password: your_password                     # SQL Server password
```

{% hint style="info" %}
After adding the configuration, ensure it's properly formatted using a YAML formatter like [YAML Formatter](https://jsonformatter.org/yaml-formatter).
{% endhint %}

6. Provide a dbt™ **Profile Name** (This should match with the profile name set in your `dbt_project.yml`).
7. In the **Target** field, enter "**`prod`**". This is the default target your dbt™ project will use for your [Bolt Schedules.](https://docs.paradime.io/app-help/documentation/bolt)
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 number to specify how many parallel operations your dbt project can run.

***

### Example Profile Configuration

<figure><img src="https://2337193041-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHET0AD04uHMgdeLAjptq%2Fuploads%2Fivf1eMLF6VDcXWB3mrbK%2Fimage.png?alt=media&#x26;token=e75fbb7f-4329-4868-95a8-8d3446f0918d" alt=""><figcaption></figcaption></figure>

***

### Profile Fields Reference

<table><thead><tr><th width="208">Field</th><th width="210">Description</th><th width="167">Example</th><th width="138">Default Value</th><th width="121">Required</th></tr></thead><tbody><tr><td>driver</td><td>OBDC driver</td><td><code>ODBC Driver 18 for SQL Server</code></td><td><code>ODBC Driver 18 for SQL Server</code></td><td>✅</td></tr><tr><td>server</td><td>Server hostname or IP</td><td><code>sql.company.com</code></td><td>None</td><td>✅</td></tr><tr><td>port</td><td>Server port number</td><td><code>1433</code></td><td><code>1433</code></td><td>✅</td></tr><tr><td>database</td><td>Database name</td><td><code>analytics_db</code></td><td>None</td><td>✅</td></tr><tr><td>schema</td><td>Schema name. <br><br>This is configured in the UI "Schema" field</td><td><code>dbo</code></td><td>None</td><td>✅</td></tr><tr><td>user</td><td>Authentication username</td><td><code>sql_user</code></td><td>None</td><td>✅</td></tr><tr><td>password</td><td>Authentication password</td><td><code>your_password</code></td><td>None</td><td>✅</td></tr><tr><td>retries</td><td>Number of query retry attempts</td><td><code>3</code></td><td><code>1</code></td><td>❌</td></tr><tr><td>encrypt</td><td>Enable connection encryption</td><td><code>true</code></td><td><code>true</code></td><td>❌</td></tr><tr><td>trust_cert</td><td>Trust server certificate</td><td><code>false</code></td><td><code>false</code></td><td>❌</td></tr><tr><td>login_timeout</td><td>Connection timeout in seconds</td><td><code>10</code></td><td><code>0</code></td><td>❌</td></tr><tr><td>query_timeout</td><td>Query timeout in seconds</td><td><code>300</code></td><td><code>0</code></td><td>❌</td></tr><tr><td>schema_authorization</td><td>Schema owner principal</td><td><code>db_owner</code></td><td>None</td><td>❌</td></tr></tbody></table>
