You may need to allowlist Hightouch's IP addresses to let our systems connect to your SQL Server instance. Reference our networking docs to determine which IP addresses you need to allowlist.
Hightouch can connect directly to SQL Server over the public internet or via an SSH tunnel. Since data is encrypted in transit via TLS, a direct connection is suitable for most use cases. You may need to set up a tunnel if your SQL Server instance is on a private network or virtual private cloud (VPC).
Hightouch supports both standard and reverse SSH tunnels. To learn more about SSH tunneling, refer to Hightouch's tunneling documentation.
The connection string method doesn't currently support SSH tunneling. Please if you're interested in this feature.
By default, Azure protects your SQL Server from any external IP address from connecting to your SQL Server. Follow these steps to add Hightouch's IP addresses to the firewall:
View these tables:
(*These are used for gathering metadata to set up the sync.)
INFORMATION_SCHEMA.COLUMNS
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
SYS.COLUMNS
To ensure your credentials are correct, click Test connection. This will confirm
if Hightouch is able to properly connect to your database by running a simple SELECT query.
Records can be matched from your source to your database table using any primary key or unique column. Hightouch only shows columns that are of the PRIMARY KEY or UNIQUE type in the dropdown.
Note: We do not display IDENTITY columns as those can't be edited or set
when inserting.
Select the fields from your source that you want to sync to SQL Server.
Make sure you account for column types and columns that are non-nullable.
If you upsert any row with the wrong column type or set a null value for a
non-nullable column, the entire batch with that row (up to 1k rows) will fail.
Cannot open server 'hightouch-test' request by login.
Client with IP address '54.196.30.169' is not allowed to access the server.
To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule
on the master database to create a firewall rule for this IP address or address range.
It may up take up to five minutes for this change to take effect.
This error occurs when incorrectly formatted data is sent to a SQL Server time field.
To resolve this issue, you need to reformat your model column data. For example, if your model column contains values formatted like hh:mm:ss, you need to use the template mapper to change the data's format to:
1970-01-01T{{ model.row['column_name'] }}Z
Be sure to replace column_name with the name of your time column.
SQL Server accepts these types of values and converts them to the hh:mm:ss.nnnnnnn format SQL Server expects.
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.