# Microsoft SQL Server

This document outlines the integration with Microsoft SQL Server, enabling streamlined metadata management through features such as crawling, profiling, querying, data preview, and lineage building (both automatic and manual). It also ensures secure authentication via Credential Manager.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeTlQgjvgp_TCHKF0dZ0rFt2nTPDHPfpbfSyuJDamWDGTEJK5YDKc3P70GOktQSpfR_Q4AtXRu5LKmDmPENsqOthne9K99h5rsme2TBDRApjcGS2ZeXJOi77hXD305rxIFp2g41oA?key=_wlgS-9gCbJ3fEBrTyDaoeM5" alt=""><figcaption></figcaption></figure>

## Overview

### Connector Details

| Connector Category                                                                    | RDBMS                                   |
| ------------------------------------------------------------------------------------- | --------------------------------------- |
| Connector Version                                                                     | 6.3.4                                   |
| Releases Supported (Available from)                                                   | Legacy Connector                        |
| <p>Connectivity<br>\[How the connection is established with Microsoft SQL Server]</p> | JDBC driver                             |
| Verified Microsoft SQL Server Version                                                 | Microsoft SQL Server 2019 (15.0.4236.7) |

{% hint style="info" %}
*The Microsoft SQL Server connector has been validated with the mentioned "Verified Microsoft SQL Server Versions" and is expected to be compatible with other supported Microsoft SQL Server versions. If there are any issues with validation or metadata crawling, please submit a support ticket for investigation and feedback.*
{% endhint %}

### Connector Features

| Feature                                      | Availability |
| -------------------------------------------- | :----------: |
| Crawling                                     |       ✅      |
| Delta Crawling                               |       ❌      |
| Profiling                                    |       ✅      |
| Query Sheet                                  |       ✅      |
| Data Preview                                 |       ✅      |
| Auto Lineage                                 |       ✅      |
| Manual Lineage                               |       ✅      |
| Secure Authentication via Credential Manager |       ✅      |
| Data Quality                                 |       ✅      |
| DAM (Data Access Management)                 |       ❌      |
| Bridge                                       |       ✅      |

### Metadata Mapping

The following objects are crawled from Microsoft SQL Server and mapped to the corresponding UI assets.

<table><thead><tr><th>SQL Server Object</th><th>SQL Server Property</th><th>OvalEdge Attribute</th><th width="157.75">OvalEdge Category</th><th>OvalEdge Type</th></tr></thead><tbody><tr><td>Table</td><td>Table Name</td><td>Table</td><td>Tables</td><td>Table</td></tr><tr><td>Table</td><td>Table Type</td><td>Table</td><td>Tables</td><td>Table</td></tr><tr><td>Table</td><td>Table Comments</td><td>Source Description</td><td>Descriptions</td><td>Source Description</td></tr><tr><td>Columns</td><td>Column Name</td><td>Column</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td>Data Type</td><td>Column Type</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td>Description</td><td>Source Description</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td>Ordinal Position</td><td>Column Position</td><td>Table Columns</td><td>-</td></tr><tr><td>Columns</td><td>Length</td><td>Data Type Size</td><td>Table Columns</td><td>-</td></tr><tr><td>Views</td><td>View Name</td><td>View</td><td>Tables</td><td>View</td></tr><tr><td>Views</td><td>Text</td><td>View Query</td><td>Views</td><td>View</td></tr><tr><td>Procedures</td><td>Routine_name</td><td>Name</td><td>Procedures</td><td>-</td></tr><tr><td>Procedures</td><td>Description</td><td>Source Description</td><td>Descriptions</td><td>-</td></tr><tr><td>Procedures</td><td>Routine_definition</td><td>Procedure</td><td>Procedures</td><td>-</td></tr><tr><td>Functions</td><td>Routine_name</td><td>Name</td><td>Functions</td><td>-</td></tr><tr><td>Functions</td><td>Routine_definition</td><td>Function</td><td>Functions</td><td>-</td></tr><tr><td>Functions</td><td>Description</td><td>Source Description</td><td>Descriptions</td><td>-</td></tr><tr><td>Triggers</td><td>Trigger Name</td><td>Name</td><td>Triggers</td><td>-</td></tr><tr><td>Triggers</td><td>Trigger Definition</td><td>Trigger Data</td><td>Triggers</td><td>-</td></tr><tr><td>Triggers</td><td>Trigger Type</td><td>Type</td><td>Triggers</td><td>-</td></tr></tbody></table>

## Set up a Connection

### Prerequisites

The following are the prerequisites to establish a connection:

#### **External Supporting Files**

