Follow our setup guide to connect your Azure Synapse data warehouse to Fivetran.
To connect Azure Synapse to Fivetran, you need the following:
- Permissions to create a user for Fivetran
- Fivetran account owner permission to add destinations
- Permissions to add or change resource classes for user
Choose connection method link
Decide whether to connect to your Azure Synapse data warehouse directly, using an SSH tunnel, or using Azure Private Link. For more information, see our destination connection options documentation.
If you connect directly, you must create a rule in a security group that allows Fivetran access to your Synapse instance and port.
Configure your firewall and/or other access control systems to allow incoming connections to your host and port from Fivetran’s IPs for your region.
Connect using an SSH tunnel
If you connect using an SSH tunnel, Fivetran connects to a separate server in your network that provides an SSH tunnel to your Azure Synapse data warehouse. You must then configure your tunnel server’s security group to allow Fivetran access and configure the instance’s security to allow access from the tunnel.
You must connect through SSH if your data warehouse is contained within an inaccessible subnet.
To connect using SSH, do the following:
In the destination setup form, select the Connect via an SSH tunnel option.
Copy Fivetran’s public SSH key.
Add the public key to the
authorized_keysfile of your SSH server. The key must be all on one line, so make sure that you don’t introduce any line breaks when cutting and pasting.
Connect using Azure Private Link
IMPORTANT: You must have a Business Critical plan to use Azure Private Link.
If you select Private Link as a connection method, Fivetran uses Azure Private Link to move your data securely between our system and your destination.
To set up Private Link for your Azure Synapse destination, follow the instructions in the Azure Private Link section.
Create a warehouse using your Azure portal.
Find server detailslink
Go to the Azure portal.
Click Azure Synapse Analytics.
Click on the SQL pool you created in Step 2.
In the Server name field, find the fully qualified server name and database name. Make a note of the names. You will need them to complete the destination setup in Fivetran.
Configure server-level firewalllink
Add Fivetran’s IP address in your server-level firewall to allow incoming connections to your Azure Synapse data warehouse from Fivetran.
See Azure’s documentation on how to create a server-level firewall rule for more information.
Create a Fivetran userlink
Connect to your Azure Synapse data warehouse using SQL Server Management Studio or SQL Pro as an Admin user.
Execute the following SQL command to create a Fivetran user in the master database:
CREATE LOGIN fivetran WITH PASSWORD = '<password>';
Execute the following SQL commands to create a Fivetran user in the data warehouse:
CREATE USER fivetran_user_without_login without login; CREATE USER fivetran FOR LOGIN fivetran; GRANT IMPERSONATE on USER::fivetran_user_without_login to fivetran;
Grant CONTROL permissions to the Fivetran user. Execute the following command:
GRANT CONTROL to fivetran;
NOTE: We need CONTROL permission to create database scoped credentials that we use while loading files from Blob Storage using PolyBase.
Add resource classlink
Add a suitable resource class to the Fivetran user depending upon the memory requirement for columnstore index creation. We recommend using static resource classes. You can start with the
staticrc20 resource class that allocates 200 MB for the user irrespective of the performance level.
NOTE: Some connectors need higher resource class because of the higher number of columns. Higher volume of data requires more memory to create columnstore indexes. See Microsoft’s documentation on memory and concurrency limits and resource classes for more information.
You must increase the allocated resource class, if the columnstore indexing fails with the current resource class. Execute the following command to increase the resource class:
EXEC sp_addrolemember '<resource_class_name>', 'fivetran';
(Optional) Azure Private Link BETAlink
IMPORTANT: You must have a Business Critical plan to use Azure Private Link.
Fivetran uses Private Link to move your data securely between our system and your Azure Synapse destination.
To set up Azure Private Link, you need:
- A Fivetran instance configured to run in Azure
- An Azure Synapse destination in one of our supported regions
Configure Private Link for Azure Synapse destination
In the Azure portal, open your Azure Synapse workspace.
On the Security tab, select Private endpoint connections.
Click + Private endpoint.
In the Create a private endpoint window, select your subscription and region details:
i. On the Basics tab, choose your Subscription and Resource group.
ii. Enter the Name for the private endpoint.
iii. Select your Region.
iv. Click Next: Resource>.
Select your Azure Synapse workspace details:
i. On the Resource tab, select the Connect to an Azure resource in my directory option.
ii. Select the Subscription that contains your Azure Synapse workspace.
iii. Set the Resource type to Microsoft.Synapse/workspaces.
iv. In the Resource drop-down menu, select your Azure Synapse workspace.
v. Click Next: Configuration>.
On the Configuration tab, select the Virtual network and Subnet for the private endpoint. You must also create a DNS record that maps to the endpoint.
In the Integrate with private DNS zone, select Yes to integrate your private endpoint with a private DNS zone.
NOTE: If you don’t have a private DNS zone associated with your Microsoft Azure Virtual Network, then a new private DNS zone is created.
Click Review + create.
When the deployment completes, open your Azure Synapse workspace and go to Private endpoint connections. Make a note of the new private endpoint URL. You will need it to configure Fivetran.
NOTE: For more information, read Microsoft’s Azure Synapse workspace connection documentation.
Complete Fivetran configuration link
Log in to your Fivetran account.
Go to the Manage Account page.
In the Destinations tab, click +Destination.
On the Add Destination To Fivetran page, enter a Destination Name of your choice.
Click Add Destination.
Select Azure Synapse as the destination type.
In the destination setup form’s Host field, enter one of the following values:
Enter the Port number.
Enter your User name. Your username must follow the
<server_name>is part of your Azure host URL:
Enter your Password.
Enter the Database name you found in Step 3.
Choose your Connection method:
- Connect directly
- Connect via an SSH tunnel
- Connect via Private Link
NOTE: The Connect via Private Link option is only available for Business Critical accounts.
(Optional) If you choose Connect via an SSH tunnel, enter the following details:
- SSH Host
- SSH Port
- SSH User
Choose the Data processing location. Depending on the plan you are on and your selected cloud service provider, you may also need to choose a Cloud service provider and Azure region as described in our Destinations documentation.
Choose your Timezone.
Click Save and Test.
Fivetran tests and validates the Azure Synapse connection. Upon successful completion of the setup tests, you can sync your data using Fivetran connectors to the Azure Synapse destination.
Fivetran performs the following Azure Synapse connection tests:
The Database Host Connection Test validates the database credentials you provided in the setup form. The test verifies that the host is not private and then checks the connectivity to the host.
The SSH Tunnel Test validates the SSH tunnel details you provided in the setup form and then checks the connectivity to the instance using the SSH Tunnel if you are connecting using an SSH tunnel.
The UserName Has ServerName Test verifies the user details you provided in the setup form. The test checks if you have appended the server name to the user name. For example,
The Azure Warehouse Connection Test checks the connectivity to the data warehouse.
The Azure Warehouse Type Test checks if you are using Microsoft Azure SQL Data Warehouse.
The Azure Warehouse Permission Test checks if we have permissions to create schemas and tables on the database.
NOTE: The tests may take a couple of minutes to finish running.