SQL Server
Configuring your SQL Server destination.
Prerequisites
- If your SQL Server database is protected by security groups or other firewall settings, you will need the data syncing service's static IP available to complete Step 1.
- Confirm that your SQL Server database is configured to allow TCP/IP connections.
Network allowlistingCloud Hosted (US):
35.192.85.117/32Cloud Hosted (EU):
104.199.49.149/32If private-cloud or self-hosted, contact support for the static egress IP.
Step 1: Allow access
Create a rule in a security group or firewall settings to whitelist:
- incoming connections to your host and port (usually
1433) from the static IP. - outgoing connections from ports
1024to65535to the static IP.
Step 2: Create writer user
Create a database user to perform the writing of the source data.
- Open a connection to your SQL Server database.
- Create a user for the data transfer by executing the following SQL command. The
<database>should be the target destination database.
USE <database>;
CREATE LOGIN <username> WITH PASSWORD = '<password>';
CREATE USER <username> FOR LOGIN <username>;- Grant user
CREATE TABLEprivileges on the database.
GRANT CREATE TABLE TO <username>;
Understanding theCREATE TABLEpermission in SQL ServerThe
CREATE TABLEpermission is a database level permission that allows for the creation of new tables in a given database. The user must also have theALTERpermission granted on a given schema in order to create new tables in that schema (see the next step for details).
- Grant user
CREATE SCHEMAprivileges on the database if the schema does not exist.
GRANT CREATE SCHEMA TO <username>;
If theSCHEMAalready existsBy default, the service creates a new schema based on the destination configuration. If you prefer to create the schema yourself before connecting the destination, you must ensure that the writer user has the proper permissions on the schema, using:
GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON SCHEMA :: <schema> TO <username>;If the
SCHEMAalready exists, the user does not need theGRANT CREATE SCHEMApermission.
Step 3: Add your destination
Securely share your host name, database name, port, your chosen schema name, username, and password with us to complete the connection.
Credential character limitationsFor user credentials containing special characters, please avoid using the following characters:
@,[,],/,?,#,",\\,+, space,&,:as these characters can break connection string parsing.
Permissions checklist
- Network:
- Inbound rule allows TCP
1433from the static egress IP - Outbound rule allows ephemeral ports
1024-65535to the static egress IP
- Inbound rule allows TCP
- SQL Server:
CREATE TABLEon the target database- If schema is created by the service:
CREATE SCHEMAon the database - If schema is pre-created:
SELECT, INSERT, UPDATE, DELETE, ALTERon the target schema - TCP/IP connections are enabled
- Optional:
- If connecting over a private network, SSH tunnel can be used (ensure tunnel host access and public key exchange, if applicable)
FAQ
Q: How is the SQL Server connection secured?
A: The connection uses a dedicated, least-privileged SQL login scoped to the destination database and schema. Network access can be restricted to the static egress IP and SSH tunneling is optionally supported.
Q: Which special characters should I avoid in credentials?
A: Avoid these characters in usernames and passwords because they can break connection string parsing: @, [, ], /, ?, #, ", \\, +, space, &, :.
Q: Which SQL Server flavors are supported?
A: Generic on-premises SQL Server, Azure SQL Database, and Azure Synapse are supported. For Azure dedicated SQL pools, we recommend using the Azure Blob Storage destination type and loading from Azure Data Lake Storage Gen2.
Updated 3 days ago