ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

Loader MsSQL

Microsoft SQL Server (MsSQL) is a relational database management system designed to store and retrieve data as requested by other software applications, making it a powerful tool for managing and organizing large volumes of data. MsSQL employs a structured query language (SQL) to interact with databases, facilitating the creation, modification, and retrieval of data.

Setting up the loader in MI

MsSQL loader exports data to Microsoft SQL server database.


When connecting to an Azure database and using an SSH tunnel, the username must be in the format <username>@<databasename> instead of just <username> otherwise, it will throw errors.

Data In/ Data Out

Data In Upload all files in /data/in/files
Data Out N/A

Learn more: about the folder structure here.




Host (required) Name of server that hosts the database.
Port (required) The port number you want to access. 
Database (required) Name of the database.

Username (required)

Account name.
Password (required) Account password.


Enabled (optional) Checked if SSH required to connect to database. 
Private (optional) Private key. 
Public (optional) Public key.
SSH Host (optional) Name of SSH host.
SSH User (optional) Username of SSH Host. 


Input Table (required)

The name of the input table you want to load to the database. 
DB Table Name (required) The name of the table that will be created in the database. 
Export (optional)

By default, the setting is true, meaning this table is to be loaded into the database.

When "Export" is set to false, it signifies that the loader processes the data without actually sending it to the database while retaining the configuration settings.

Incremental (optional)

Signifies if you want to load the data by overwriting whatever is in database or incrementally.

Column (required)

Can be defined for table either when using incremental load, or not. 

Primary key constraint can be defined on multiple columns or one, but cannot contain NULL values. If incremental load is enabled, then only rows with new or updated records are inserted.

If the incremental load is disabled but primary keys are defined: full table is loaded (and will replace whatever is in destination database), but primary key columns will show as primary keys also in destination table structure.

Column Name (required) Refers to the column in the input CSV file.
DB Column Name (required) Refers to how this column will be named in the destination database.

Data Type (required)

The data type used in the column.

Size (optional)

The maximum number of digits used by the data type of the column or parameter.

Nullable (optional)

If checked, then the data with empty strings are loaded as NULL values in destination database (in this case is_nullable = YES).

If unchecked and data contains empty strings, then loader returns an error message. For example: “Cannot insert the value NULL into column XY, column does not allow nulls. INSERT fails.”

Warning: All columns listed as primary keys should have unchecked Nullable (is_nullable = NO), otherwise loader throws an error “Cannot define PRIMARY KEY constraint on nullable column”.

Default Value (optional)

The default value is inserted for empty values in the column. For example,  inserts NULLs in destination columns database for empty strings in csv file. - inserts - for empty strings.