{% hint style="info" %}
*The supporting files listed below are required for Windows authentication. Ensure that the correct supporting files are used based on the specific installation environment. The supporting files are available for download. Extract the ZIP file and select the required files to proceed. To download the ZIP file, click* [*here*](https://docs.ovaledge.com/~/changes/967/connectors/connector-supporting-files)*.*
{% endhint %}

<table><thead><tr><th width="194">File Name</th><th>Description</th></tr></thead><tbody><tr><td>Jtds-1.3.1.jar</td><td>Use this file when the application is deployed in a Linux or Unix environment. Place the file in the Third Party Jars directory.</td></tr><tr><td>Ntlmauth.dll</td><td>Use this file when the application is deployed in a Linux or Unix environment. Place the file in the Tomcat bin directory.</td></tr><tr><td>Sqljdbc_auth.dll</td><td>Use this file when the application is deployed in a Windows environment. Place the file in the Tomcat bin directory.</td></tr></tbody></table>

### **Whitelisting Ports**

Make sure that inbound port “1433” is whitelisted to enable successful connectivity with the Microsoft SQL Server database.

{% hint style="warning" %}
*The default port number for Microsoft SQL Server is 1433. If a different port is used, ensure that the updated port number is specified during connection setup, the port is whitelisted, and communication between the system and Microsoft SQL Server is properly established.*
{% endhint %}

### **Service Account User Permissions**

{% hint style="warning" %}
*It is recommended to use a separate service account to establish the connection to the data source, configured with the following minimum set of permissions.*
{% endhint %}

{% hint style="info" %}
&#x20;**👨‍💻Who can provide these permissions?** These permissions are typically granted by the Microsoft SQL Server administrator, as users may not have the required access to assign them independently.
{% endhint %}

| Operation                              | Objects                                             | System Tables                          | Access Permission |
| -------------------------------------- | --------------------------------------------------- | -------------------------------------- | ----------------- |
| Crawling & Profiling                   | Schema                                              | sys.schemas                            | SELECT            |
| Crawling & Profiling                   | Schema                                              | extended\_properties                   | SELECT            |
| Crawling & Profiling                   | Tables                                              | information\_schema.tables             | SELECT            |
| Crawling & Profiling                   | Tables                                              | fn\_listextendedproperty               | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | sys.all\_columns                       | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | sys.types                              | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | sys.views                              | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | information\_schema.columns            | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | information\_schema.key\_column\_usage | SELECT            |
| Crawling & Profiling                   | Table Columns                                       | information\_schema.table\_constraints | SELECT            |
| Crawling, Profiling & Lineage Building | Views                                               | information\_schema.views              | View Definition   |
| Crawling, Profiling & Lineage Building | Views                                               | sys.objects                            | View Definition   |
| Crawling & Lineage Building            | <p>Functions &<br>Stored Procedures Source code</p> | information\_schema.routines           | View Definition   |
| Crawling & Lineage Building            | <p>Functions &<br>Stored Procedures Source code</p> | sys.sql\_modules                       | View Definition   |
| Crawling & Lineage Building            | <p>Functions &<br>Stored Procedures Source code</p> | sys.extended\_properties               | View Definition   |
| Crawling                               | Triggers                                            | sys.objects                            | SELECT            |
| Crawling                               | Triggers                                            | sql\_modules                           | SELECT            |
| Crawling                               | Synonyms                                            | sys.synonyms                           | SELECT            |
| Crawling                               | Relationships                                       | sys.foreign\_keys                      | SELECT            |
| Crawling                               | Indexes                                             | on specified table                     | View Definition   |

### Connection Configuration Steps

{% hint style="warning" %}
*Users are required to have the Connector Creator role in order to configure a new connection.*
{% endhint %}

1. Log into OvalEdge, go to Administration > Connectors, click + (New Connector), search for Microsoft SQL Server, and complete the required parameters.

{% hint style="info" %}
*Fields marked with an asterisk (\*) are mandatory for establishing a connection.*
{% endhint %}

<table><thead><tr><th width="215.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "SQL Server" is displayed as the selected connector type.</td></tr><tr><td>Authentication</td><td><p>The following three types of authentication are supported for Microsoft SQL Server:</p><ul><li>SQL Server Authentication</li><li>Windows Authentication</li><li>Azure Active Directory - Password</li></ul></td></tr></tbody></table>

{% tabs %}
{% tab title="SQL Server Authentication" %}

<table><thead><tr><th width="220.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. The corresponding parameters will be displayed based on the selected option.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp Vault</li><li>Azure Key Vault</li></ul></td></tr><tr><td>License Add Ons</td><td><p></p><ul><li>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</li><li>Select the checkbox for Data Quality Add-On to identify data quality issues using data quality rules and anomaly detection.</li></ul></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the Microsoft SQL Server connection              </p><p>(Example: "SQL Server_Prod").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Connector description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the Microsoft SQL Server database server name or IP address (Example: xxxx-sqlserver.xxxx4ijtzasl.xx-south-1.rds.xxxxxws.com or xxx.xx8.x.10).</td></tr><tr><td>Port*</td><td>By default, the port number for the Microsoft SQL Server, "1433" is auto-populated. If required, the port number can be modified as per custom port number that is configured for the Microsoft SQL Server.</td></tr><tr><td>Database*</td><td>Enter the database name to which the service account user has access within the Microsoft SQL Server.</td></tr><tr><td>Driver*</td><td>By default, the Microsoft SQL Server driver details are auto-populated. </td></tr><tr><td>Username*</td><td>Enter the service account username set up to access the Microsoft SQL Server database (Example: "oesauser").</td></tr><tr><td>Password*</td><td>Enter the password associated with the service account user.</td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the Microsoft SQL Server database:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to Database Name.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Windows Authentication" %}

