Description:
The MSSQL Output File step is an ETL destination component that writes incoming datasets into a Microsoft SQL Server table.
Unlike file-based output components, this step persists transformed ETL data directly into a relational database where it can be consumed by business applications, reporting platforms, dashboards, integrations, and enterprise workflows.
The step uses a configured SQL Server connection, along with destination table information, to determine where records should be written. Depending on the configured operation mode, records can be inserted, updated, or both.
Typical configuration includes:
- SQL Server connection
- Destination table
- Automatic table creation
- Primary key selection
- Insert/update operation mode
During execution, the ETL engine receives each processed row from upstream transformations and writes it to the destination SQL Server table according to the configured operation mode.
If automatic table creation is enabled, FlowWright creates the destination table when it does not already exist. When a primary key is configured, duplicate records can be identified and updated instead of creating duplicate rows.
The MSSQL Output File step is typically the final component in an ETL pipeline.
The step supports:
- Microsoft SQL Server output
- Automatic table creation
- Insert operations
- Update operations
- Insert-and-update synchronization
- Primary key matching
- Enterprise ETL workflows
- Integration with FlowWright ETL pipelines
Typical business uses include:
- Data warehouse loading
- ERP synchronization
- CRM synchronization
- Customer master updates
- Reporting database population
- Operational database integration
- Enterprise data migration
Inputs
- SQL Server Connection – Specifies the SQL Server connection used to access the destination database.
- Table Name - Specifies the destination SQL Server table that will receive the ETL data.
- Create Table - Determines whether the destination table should be created automatically if it does not already exist.
- Primary Key - Identifies the column used to locate existing records during update operations.
- Operation Mode - Specifies how records are written to SQL Server, such as inserts only or inserts and updates.
Returns
- The MSSQL Output File step does not define explicit return paths.
Note: After all incoming rows have been successfully written to SQL Server, ETL execution completes. Database connectivity issues, permission problems, schema mismatches, or SQL execution errors are recorded in the ETL execution log.
Because this is an ETL destination component, it has no outgoing connections.
Usage:
The MSSQL Output File step is typically the final component within an ETL definition.
During execution:
- Incoming rows are received from upstream ETL components.
- The destination SQL Server table is verified.
- If configured, the destination table is created automatically.
- Each record is inserted or updated according to the configured operation mode.
- Database transactions complete before ETL execution finishes.
A typical ETL pipeline might look like this:

This workflow mirrors the uploaded ETL definition, where sales records are read from SQL Server, transformed to uppercase for selected text columns, and then written into a new SQL Server table using insert-and-update operations.
Typical usage scenarios include:
- Loading cleansed datasets into SQL Server
- Synchronizing customer master data
- Creating reporting tables
- Updating ERP staging tables
- Maintaining operational databases
- Building business intelligence repositories
- Migrating enterprise data
Prerequisite:
The ETL process engine service should be running to execute the ETL definitions.

Example:
Let’s build and execute the “clsInputMSSQLDBDef” example.
- Create a new ETL definition named “clsInputMSSQLDBDef” and open it in designer mode.
- Drag the “clsInputMSSQLDB, clsTransformCase, and clsOutputMSSQLDB” steps to the canvas.
- Connect the dots between the “clsInputMSSQLDB” and other steps, as shown above.
- Define a variable or a global variable to hold the virtual path.
- Click the "clsInputMSSQLDB" step to configure its "Required" properties. Provide a name for the step. Select the SQL connection from the drop-down list. Enter the SELECT SQL statement. Select the data schema from the drop-down list that matches the SQL result set. Click the Save button. Click here to learn about ETL Data Schema Designer.

- The data schema is provided here for reference.

- Click the "clsTransformCase" step to configure its "Required" properties. Enter the step name. Click the button to configure the case transform list. Then click the Save button.

- Click the button to configure the case transform list. The pop-up window opens for configuration. Click the Add Row (+) button to insert an empty row. Select the column and case type from the drop-down list. Click the Save button. Click the Add Row button to insert multiple columns for case transform.

- Click the "clsOutputMSSQLDB" step to configure its "Required" properties. Provide a name for the step. Select the SQL connection from the drop-down list. Specify the table name to create and store in the connection's database. Select “Yes” to create a new table. Select the primary key column from the drop-down list. Select the database operation from the drop-down list. Click the Save button.

- Select the database operation from the drop-down list. You may configure the step to perform Insert, Update, Insert and Update, Delete, or Replace All. Click the Save button.

- The “Logging” configuration is necessary for documentation and also measures workflow progress and percent complete. This is achieved by configuring the step state and percent fields individually, as shown below. Configure the “Logging” using the following properties.

- Save the ETL definition, create a new instance, and execute it. Render the ETL instance. Click the ETL step to view its properties. The “clsInputMSSQLDB” step should input the MSSQL DB file for transformation. The SQL table is immediately available for reporting, dashboards, analytics, integrations, and downstream enterprise applications.

- The source SQL record set used for case transformation is provided here for reference.

- The case-transformed SQL result set is provided here for reference.

Tips:
- Define an appropriate primary key to prevent duplicate records.
- Enable Create Table during initial deployments or development environments.
- Disable automatic table creation in production when database schemas are managed separately.
- Ensure the FlowWright service account has INSERT and UPDATE permissions on the destination database.
- Validate incoming datasets before writing to SQL Server.
- Consider indexing frequently queried columns after loading large datasets.
- Use transactions and appropriate batching strategies for very large ETL operations.
- Combine this step with Validate Data, Transform Text Case, Transform Date by Format, Group By Transform, Sorting Transform, MSSQL Input File, or Filter with Conditions to build complete enterprise ETL workflows.
Notes:
- This component requires a valid Microsoft SQL Server connection.
- The destination table must exist unless Create Table is enabled.
- The selected primary key is used during update operations.
- Operation mode determines whether rows are inserted, updated, or both.
- Database schema mismatches may prevent successful execution.
- SQL Server permissions must allow the configured database operations.
- Because this is an ETL destination component, it has no outgoing connections.
- Execution statistics, database errors, and write failures are recorded in the ETL execution log.
MSSQL Output File vs. SQL Output File:
Both components write ETL datasets into relational databases, but they are intended for different deployment scenarios.
| MSSQL Output File | SQL Output File |
|---|---|
| Optimized for Microsoft SQL Server. | May support other SQL-compatible database providers depending on configuration. |
| Supports SQL Server-specific connection management. | Supports generic SQL database integrations. |
| Frequently used with Microsoft enterprise environments. | Used when ETL pipelines target multiple relational database platforms. |
| Ideal for SQL Server reporting databases, ERP systems, and Microsoft-based enterprise solutions. | Ideal for heterogeneous database environments. |
As a general guideline:
- Use MSSQL Output File when the destination database is Microsoft SQL Server.
- Use SQL Output File when building ETL solutions that target other supported relational database platforms.
Definition Sample:
You may download the sample ETL definition(s) from the link provided and later import them into your FlowWright ETL Designer.
Note: Verify and complete any missing configuration after importing the sample, including:
- SQL Server connection
- Destination database
- Table name
- Primary key selection
- Create Table option
- Operation mode
- Database permissions
- Destination schema validation
After verifying the configuration, save the ETL Definition before execution.