Connector Details
Tap MSSQL
Config
tap-mssql requires the following connection parameters to be specified in the config:
Example ETL Script
Optional config flags
The sqlalchemy_url_query Option
When using pyodbc as the driver_type, you can pass ODBC-specific options. This is useful when connecting via Azure Active Directory or when certificate trust settings are required:
The sqlalchemy_eng_params Option
Enable fast_executemany to significantly reduce round trips to the server and improve bulk insert performance:
Connecting to Microsoft Fabric Warehouse
Use an Entra service principal to connect to Microsoft Fabric Warehouse — no username/password required.
1. Register an app in Entra ID
- Navigate to the Azure Portal and go to Azure Active Directory → App registrations → New registration
- Give the app a name (e.g.,
tap-mssql-fabric) and select Single tenant - Click Register
2. Get your Client ID
- On the app’s Overview page, copy the Application (client) ID
- This value will be used as
userin the tap config
3. Create a client secret
- Go to Manage → Certificates & secrets → New client secret
- Add a description and choose an expiry period, then click Add
- Copy the secret Value immediately — it is only shown once and will be used as
passwordin the tap config
4. Grant the app access to Fabric
- Open your workspace in Microsoft Fabric
- Add the app as a member with at minimum a Viewer role
- Confirm the app has access to both the workspace and the specific database in your config
5. Get the warehouse host
- In Microsoft Fabric, open your workspace and select the Warehouse
- Go to Settings (gear icon) → SQL Endpoint
- Copy the SQL connection string — it follows this format:
<warehouse-id>.datawarehouse.fabric.microsoft.com
Config for Fabric with Entra service principal
Target MSSQL
target-mssql is a Singer Target that loads data from your integrations into a Microsoft SQL Server database.
Config
You can configure the target using one of two approaches:Option 1: Connection String
Use a single connection string that includes all database details:Option 2: Individual Connection Parameters
Specify each connection detail separately:Additional Settings
Per-Stream Configuration
For advanced control over specific tables, create atarget-tables-config.json in the directory specified by input_path.
Configuration Examples
Basic Setup
With Per-Stream Control
target-tables-config.json in ./etl-output: