Connect to Microsoft SQL Server
Learn how to connect your Microsoft SQL Server database to Retool.
You can use the Microsoft SQL integration to create a resource and make it available in Retool. Once complete, your users can write queries that interact with Microsoft SQL data.
Requirements
The Microsoft SQL integration requirements depend on whether you have a cloud-hosted or self-hosted Retool organization. You may also need to make Microsoft SQL configuration changes before creating the resource.
- Cloud-hosted organizations
- Self-hosted organizations
Sufficient user permissions to create resources
All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.
Allow Retool to access the data source
If the data source is behind a firewall or restricts access based on IP address, then you must ensure that your Retool organization can access it. If necessary, configure your data source to allow access from Retool's IP addresses.
3.77.79.248/30
35.90.103.132/30
44.208.168.68/30
3.77.79.249
3.77.79.250
35.90.103.132
35.90.103.133
35.90.103.134
35.90.103.135
44.208.168.68
44.208.168.69
44.208.168.70
44.208.168.71
Retool is building support for querying firewalled resources without allowlisting Retool’s IP address. To learn more or be considered for early access, contact cloud-connect@retool.com.
Microsoft SQL settings and authentication
You must have sufficient access and familiarity with your Microsoft SQL data source so you can provide:
- Required connection settings (e.g., URL and server variables).
- Authentication credentials (e.g., API keys).
In some cases, you may need to make changes to your Microsoft SQL configuration, such as generating authentication credentials or allowing access through a firewall. Refer to the configuration and authentication sections to learn more.
Sufficient user permissions to create resources
All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.
Allow your deployment to access the data source
Your self-hosted deployment must have access to the data source. Ensure that any potential firewall rules for either the data source or your deployment instance are updated to allow them to communicate.
Microsoft SQL settings and authentication
You must have sufficient access and familiarity with your Microsoft SQL data source so you can provide:
- Required connection settings (e.g., URL and server variables).
- Authentication credentials (e.g., API keys).
In some cases, you may need to make changes to your Microsoft SQL configuration, such as generating authentication credentials or allowing access through a firewall. Refer to the configuration and authentication sections to learn more.
Configure the resource
Sign in to your Retool organization and navigate to the Resources tab. Click Create new > Resource, then select Microsoft SQL.
Configuration
Specify the name, location, and description to use for your Microsoft SQL resource. Retool displays the resource name and type in query editors to help users identify them.
Provide the following configuration settings to create the resource. Depending on how your data source is configured, you may also need to provide optional settings for Retool to connect.
You can automatically populate resource configuration fields by importing an AWS-hosted data source or providing a database connection string.
- Cloud-hosted organizations
- Self-hosted organizations
Name
The name to use for the resource.
Description
A description of the resource.
Connector version
The connector refers to the method with which Retool connects to Microsoft SQL and performs requests. Retool may release new connector versions to support new features and functionality in Microsoft SQL. It's recommended you use the most recent connector version unless you have a specific use case that requires an earlier version.
Where possible, new connection versions are backwards-compatible. Available connector versions and notable changes are listed below.
2.0
Changes from the previous connector version.
Deprecated support for array values with STRING_SPLIT
Microsoft SQL Server queries using STRING_SPLIT
must use string values. The following example illustrates how to switch from an array value to string values.
# Previous query using an array value
select * from string_split({{[1,2,3]}}, ',');
# Updated query using string values
select * from string_split({{[1,2,3].join(',')}}, ',');
Refer to the Microsoft SQL Server documentation to learn more about STRING_SPLIT
syntax.
1.0
Using a previous connection version is not recommended. You should only select this version if instructed by Retool.
- First connector version.
Host
The host server address.
Port
The host server connection port.
Database name
The name of the database to use.
Connection options
Key-value pairs to configure the connection.
Use dynamic database names
Whether to override the database name with a dynamically generated value. This allows using Retool with a database that has been sharded into several different databases.
Use dynamic database credentials
Whether to override the database credentials with dynamically generated values.
Disable converting queries to prepared statements
Whether to disable SQL injection protection that allows dynamically generated SQL using JavaScript.
Show write GUI mode only
Whether to prevent users from writing raw SQL statements and only make changes using GUI mode queries.
Enable SSH tunnel
SQL Server Proxy host
The proxy server host to use when connecting to your database.
TDS Version
The TDS version that matches the SQL Server version.
Version | Description |
---|---|
7.1 | SQL Server 2000. |
7.2 | SQL Server 2005. |
7.3a | SQL Server 2008. |
7.3b | SQL Server 2008. |
7.4 | Default version. |
Connect to a read-only replica
Set the ApplicationIntent
option in the connection string to to readOnly
when using Azure's Read Scale-Out feature.
Override default outbound Retool region
Retool connects to your data source from the us-west-2
region. Choosing a different outbound region can improve performance through geographic proximity.
Region | Location |
---|---|
us-west-2 | US West (Oregon) |
eu-central-1 | (Frankfurt, Germany) |
Name
The name to use for the resource.
Description
A description of the resource.
Connector version
The connector refers to the method with which Retool connects to Microsoft SQL and performs requests. Retool may release new connector versions to support new features and functionality in Microsoft SQL. It's recommended you use the most recent connector version unless you have a specific use case that requires an earlier version.
Where possible, new connection versions are backwards-compatible. Available connector versions and notable changes are listed below.
2.0
Changes from the previous connector version.
Deprecated support for array values with STRING_SPLIT
Microsoft SQL Server queries using STRING_SPLIT
must use string values. The following example illustrates how to switch from an array value to string values.
# Previous query using an array value
select * from string_split({{[1,2,3]}}, ',');
# Updated query using string values
select * from string_split({{[1,2,3].join(',')}}, ',');
Refer to the Microsoft SQL Server documentation to learn more about STRING_SPLIT
syntax.
1.0
Using a previous connection version is not recommended. You should only select this version if instructed by Retool.
- First connector version.
Host
The host server address.
Port
The host server connection port.
Database name
The name of the database to use.
Connection options
Key-value pairs to configure the connection.
Use dynamic database names
Whether to override the database name with a dynamically generated value. This allows using Retool with a database that has been sharded into several different databases.
Use dynamic database credentials
Whether to override the database credentials with dynamically generated values.
Disable converting queries to prepared statements
Whether to disable SQL injection protection that allows dynamically generated SQL using JavaScript.
Show write GUI mode only
Whether to prevent users from writing raw SQL statements and only make changes using GUI mode queries.
Enable SSH tunnel
SQL Server Proxy host
The proxy server host to use when connecting to your database.
TDS Version
The TDS version that matches the SQL Server version.
Version | Description |
---|---|
7.1 | SQL Server 2000. |
7.2 | SQL Server 2005. |
7.3a | SQL Server 2008. |
7.3b | SQL Server 2008. |
7.4 | Default version. |
Connect to a read-only replica
Set the ApplicationIntent
option in the connection string to to readOnly
when using Azure's Read Scale-Out feature.
Connect using Windows Auth
Whether to connect using Windows authentication.
Authentication
The Microsoft SQL integration supports the following authentication methods. Depending on which authentication method you use, you may need to make changes to your Microsoft SQL configuration.
- Cloud-hosted organizations
- Self-hosted organizations
Username and password
Authentication is performed with a username and password. You must be able to obtain and provide these credentials to create the resource.
Username and password
Authentication is performed with a username and password. You must be able to obtain and provide these credentials to create the resource.
You can configure self-hosted deployments to use Kerberos authentication with Microsoft SQL Server resources.
SSL/TLS validation
Retool strongly recommends enabling SSL/TLS certificate validation whenever it's available. This ensures the connection is secure and prevents attackers from using invalid server certificates to gain access to your data.
Some resources support or require SSL/TLS validation. If needed, provide the following information to configure SSL.
CA Cert
The CA certificate to use.
Client key
The client key.
Client cert
The client certificate.
Verification mode
The mode with which Retool performs SSL/TLS verification.
Mode | Description |
---|---|
Full verification | Verifies the server host matches the name stored in the server certificate and checks the CA certificate. |
Verify CA certificate | This verifies the server by checking the certificate chain up to the root certificate stored on the client. |
Skip CA certificate verification Caution | This establishes an encrypted connection without CA certificate verification. This mode is not recommended as your server could be vulnerable. |
Test the connection
Click Test Connection to verify that Retool can successfully connect to the data source. If the test fails, check the resource settings and try again.
Testing a connection only checks whether Retool can successfully connect to the resource. It cannot check whether the provided credentials have sufficient privileges or can perform every supported action.
Save the resource
Click Create resource to complete the setup. You can then click either Create app to immediately start building a Retool app or Back to resources to return to the list of resources.
Next steps
Your Microsoft SQL resource is now ready to use. Check out related queries and code documentation to learn how to interact with Microsoft SQL data.
Queries and code quickstart
Fundamental concepts of queries and code.
Resource query tutorial
Hands-on introduction to querying APIs and databases.
Explore database schemas
Learn how to explore database schemas.
Read SQL data
Learn how to retrieve data with SQL.
Write SQL data
Learn how to write data with SQL.