<table><thead><tr><th width="219">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>OvalEdge Installed Environment</td><td><p>Select the environment where the application has been installed.</p><ul><li>Windows</li><li>Linux/Unix</li></ul></td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. The corresponding parameters will be displayed based on the selected option.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp Vault</li><li>Azure Key Vault</li></ul></td></tr><tr><td>License Add Ons</td><td><ul><li>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</li><li>Select the checkbox for Data Quality Add-On to identify data quality issues using data quality rules and anomaly detection.</li></ul></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the Microsoft SQL Server connection              </p><p>(Example: "SQL Server_Prod").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Connector Description </td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the Microsoft SQL Server database server name or IP address (Example: xxxx-sqlserver.xxxx4ijtzasl.xx-south-1.rds.xxxxxnaxxws.com or 1xx.xxx.1.x0).</td></tr><tr><td>Port*</td><td>By default, the port number for the Microsoft SQL Server, "1433" is auto-populated. If required, the port number can be modified as per custom port number that is configured for the Microsoft SQL Server.</td></tr><tr><td>Database*</td><td>Enter the database name to which the service account user has access within the Microsoft SQL Server.</td></tr><tr><td>Domain</td><td>Enter the qualified Microsoft SQL Server domain name.<br><em><strong>Note</strong>: This field appears only when the installation environment is selected as Linux/Unix.</em></td></tr><tr><td>Driver*</td><td>By default, the Microsoft SQL Server driver details are auto-populated.</td></tr><tr><td>Username*</td><td>Enter the service account username set up to access the Microsoft SQL Server database (Example: "oesauser").<br><em><strong>Note</strong>: This field appears only when the installation environment is selected as Linux/Unix.</em></td></tr><tr><td>Password*</td><td>Enter the password associated with the service account user.<br><em><strong>Note</strong>: This field appears only when the installation environment is selected as Linux/Unix.</em></td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the Microsoft SQL Server database:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to Database Name.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Azure Active Directory - Password" %}

<table><thead><tr><th width="220.25">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. The corresponding parameters will be displayed based on the selected option.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp Vault</li><li>Azure Key Vault</li></ul></td></tr><tr><td>License Add Ons</td><td><ul><li>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</li><li>Select the checkbox for Data Quality Add-On to identify data quality issues using data quality rules and anomaly detection.</li></ul></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the Microsoft SQL Server connection              </p><p>(Example: "SQL Server_Prod").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Server*</td><td>Enter the Microsoft SQL Server database server name or IP address (Example: xxxx-sqlserver.xxxx4ijtzasl.xx-south-1.rds.xxxxxnaws.com or 1xx.xxx.1.x0).</td></tr><tr><td>Port*</td><td>By default, the port number for the Microsoft SQL Server, "1433" is auto-populated. If required, the port number can be modified as per custom port number that is configured for the Microsoft SQL Server.</td></tr><tr><td>Database*</td><td>Enter the database name to which the service account user has access within the Microsoft SQL Server.</td></tr><tr><td>Driver*</td><td>By default, the Microsoft SQL Server driver details are auto-populated. </td></tr><tr><td>Username*</td><td>Enter the service account username set up to access the Microsoft SQL Server database (Example: "oesauser").</td></tr><tr><td>Password*</td><td>Enter the password associated with the service account user.</td></tr><tr><td>Connection String</td><td><p>Configure the connection string for the Microsoft SQL Server database:</p><ul><li>Automatic Mode: The system generates a connection string based on the provided credentials.</li><li>Manual Mode: Enter a valid connection string manually.</li></ul><p>Replace placeholders with actual database details.</p><p>{sid} refers to Database Name.</p></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

