SQL Server

Internal supports SQL Server 2019, and Azure SQL.

How to connect

  • Display Name: Give your data source a name for use within Internal.
  • Host: The hostname or IP address of your data source.
  • Port: Port to connect to. By default, this is prefilled with standard values: SQL Server:1433.
  • Username: Credentials for this data source.
  • Password: Credentials for this data source.
  • Database: The name of the database (this must match the actual name of your MySQL database).



To connect with Internal, your data source must be publicly accessible, with SSL encryption enabled, and configured to accept connections from Internal’s IP addresses.

What happens when you connect

When you connect SQL Server to Internal, we'll generate the following for you automatically:

  1. A list, insert, update, and delete function for each table in the database (if the connecting user account has these privileges). List functions read data from your tables and allow you to display that data in components - think of these as prebuilt SQL queries, so you don't have to write queries for everything.



Functions will not be generated if no primary keys are found in the connected database.

Custom Functions

In some cases, you may want to create a view that combines data from various tables or elevates nested JSON fields to top-level attributes. To accomplish this, create a custom SQL Resource (a.k.a. SQL Query). To enable custom operations that write directly to your database (e.g. bulk actions), create a custom Function.

Filtering and Sorting

While Internal enables filtering and sorting on all columns (except box, circle, line, lseg, json, path, point, polygon, txid_snapshot, xml), we recommend indexing columns on large tables to improve performance. Supported operators include '=, !=, <, <=",">, >=, and IN for all data types. ILIKE is supported for char, varchar, nchar, and nvarchar only.</,>