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

# Azure Synapse Analytics

> Connect Datafold to Azure Synapse Analytics for data diffing, reconciliation, and migration validation. Includes setup instructions and required permissions.

> [!NOTE]
>
> **INFO**
>
> Column-level Lineage is not currently supported for Azure Synapse.

**Steps to complete:**

1. [Run SQL script and create schema for Datafold](https://docs.datafold.com/classic/integrations/databases/synapse.md#run-sql-script-and-create-schema-for-datafold)
2. [Configure your data connection in Datafold](https://docs.datafold.com/classic/integrations/databases/synapse.md#configure-in-datafold)

## Run SQL script and create schema for Datafold

To connect to Azure Synapse, create a user with read-only access to all tables you wish to diff, plus read and write access to a Datafold-specific temp schema.

On a dedicated SQL pool, the login is created in the `master` database, while the user and grants are created in your pool's database:

```Bash theme={null}
/* --- Run on the master database of your Synapse SQL pool --- */
CREATE LOGIN DatafoldUser WITH PASSWORD = 'SOMESECUREPASSWORD';

/* --- Run on your dedicated SQL pool (the database you want to connect) --- */
CREATE USER DatafoldUser FOR LOGIN DatafoldUser;

/* Datafold utilizes a temporary schema to materialize scratch work and keep data processing in your warehouse. */
CREATE SCHEMA datafold_tmp;

/* Allow the user to create views */
GRANT CREATE VIEW TO DatafoldUser;

/* Allow the user to create tables */
GRANT CREATE TABLE TO DatafoldUser;

/* Grant read access to the schemas you want to diff */
GRANT SELECT ON SCHEMA::YourSchema TO DatafoldUser;

/* Grant read + write access to the datafold_tmp schema */
GRANT CONTROL ON SCHEMA::datafold_tmp TO DatafoldUser;
```

## Configure in Datafold

| Field Name | Description |
| - | - |
| Connection name | A name given to the data connection within Datafold |
| Host | The hostname for your Synapse SQL endpoint (e.g. `your-workspace.sql.azuresynapse.net`) |
| Port | Synapse connection port; default value is 1433 |
| Username | The user created in our SQL script, named DatafoldUser |
| Password | The password created in our SQL script |
| Database | The name of the dedicated SQL pool (database) you want to connect to |
| Dataset for temporary tables | The schema created in our SQL script, in database.schema format: DatabaseName.datafold\_tmp in our script above. |

Click **Create**. Your data connection is ready!


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.