**Default Governance Roles**

<table data-header-hidden><thead><tr><th width="225.25"></th><th></th></tr></thead><tbody><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**Admin Roles**

<table data-header-hidden><thead><tr><th width="225.25"></th><th></th></tr></thead><tbody><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**No of Archive Objects**

<table data-header-hidden><thead><tr><th width="225.25"></th><th></th></tr></thead><tbody><tr><td>No Of Archive Objects*</td><td><p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p></td></tr></tbody></table>

**Bridge**

<table data-header-hidden><thead><tr><th width="225.25"></th><th></th></tr></thead><tbody><tr><td>Select Bridge*</td><td><p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
   1. Click **Validate** to verify the connection.
   2. Click **Save** to store the connection for future use.
   3. Click **Save & Configure** to apply additional settings before saving.
3. The saved connection will appear on the Connectors home page.

## Manage Connector Operations

### Crawl/Profile

{% hint style="warning" %}
*To perform crawl and profile operations, users must be assigned the Integration Admin role.*
{% endhint %}

The **Crawl/Profile** button allows users to select one or more schemas for crawling and profiling.&#x20;

1. Navigate to the **Connectors page** and click **Crawl/Profile**.
2. Select the schemas to be crawled.
3. The **Crawl** option is selected by default. To perform both operations, select the **Crawl & Profile** radio button.
4. Click **Run** to collect metadata from the connected source and load it into the **Data Catalog**.
5. After a successful crawl, the information appears in the **Data Catalog > Databases** tab.

The **Schedule** checkbox allows automated crawling and profiling at defined intervals, from a minute to a year.

1. Click the **Schedule** checkbox to enable the Select Period drop-down.
2. Select a time interval for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the selected operation (**Crawl** or **Crawl & Profile**) at the scheduled time.

### Other Operations

The Connectors page provides a centralized view of all configured connectors, along with their health status.

#### Managing connectors includes:

* **Connectors Health**: Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor the connectivity with data sources.
* **Viewing**: Click the Eye icon next to the connector name to view connector details, including databases, tables, columns, and codes.

#### Nine Dots Menu Options:

To view, edit, validate, build lineage, configure, or delete connectors, click on the Nine Dots menu.

* Edit Connector: Update and revalidate the data source.
* Validate Connector: Check the connection's integrity.
* Settings: Modify connector settings.
  * Crawler: Configure data extraction.
  * Profiler: Customize data profiling rules and methods.
  * Query Policies: Define query execution rules based on roles.
  * Access Instructions: Add notes on how data can be accessed.
  * Business Glossary Settings: Manage term associations at the connector level.
  * Anomaly Detection Settings: Configure anomaly detection preferences at the connector level.
  * Others: Configure notification recipients for metadata changes.
* Build Lineage: Automatically build data lineage using source code parsing.
* Delete Connector: Remove a connector with confirmation.

## Connectivity Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

<table><thead><tr><th width="80.25">S. No.</th><th width="296.75">Error Message(s)</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Error while validating connection: Exception occurred while validating in SQL Server Connection: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.xxx.SQxxxxrException: Login failed for user 'xxxxx'. ClientConnectionId: 9xxxxx2-6xxx-4xx2-xx13-xxxx846xx</td><td><p><strong>Error Description:</strong></p><p>Either username and password might be wrong.</p><p><strong>Resolution</strong>:</p><ul><li>Ensure the correct username and password are entered in the setup form.</li><li>Verify the username format.</li><li>Confirm the user account is active.</li></ul></td></tr><tr><td>2</td><td><p>invalid DB</p><p>Error while validating connection. Error:Exception occured while validating in SQL Server Connection: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.xxx.SQLxxxException: Cannot open database "xxx" requested by the login. The login failed. ClientConnectionId:1xxxxx7a- xxxa-4xx9-bxxx-xxxxxx6bxxx7</p></td><td><p><strong>Error Description</strong>:</p><p>The database name provided is invalid.</p><p><strong>Resolution</strong>:</p><ul><li>The Database Name field in the setup form contains an incorrect value.</li><li>Ensure that the database name is correctly spelled and exists in the target system.</li></ul></td></tr></tbody></table>

***

&#x20;Copyright © 2025, OvalEdge LLC, Peachtree Corners GA USA
