Prerequisites
- A SQL Server database (SQL Server 2017 or later recommended) that is accessible over the network
- The database host, port, name, username, and password
- A VexiData account
Connect SQL Server to VexiData
Gather your connection details
You need six pieces of information to connect. If you set up SQL Server yourself, you’ll already know these. If someone else manages the database, ask your database administrator.
| Parameter | Description | Default |
|---|---|---|
| Host | The hostname or IP address of your SQL Server | localhost |
| Port | The port SQL Server is listening on | 1433 |
| Database | The name of the database you want to query | master |
| Schema | The schema containing your tables | dbo |
| Username | A SQL Server login with access to the database | sa |
| Password | The password for that login | — |
Allow VexiData through your firewall (if applicable)
If your SQL Server is behind a firewall or only accepts connections from specific IPs, add VexiData’s IP addresses:
139.59.53.167165.22.217.42
- Azure — Azure SQL Database firewall rules or Network Security Groups
- AWS — Security Groups on the RDS instance or EC2 server
- Self-hosted (Windows) — Windows Firewall with Advanced Security
- Self-hosted (Linux) — Your OS firewall (e.g.,
ufw,iptables)
If your database is only accessible from
localhost or a private network, you’ll need to either expose it to the internet or set up an SSH tunnel. VexiData requires a direct TCP connection to your database.Verify SQL Server accepts remote connections
By default, SQL Server may not accept remote TCP connections. If your database is on a remote server, make sure it’s configured correctly:Also verify that SQL Server Authentication is enabled (mixed mode):
- Open SQL Server Configuration Manager
- Navigate to SQL Server Network Configuration > Protocols for [your instance]
- Ensure TCP/IP is Enabled
- Right-click TCP/IP > Properties > IP Addresses tab, and verify the port is
1433(or note your custom port) - Restart the SQL Server service for changes to take effect
If you’re using a named instance (e.g.,
MYSERVER\SQLEXPRESS), the port may not be 1433. Check the actual port in SQL Server Configuration Manager or use 1433 with the SQL Server Browser service running.- In SQL Server Management Studio (SSMS), right-click the server > Properties
- Go to Security and select SQL Server and Windows Authentication mode
- Restart the SQL Server service
Managed database services (Azure SQL Database, AWS RDS, Google Cloud SQL) handle this automatically. You only need this step for self-hosted SQL Server.
Add the connection in VexiData
- Go to Data Sources in VexiData
- Click SQL Server to open the connection form
- Fill in the details:
| Field | Value |
|---|---|
| Display Name | A name to identify this connection (e.g., “Production DB”) |
| Host | Your server’s hostname or IP address |
| Port | 1433 (or your custom port) |
| Database | Your database name |
| Schema | dbo (default — change if your tables are in a different schema) |
| Username | Your SQL Server login |
| Password | Your SQL Server password |
Creating a read-only user (recommended)
For security, we recommend connecting VexiData with a dedicated read-only login instead of your admin or application user. This ensures VexiData can only read data, never modify it.Troubleshooting
Connection timed out
Connection timed out
This means VexiData can’t reach your server. Check:
- Your firewall allows inbound connections on port
1433from VexiData’s IPs - TCP/IP is enabled in SQL Server Configuration Manager
- Your server has a public IP or hostname that resolves correctly
- If on a cloud VM, the Security Group / firewall rules allow traffic on port
1433
Authentication failed
Authentication failed
- Verify the username and password are correct
- SQL Server must be in mixed authentication mode (SQL Server and Windows Authentication) for VexiData to connect. Windows Authentication alone won’t work
- If using a dedicated login, confirm it was created with
CREATE LOGINand has a matching database user
Named instance: wrong port
Named instance: wrong port
If you’re connecting to a named instance (e.g.,
MYSERVER\SQLEXPRESS), the port may not be 1433. Find the actual port in SQL Server Configuration Manager under TCP/IP Properties > IP Addresses > IPAll > TCP Port. Enter this port in VexiData instead of 1433.No tables visible after connecting
No tables visible after connecting
- Check that your tables are in the
dboschema. If they’re in a custom schema (e.g.,apporsales), update the Schema field in VexiData - Verify your user has
SELECTpermissions:GRANT SELECT ON SCHEMA::dbo TO your_user; - Run
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES;to confirm tables exist
SSL / TLS connection errors
SSL / TLS connection errors
- SQL Server 2022+ enforces TLS by default. VexiData handles this automatically
- For older versions, verify that your server has a valid SSL certificate configured
- If you see “certificate not trusted” errors, check that your server’s certificate chain is complete